OpenAI Assistant API (チャットボット) を使用して、効率的でスケーラブルで高速なソリューションを構築するための NestJS ライブラリ。
15 分以内に AI アシスタントの開発を開始できます
NestJS ライブラリの紹介。仮想アシスタントを構築している場合でも、魅力的なユーザー エクスペリエンスを実現する対話型チャットボットを構築している場合でも、当社のライブラリを使用すると、最小限の労力で最先端の AI 機能を活用できるようになります。
このライブラリは、アシスタントと、クライアントとアシスタント間のリアルタイム通信のための WebSocket サーバーを処理する、すぐに使用できる API エンドポイントを提供します。ライブラリをインストールし、設定を貼り付けて実行します。
ビデオ - 15 分の AI アシスタント
リポジトリにはライブラリが含まれていますが、追加機能も提供します。リポジトリのクローンを作成するだけで、すぐに使用してすべての機能を利用できます。
このセクションでは、AI Assistant ライブラリを NestJS アプリケーションに統合する方法を学習します。次の手順では、ライブラリをセットアップし、簡単な機能を作成するプロセスを説明します。
^20.0.0
バージョン)^10.0.0
バージョン)^10.0.0
バージョン)^4.51.0
バージョン)AI アシスタントを統合する NestJS アプリケーションを開くか作成します。新しい NestJS アプリケーションを作成するには、次のコマンドを使用します。
nest new project-name
次に、パッケージをインストールする必要があります。次のステップに進みます。
プロジェクトのルート ディレクトリにいることを確認してください。 npm を使用してライブラリとopenai
パッケージをインストールします。
npm i @boldare/openai-assistant openai --save
ライブラリはインストールされていますが、設定する必要があります。次のステップに進みます。
環境変数を設定し、プロジェクトのルート ディレクトリにある.env
ファイルに環境変数を作成し、必要なシークレットを設定します。アシスタント ID はオプションであり、アシスタントの一意の識別子として機能します。環境変数が設定されていない場合、アシスタントは自動的に作成されます。アシスタント ID を使用して、既存のアシスタントに接続できます。このアシスタントは、アシスタントを作成した後に OpenAI プラットフォームで見つかります。
プロジェクトのルート ディレクトリに.env
ファイルを作成し、必要なシークレットを設定します。
touch .env
次のコンテンツを.env
ファイルに追加します。
# OpenAI API Key
OPENAI_API_KEY =
# Assistant ID - leave it empty if you don't have an assistant to reuse
ASSISTANT_ID =
.env
ファイルはリポジトリにコミットしないでください。 .env
ファイルを.gitignore
ファイルに追加して、ファイルがコミットされないようにします。
これは、ライブラリを実行するために必要な最初のステップでした。次のステップは、アシスタントを構成することです。
このライブラリは、 AssistantModule.forRoot
メソッドを使用してアシスタントを構成する方法を提供します。このメソッドは構成オブジェクトを引数として受け取ります。サンプル構成ファイル (chat.config.ts) と同様に新しい構成ファイルを作成し、必要な構成を入力します。
// 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' ] ,
} ,
} ,
} ;
構成の詳細については、wiki を参照してください。
これで、アプリケーションを実行してアシスタントを呼び出すことができます。
関数呼び出しを使用すると、カスタム ロジックを使用してアシスタントの機能を拡張できます。関数呼び出しを使用しない場合は、ステップ 5: テストに進んでください。
AgentBase
クラスを拡張する新しいサービスを作成し、定義を入力して、 output
メソッドを実装します。
output
メソッドは、アシスタントによって関数が呼び出されたときに呼び出されるメイン メソッドです。definition
プロパティは、アシスタントが関数の呼び出し方法を理解できるように、関数とそのパラメーターを説明するオブジェクトです。関数呼び出しの詳細については、OpenAI のドキュメントを参照してください。
関数の作成手順は wiki にあり、例はエージェント ディレクトリにあります。
関数と出力メソッドを定義した場合は、関数定義に記述されているアクションを実行するようにアシスタントに指示するだけで、アシスタントからその関数を呼び出すことができます。
アプリケーションを実行すると、アシスタントをテストできるようになります。
# 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
その後、アシスタントをテストできます。
/assistant/threads
エンドポイントに送信します。/assistant/chat
エンドポイントに送信することで、アシスタントにメッセージを送信できます。 {
"threadId" : " your-thread-id " ,
"content" : " Hello, how are you? "
}
/assistant/chat
エンドポイントに送信することで、アシスタントにさらにメッセージを送信できます。おめでとうございます! AI Assistant ライブラリが NestJS アプリケーションに正常に統合されました。 ?
リポジトリのすべてのアプリケーションとライブラリを使用してデモを実行する方法に関する完全なドキュメントは、Wiki にあります。
Boldare のエンジニアがお手伝いします。ご質問がある場合、または実装に関してサポートが必要な場合は、お気軽に当社のエンジニアに電話でご予約ください。
Boldare が AI 開発にどのように役立つかを詳しくご覧ください。
GitHub ディスカッション セクションで質問することもできます。
ライブラリの新機能を確認しますか?
@boldare/openai-assistant
およびこのリポジトリは MIT ライセンスを取得しています