利用OpenAI打造智能聊天机器人:从入门到实践

1,028 阅读4分钟

前言

随着人工智能技术的不断发展,智能聊天机器人在各行各业中的应用越来越广泛。OpenAI作为领先的人工智能公司之一,提供了强大的语言模型,如GPT-3.5 Turbo,使得开发者能够轻松地构建智能对话系统。本文将介绍如何利用OpenAI API来创建一个简单的聊天机器人,并展示其基本功能和使用方法。

准备工作

首先创建一个文件夹,鼠标右键在集成终端中打开,进入终端。在终端输入npm init -y,将项目转成后端项目。输入npm i openai,使用 npm(Node.js 包管理器)来安装名为 "openai" 的包,iinstall 的简写,表示安装的意思。

代码实现

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 image.png

    授权得到免费的API Key,7天之后就可以获得啦

    image.png

  • 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 发送一个简单的聊天请求,并打印了模型返回的第一个候选选择。

结果

image.png

完整代码

// 导入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强大的自然语言处理能力。未来,可以进一步完善该聊天机器人,增加更多的功能和交互性,使其能够应用于更广泛的场景,如客服系统、智能助手等,为用户提供更好的服务体验。