- Módulo para el Procesamiento de Lenguaje Natural de código abierto (GPT-J-6B).
- Crear un entorno de trabajo a través de algún IDE
- Clonar el Proyecto (
git clone https://github.com/andresWeitzel/Api_GPT-J_NLP_NodeJs
) - Dentro del directorio instalar todos los plugins implementados
npm install @banana-dev/banana-dev@3.0.0
Ejecución del Paquete del Proyecto (npm)
- Crear un entorno de trabajo a través de algún IDE
- Crear un Nuevo Proyecto para implementar dicho módulo
- Instalar dicha librería
npm i gpt-j
- Crear un .js para el uso de la misma, importar, definir keys y ejecutar
const modelRunner = require('gpt-j');
const apiKey = 'XXXX'
const modelKey = 'gptj'
modelRunner.run('hola',apiKey,modelKey);
- Para mayor seguridad se pueden implementar variables de entorno para la key..
- Creamos un archivo llamado
config.js
y seteamos dicha key
module.exports={
API_KEY: process.env.API_KEY || "xxxx",
}
- La implementamos en el archivo principal
const config = require('config.js');
const modelRunner = require('gpt-j');
//keys
const apiKey = config.API_KEY;
const modelKey = 'gptj'
modelRunner.run('hola',apiKey,modelKey);
- IMPORTANTE : Crear un archivo
.gitignore
para excluir el archivoconfig.js
- (El Core con el modelo No optimizado pesa 6gb. Con el Modelo Optimizado 61gb).
- Repositorio
- Corresponde a la capa de entrada que el modelo analizará (Ej:
generate two functions in javascript
)
- La longitud del texto de salida se mide en tokens, estos son secuencias de carácteres comunes, que se encuentran a través del core del modelo.
- Cuanto mayor sea el número, mayor texto e información obtendremos en la salida.
- La temperatura determina la exhaustividad del modelo generativo.
- Establecer valores de temperatura bajos conlleva a un módelo más seguro.
- Establecer valores de temperatura altos conlleva a un módelo más inestable.
- Se implementa para rendimiento de GPU.
"text": "i want to know the current temperature",
"length": 250,
"temperature": 0.9,
"batchSize": 1
module.exports.set = (text,length,temp,batch) =>{
const params = {
"text": text,
"length": length,
"temperature": temp,
"batchSize": batch
}
return params;
}
- Input :
Quiero saber la Temperatura Actual en Buenos Aires, Argentina
//Imports
const gptCore = require('@banana-dev/banana-dev');
const config = require('../configs/config.js');
const modelParameters = require('../models/modelParameters');
//keys
const apiKey = config.API_KEY;
const modelKey = config.MODEL_KEY;
//Params
let text = "Quiero saber la Temperatura Actual en Buenos Aires, Argentina"
let length = 400
let temperature = 0.7
let batchSize = 1
let params = modelParameters.set(text,length,temperature, batchSize);
let run = async (params) => {
try {
var out = await gptCore.run(apiKey, modelKey, params)
console.log(out)
return out
} catch (error) {
console.log(error);
}
}
run(params)
message: 'success',
created: 1668961622,
apiVersion: '26 Nov 2021',
modelOutputs: [
{
output: '\n' +
'\n' +
'Buenos Aires tiene una temperatura muy alta en el verano. Si eres una persona que vive en la Argentina y te gustaría saber cuál es el ritmo de calor que tienes en Buenos Aires, te presento mi método para saber la temperatura actual en Buenos Aires.\n' +
'\n' +
'No necesitas un GPS para saber la temperatura actual\n' +
'\n' +
'Sí, es cierto, puedes conocer la temperatura actual en cualquier punto de la ciudad en pocos segundos. Toda la información que necesitas está en las siguientes tablas.\n' +
'\n' +
'Para saber la temperatura actual en Buenos Aires, necesitas saber la temperatura de la zona de la ciudad donde estás ahora. Si eres en la ciudad, el ritmo de calor en Buenos Aires es bastante similar. Sin embargo, si eres en un punto de la ciudad fuera del centro, la temperatura será más alta.\n' +
'\n' +
'Para saber la temperatura de la zona donde estás ahora, simplemente debes saber tu punto de ubicación. Por ejemplo, si eres en la ciudad de Buenos Aires, entonces debes saber tu punto de ubicación para saber la temperatura de Buenos Aires.\n' +
'\n' +
'Para saber tu punto de ubicación, no necesitas un GPS. Sólo necesitas saber
tu dirección y tu velocidad. La dirección y la velocidad son las dos coordenadas de tu posición.',
input: 'Quiero saber la Temperatura Actual en Buenos Aires, Argentina'
}
],
callID: 'call_4a3b9440-fcb6-4122-b269-6ac55a46c3eb'
}