一个 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 许可