前言
随着人工智能技术的不断发展,智能聊天机器人在各行各业中的应用越来越广泛。OpenAI作为领先的人工智能公司之一,提供了强大的语言模型,如GPT-3.5 Turbo,使得开发者能够轻松地构建智能对话系统。本文将介绍如何利用OpenAI API来创建一个简单的聊天机器人,并展示其基本功能和使用方法。
准备工作
首先创建一个文件夹,鼠标右键在集成终端中打开
,进入终端。在终端输入npm init -y
,将项目转成后端项目。输入npm i openai
,使用 npm(Node.js 包管理器)来安装名为 "openai" 的包,i
是 install
的简写,表示安装的意思。
代码实现
1.在 Node.js 中导入 OpenAI 库。require('openai')
的部分告诉 Node.js 导入一个名为 'openai' 的模块,这通常用于引入库或者其他 JavaScript 文件。
// 导入OpenAI模块
const OpenAI = require('openai'); //OpenAI类
2.实例化 OpenAI 客户端。它使用了一个名为 OpenAI
的类,通过传入一个对象来配置客户端的参数。在apiKey中输入自己在github官网上获取的免费API Key。
// 实例化OpenAI客户端
const client = new OpenAI({
apiKey: '', // 设置API密钥,这里输入自己的apiKey
baseURL: 'https://api.chatanywhere.tech/v1' // 设置API基础URL
})
-
apiKey
:这是用来认证你的应用程序身份的关键信息,相当于一个密码。这个密码被用来验证你的请求是否有权限访问 OpenAI 的服务。登录github官网( github.com/chatanywher… ),在这里可以得到免费的API Key
授权得到免费的API Key,7天之后就可以获得啦
-
baseURL
:这是 OpenAI 服务的基础 URL 地址。用于指定要连接的 OpenAI 服务的地址
3.定义了一个名为 main
的异步函数,用于发起对OpenAI API的请求
// 异步函数用于发起对OpenAI API的请求
async function main(){
// 发送聊天完成请求,并等待响应
const chatCompletion = await client.chat.completions.create(
{
messages: [{role: 'user',content: '你是谁?'}], // 发送的消息对象,包括角色和内容
model: 'gpt-3.5-turbo' // 指定用于处理请求的模型
}
);
// 打印完成请求的响应结果中的第一个选择
console.log(chatCompletion.choices[0]);
}
-
const chatCompletion = await client.chat.completions.create({ ... });
: 在这一行中,代码调用了一个client.chat.completions.create
方法,向 OpenAI API 发送了一个聊天完成请求。这个请求包括一个消息对象和一个模型参数。使用await
关键字等待这个异步调用完成,并将结果存储在chatCompletion
变量中。 -
messages: [{role: 'user',content: '你是谁?'}]
: 这是请求中的消息对象,表示发送给 AI 模型的消息。在这个例子中,消息的角色是用户 (role: 'user'
),内容是'你是谁?'
。 -
model: 'gpt-3.5-turbo'
: 这是指定用于处理请求的模型。在这里,指定了 GPT-3.5 Turbo 模型。 -
console.log(chatCompletion.choices[0]);
: 一旦异步请求完成,它会返回一个包含响应结果的对象,其中choices
数组包含了模型返回的候选选择。这行代码打印了响应结果中的第一个选择到控制台上。
整体来说,这段代码实现了向 OpenAI API 发送一个简单的聊天请求,并打印了模型返回的第一个候选选择。
结果
完整代码
// 导入OpenAI模块
const OpenAI = require('openai'); //OpenAI类
// 实例化OpenAI客户端
const client = new OpenAI({
apiKey: '', // 设置API密钥,这里输入自己的API Key
baseURL: 'https://api.chatanywhere.tech/v1' // 设置API基础URL
})
// 异步函数用于发起对OpenAI API的请求
async function main(){
// 发送聊天完成请求,并等待响应
const chatCompletion = await client.chat.completions.create(
{
messages: [{role: 'user',content: '你是谁?'}], // 发送的消息对象,包括角色和内容
model: 'gpt-3.5-turbo' // 指定用于处理请求的模型
}
);
// 打印完成请求的响应结果中的第一个选择
console.log(chatCompletion.choices[0]);
}
// 执行主函数
main();
结果与展望
通过执行以上代码,可以看到聊天机器人成功地对用户的问题进行了回复,展示了OpenAI强大的自然语言处理能力。未来,可以进一步完善该聊天机器人,增加更多的功能和交互性,使其能够应用于更广泛的场景,如客服系统、智能助手等,为用户提供更好的服务体验。