一個 NestJS 庫,用於使用 OpenAI Assistant API(聊天機器人)建立高效、可擴展且快速的解決方案。
在 15 分鐘內啟動您的 AI Assistant 開發
介紹 NestJS 庫。無論您是建立虛擬助手,還是建立具有吸引力的使用者體驗的互動式聊天機器人,我們的程式庫都可以讓您輕鬆利用尖端的人工智慧功能。
該庫提供了現成的 API 端點來處理您的助手和 WebSocket 伺服器,以實現客戶端和助手之間的即時通訊。安裝庫並貼上配置以使其運行。
影片 - 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
端點傳送 POST 請求(主體中包含空物件)來建立一個。/assistant/chat
端點發送具有以下正文的 POST 請求來向助手發送訊息: {
"threadId" : " your-thread-id " ,
"content" : " Hello, how are you? "
}
/assistant/chat
端點發送 POST 請求(其正文與步驟 2 相同)來向助手發送更多訊息。恭喜!您已成功將 AI Assistant 庫整合到您的 NestJS 應用程式中。 ?
有關如何使用儲存庫中的所有應用程式和庫運行演示的完整文件可以在 wiki 中找到。
Boldare 的工程師隨時為您提供協助。如果您對實施有任何疑問或需要協助,請隨時與我們的工程師預約通話。
詳細了解Boldare 如何協助您進行 AI 開發。
您也可以在 GitHub 討論部分提問。
您想看看圖書館的新功能嗎?
@boldare/openai-assistant
並且此儲存庫已獲得 MIT 許可