Una biblioteca NestJS para crear soluciones eficientes, escalables y rápidas utilizando la API OpenAI Assistant (chatbots).
Inicie el desarrollo de su asistente de IA en menos de 15 minutos
Presentamos la biblioteca NestJS. Ya sea que esté creando un asistente virtual o un chatbot interactivo para experiencias de usuario atractivas, nuestra biblioteca le permite aprovechar las capacidades de IA de vanguardia con un mínimo esfuerzo.
La biblioteca proporciona puntos finales API listos para usar que manejan su asistente y el servidor WebSocket para la comunicación en tiempo real entre el cliente y el asistente. Instale la biblioteca y pegue la configuración para que funcione.
Vídeo: Asistente de IA en 15 min
El repositorio contiene una biblioteca pero también proporciona funciones adicionales. Puedes simplemente clonar el repositorio y usarlo instantáneamente para aprovechar todas las funciones:
En esta sección, aprenderá cómo integrar la biblioteca AI Assistant en su aplicación NestJS. Los siguientes pasos lo guiarán a través del proceso de configuración de la biblioteca y creación de funcionalidades simples.
^20.0.0
)^10.0.0
)^10.0.0
)^4.51.0
)Abra o cree su aplicación NestJS donde le gustaría integrar AI Assistant. Para crear una nueva aplicación NestJS, utilice el siguiente comando:
nest new project-name
Ahora tienes que instalar los paquetes. Vaya al siguiente paso.
Asegúrese de estar en el directorio raíz de su proyecto. Instale la biblioteca y el paquete openai
usando npm:
npm i @boldare/openai-assistant openai --save
La biblioteca está instalada pero tenemos que configurarla. Vaya al siguiente paso.
Configure sus variables de entorno, cree variables de entorno en el archivo .env
en el directorio raíz del proyecto y complételo con los secretos necesarios. La identificación del asistente es opcional y sirve como identificador único para su asistente. Cuando la variable de entorno no está configurada, el asistente se creará automáticamente. Puede utilizar la ID del asistente para conectarse a un asistente existente, que se puede encontrar en la plataforma OpenAI después de crear un asistente.
Cree un archivo .env
en el directorio raíz de su proyecto y complételo con los secretos necesarios:
touch .env
Agregue el siguiente contenido al archivo .env
:
# OpenAI API Key
OPENAI_API_KEY =
# Assistant ID - leave it empty if you don't have an assistant to reuse
ASSISTANT_ID =
Tenga en cuenta que el archivo .env
no debe enviarse al repositorio. Agregue el archivo .env
al archivo .gitignore
para evitar que se confirme.
Este fue el primer paso necesario para ejecutar la biblioteca. El siguiente paso es configurar el asistente.
La biblioteca proporciona una manera de configurar el asistente con el método AssistantModule.forRoot
. El método toma un objeto de configuración como argumento. Cree un nuevo archivo de configuración como en un archivo de configuración de muestra (chat.config.ts) y rellénelo con la configuración necesaria.
// chat.config.ts file
import { AssistantConfigParams } from '@boldare/openai-assistant' ;
import { AssistantCreateParams } from 'openai/resources/beta' ;
// Default OpenAI configuration
export const assistantParams : AssistantCreateParams = {
name : 'Your assistant name' ,
instructions : `You are a chatbot assistant. Speak briefly and clearly.` ,
tools : [ { type : 'file_search' } ] ,
model : 'gpt-4-turbo' ,
temperature : 0.05 ,
} ;
// Additional configuration for our assistant
export const assistantConfig : AssistantConfigParams = {
id : process . env [ 'ASSISTANT_ID' ] ,
params : assistantParams ,
filesDir : './apps/api/src/app/knowledge' ,
toolResources : {
file_search : {
// Provide files if you use file_search tool
fileNames : [ 'example1.txt' , 'example2.txt' ] ,
} ,
} ,
} ;
Se pueden encontrar más detalles sobre la configuración en la wiki.
A partir de ahora puedes ejecutar tu aplicación y llamar al asistente.
La llamada a funciones le permite ampliar las capacidades del asistente con lógica personalizada. Si no va a utilizar llamadas a funciones, puede saltar a: Paso 5: Prueba.
Cree un nuevo servicio que extienda la clase AgentBase
, complete la definición e implemente el método output
.
output
es el método principal que se llamará cuando el asistente invoque la función.definition
es un objeto que describe la función y sus parámetros para que el asistente pueda entender cómo llamarla.Para obtener más información sobre la llamada a funciones, puede consultar la documentación de OpenAI.
Las instrucciones para crear una función se pueden encontrar en la wiki, mientras que los ejemplos se pueden encontrar en el directorio de agentes.
Si ha definido una función y el método de salida, ahora puede llamarla desde el asistente simplemente pidiéndole que realice la acción descrita en la definición de la función.
Ejecute su aplicación y esto le permitirá probar el asistente.
# use this if you are using the repository:
npm run start:dev
# if you are using your own NestJS application, please check the npm scripts in the package.json file
# defualt command for NestJS is:
npm run start
Entonces puedes probar el asistente.
/assistant/threads
con el objeto vacío en el cuerpo ./assistant/chat
con el siguiente cuerpo: {
"threadId" : " your-thread-id " ,
"content" : " Hello, how are you? "
}
/assistant/chat
con el mismo cuerpo que en el paso 2.¡Felicitaciones! Ha integrado con éxito la biblioteca AI Assistant en su aplicación NestJS. ?
La documentación completa sobre cómo ejecutar la demostración con todas las aplicaciones y bibliotecas del repositorio se puede encontrar en la wiki.
Los ingenieros de Boldare están aquí para ayudarle. Si tiene alguna pregunta o necesita ayuda con la implementación, no dude en programar una llamada con uno de nuestros ingenieros.
Obtenga más información sobre cómo Boldare puede ayudarle con el desarrollo de la IA .
También puede hacer preguntas en la sección Discusiones de GitHub.
¿Le gustaría ver nuevas funciones en la biblioteca?
@boldare/openai-assistant
y este repositorio tiene licencia del MIT