Une bibliothèque NestJS pour créer des solutions efficaces, évolutives et rapides à l'aide de l'API OpenAI Assistant (chatbots).
Démarrez le développement de votre AI Assistant en moins de 15 minutes
Présentation de la bibliothèque NestJS. Que vous créiez un assistant virtuel ou un chatbot interactif pour des expériences utilisateur engageantes, notre bibliothèque vous permet d'exploiter les capacités d'IA de pointe avec un minimum d'effort.
La bibliothèque fournit des points de terminaison API prêts à l'emploi gérant votre assistant et votre serveur WebSocket pour une communication en temps réel entre le client et l'assistant. Installez la bibliothèque et collez la configuration pour la faire fonctionner.
Vidéo - Assistant IA en 15 min
Le référentiel contient une bibliothèque mais fournit également des fonctionnalités supplémentaires. Vous pouvez simplement cloner le référentiel et l'utiliser instantanément pour bénéficier de toutes les fonctionnalités :
Dans cette section, vous apprendrez comment intégrer la bibliothèque AI Assistant dans votre application NestJS. Les étapes suivantes vous guideront tout au long du processus de configuration de la bibliothèque et de création de fonctionnalités simples.
^20.0.0
)^10.0.0
)^10.0.0
)^4.51.0
)Ouvrez ou créez votre application NestJS dans laquelle vous souhaitez intégrer l'AI Assistant. Pour créer une nouvelle application NestJS, utilisez la commande suivante :
nest new project-name
Vous devez maintenant installer les packages. Passez à l'étape suivante.
Assurez-vous que vous êtes dans le répertoire racine de votre projet. Installez la bibliothèque et le package openai
à l'aide de npm :
npm i @boldare/openai-assistant openai --save
La bibliothèque est installée mais il faut la configurer. Passez à l'étape suivante.
Configurez vos variables d'environnement, créez des variables d'environnement dans le fichier .env
dans le répertoire racine du projet et remplissez-le avec les secrets nécessaires. L'identifiant de l'assistant est facultatif et sert d'identifiant unique pour votre assistant. Lorsque la variable d'environnement n'est pas définie, l'assistant sera créé automatiquement. Vous pouvez utiliser l'ID d'assistant pour vous connecter à un assistant existant, qui peut être trouvé sur la plateforme OpenAI après avoir créé un assistant.
Créez un fichier .env
dans le répertoire racine de votre projet et remplissez-le avec les secrets nécessaires :
touch .env
Ajoutez le contenu suivant au fichier .env
:
# OpenAI API Key
OPENAI_API_KEY =
# Assistant ID - leave it empty if you don't have an assistant to reuse
ASSISTANT_ID =
Veuillez noter que le fichier .env
ne doit pas être validé dans le référentiel. Ajoutez le fichier .env
au fichier .gitignore
pour empêcher sa validation.
C'était la première étape nécessaire pour faire fonctionner la bibliothèque. L'étape suivante consiste à configurer l'assistant.
La bibliothèque fournit un moyen de configurer l'assistant avec la méthode AssistantModule.forRoot
. La méthode prend un objet de configuration comme argument. Créez un nouveau fichier de configuration comme dans un exemple de fichier de configuration (chat.config.ts) et remplissez-le avec la configuration nécessaire.
// 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' ] ,
} ,
} ,
} ;
Plus de détails sur la configuration peuvent être trouvés dans le wiki.
A partir de maintenant, vous pouvez exécuter votre application et appeler l'assistant.
L'appel de fonction vous permet d'étendre les capacités de l'assistant avec une logique personnalisée. Si vous n'utilisez pas l'appel de fonction, vous pouvez accéder à : Étape 5 : Test.
Créez un nouveau service qui étend la classe AgentBase
, remplissez la définition et implémentez la méthode output
.
output
est la méthode principale qui sera appelée lorsque la fonction sera invoquée par l'assistant.definition
est un objet qui décrit la fonction et ses paramètres afin que l'assistant puisse comprendre comment l'appeler.Pour plus d'informations sur les appels de fonctions, vous pouvez vous référer à la documentation OpenAI.
Les instructions pour créer une fonction peuvent être trouvées dans le wiki, tandis que des exemples peuvent être trouvés dans le répertoire des agents.
Si vous avez défini une fonction et la méthode de sortie, vous pouvez désormais l'appeler depuis l'assistant simplement en lui demandant d'effectuer l'action décrite dans la définition de la fonction.
Exécutez votre application et cela vous permettra de tester l'assistant.
# 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
Ensuite, vous pouvez tester l'assistant.
/assistant/threads
avec l' objet vide dans le body ./assistant/chat
avec le corps suivant : {
"threadId" : " your-thread-id " ,
"content" : " Hello, how are you? "
}
/assistant/chat
avec le même corps qu'à l'étape 2.Bravo! Vous avez intégré avec succès la bibliothèque AI Assistant dans votre application NestJS. ?
La documentation complète sur la façon d'exécuter la démo avec toutes les applications et bibliothèques du référentiel peut être trouvée sur le wiki.
Les ingénieurs de Boldare sont là pour vous aider. Si vous avez des questions ou avez besoin d'aide pour la mise en œuvre, n'hésitez pas à prendre rendez-vous avec l'un de nos ingénieurs.
Découvrez comment Boldare peut vous aider dans le développement de l'IA .
Vous pouvez également poser des questions dans la section Discussions GitHub.
Souhaitez-vous voir de nouvelles fonctionnalités dans la bibliothèque ?
@boldare/openai-assistant
et ce référentiel est sous licence MIT