Eine NestJS-Bibliothek zum Erstellen effizienter, skalierbarer und schneller Lösungen mithilfe der OpenAI Assistant API (Chatbots).
Starten Sie Ihre KI-Assistenten-Entwicklung in weniger als 15 Minuten
Einführung in die NestJS-Bibliothek. Egal, ob Sie einen virtuellen Assistenten oder einen interaktiven Chatbot für ansprechende Benutzererlebnisse erstellen, unsere Bibliothek ermöglicht es Ihnen, modernste KI-Funktionen mit minimalem Aufwand zu nutzen.
Die Bibliothek stellt gebrauchsfertige API-Endpunkte bereit, die Ihren Assistenten und WebSocket-Server für die Echtzeitkommunikation zwischen dem Client und dem Assistenten verwalten. Installieren Sie die Bibliothek und fügen Sie die Konfiguration ein, um sie zum Laufen zu bringen.
Video – KI-Assistent in 15 Min
Das Repository enthält eine Bibliothek, bietet aber auch zusätzliche Funktionen. Sie können das Repository einfach klonen und sofort verwenden, um alle Funktionen zu nutzen:
In diesem Abschnitt erfahren Sie, wie Sie die AI Assistant-Bibliothek in Ihre NestJS-Anwendung integrieren. Die folgenden Schritte führen Sie durch den Prozess der Einrichtung der Bibliothek und der Erstellung einfacher Funktionalitäten.
^20.0.0
)^10.0.0
Version)^10.0.0
)^4.51.0
)Öffnen oder erstellen Sie Ihre NestJS-Anwendung, in die Sie den AI Assistant integrieren möchten. Um eine neue NestJS-Anwendung zu erstellen, verwenden Sie den folgenden Befehl:
nest new project-name
Jetzt müssen Sie die Pakete installieren. Fahren Sie mit dem nächsten Schritt fort.
Stellen Sie sicher, dass Sie sich im Stammverzeichnis Ihres Projekts befinden. Installieren Sie die Bibliothek und openai
-Paket mit npm:
npm i @boldare/openai-assistant openai --save
Die Bibliothek ist installiert, aber wir müssen sie konfigurieren. Fahren Sie mit dem nächsten Schritt fort.
Richten Sie Ihre Umgebungsvariablen ein, erstellen Sie Umgebungsvariablen in der .env
Datei im Stammverzeichnis des Projekts und füllen Sie sie mit den erforderlichen Geheimnissen. Die Assistenten-ID ist optional und dient als eindeutige Kennung für Ihren Assistenten. Wenn die Umgebungsvariable nicht festgelegt ist, wird der Assistent automatisch erstellt. Mit der Assistenten-ID können Sie eine Verbindung zu einem vorhandenen Assistenten herstellen, der nach dem Erstellen eines Assistenten auf der OpenAI-Plattform zu finden ist.
Erstellen Sie eine .env
Datei im Stammverzeichnis Ihres Projekts und füllen Sie sie mit den erforderlichen Geheimnissen:
touch .env
Fügen Sie der .env
Datei den folgenden Inhalt hinzu:
# OpenAI API Key
OPENAI_API_KEY =
# Assistant ID - leave it empty if you don't have an assistant to reuse
ASSISTANT_ID =
Bitte beachten Sie, dass die .env
Datei nicht im Repository festgeschrieben werden sollte. Fügen Sie die .env
Datei zur .gitignore
Datei hinzu, um zu verhindern, dass sie festgeschrieben wird.
Dies war der erste Schritt, der zum Betrieb der Bibliothek erforderlich war. Der nächste Schritt besteht darin, den Assistenten zu konfigurieren.
Die Bibliothek bietet eine Möglichkeit, den Assistenten mit der Methode AssistantModule.forRoot
zu konfigurieren. Die Methode verwendet ein Konfigurationsobjekt als Argument. Erstellen Sie eine neue Konfigurationsdatei wie in einer Beispielkonfigurationsdatei (chat.config.ts) und füllen Sie diese mit der erforderlichen Konfiguration.
// 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' ] ,
} ,
} ,
} ;
Weitere Details zur Konfiguration finden Sie im Wiki.
Von nun an können Sie Ihre Anwendung ausführen und den Assistenten anrufen.
Durch Funktionsaufrufe können Sie die Fähigkeiten des Assistenten mit benutzerdefinierter Logik erweitern. Wenn Sie keinen Funktionsaufruf verwenden, können Sie mit Schritt 5: Testen fortfahren.
Erstellen Sie einen neuen Dienst, der die AgentBase
-Klasse erweitert, füllen Sie die Definition aus und implementieren Sie die output
.
output
ist die Hauptmethode, die aufgerufen wird, wenn die Funktion vom Assistenten aufgerufen wird.definition
ist ein Objekt, das die Funktion und ihre Parameter beschreibt, damit der Assistent verstehen kann, wie sie aufgerufen wird.Weitere Informationen zum Funktionsaufruf finden Sie in der OpenAI-Dokumentation.
Die Anleitung zum Erstellen einer Funktion finden Sie im Wiki, Beispiele finden Sie im Agentenverzeichnis.
Wenn Sie eine Funktion und die Ausgabemethode definiert haben, können Sie diese nun vom Assistenten aufrufen, indem Sie ihn einfach bitten, die in der Funktionsdefinition beschriebene Aktion auszuführen.
Führen Sie Ihre Anwendung aus und Sie können so den Assistenten testen.
# 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
Dann können Sie den Assistenten testen.
/assistant/threads
mit dem leeren Objekt im Text senden./assistant/chat
senden: {
"threadId" : " your-thread-id " ,
"content" : " Hello, how are you? "
}
/assistant/chat
senden.Glückwunsch! Sie haben die AI Assistant-Bibliothek erfolgreich in Ihre NestJS-Anwendung integriert. ?
Die vollständige Dokumentation zum Ausführen der Demo mit allen Anwendungen und Bibliotheken aus dem Repository finden Sie im Wiki.
Die Ingenieure von Boldare sind für Sie da. Wenn Sie Fragen haben oder Hilfe bei der Implementierung benötigen, vereinbaren Sie gerne einen Anruf mit einem unserer Ingenieure.
Erfahren Sie mehr, wie Boldare Sie bei der KI-Entwicklung unterstützen kann .
Sie können auch Fragen im Abschnitt „GitHub-Diskussionen“ stellen.
Möchten Sie neue Funktionen in der Bibliothek sehen?
@boldare/openai-assistant
und dieses Repository ist MIT-lizenziert