likes
comments
collection
share

一文教你使用Node.js脚本调用OpenAi API接口实现对话功能

作者站长头像
站长
· 阅读数 36

前言

随着AI的发展,各行各业将迎来颠覆性改变,AIGC时代即将到来。作为程序员,更应该积极拥抱新时代。本期介绍的内容是,如何在项目中使用OpenAI API的接口 实现对话功能

介绍

OpenAI 是一个人工智能公司,他们开发了一系列先进的自然语言处理模型,其中包括 GPT(Generative Pre-trained Transformer)系列模型。在本次示例中,使用的是 OpenAI 的 GPT-3.5 Turbo 模型,它是 GPT 系列中的一个变种,具有更高的性能和效率。

通过 OpenAI 提供的 API,开发者可以利用这些先进的自然语言处理模型来实现各种应用,例如对话生成、文本摘要、语言翻译等。在这段代码中,使用了 OpenAI 提供的对话生成功能,即利用 GPT-3.5 Turbo 模型来生成对话回复。

通过调用 OpenAI 的 API,开发者可以将复杂的自然语言处理任务交给这些强大的模型来处理,从而节省了大量的开发时间和资源,并且能够获得高质量的结果。这使得开发者能够更轻松地构建出智能对话系统、智能客服系统、文本生成工具等应用,提升用户体验和系统的智能化程度。

是不是觉得很炫酷?话不多说直接上车!

一文教你使用Node.js脚本调用OpenAi API接口实现对话功能

准备事项

1. node

在本项目中,使用OpenAi接口需要用到node安装OpenAi库,(注意:必须使用新版本的node老版本的会报错) 。可在命令行输入node -v 查看node是否安装完成以及node的版本号。

一文教你使用Node.js脚本调用OpenAi API接口实现对话功能

2. github账号

在注册完GitHub账号之后,进入地址github.com/chatanywher…

一文教你使用Node.js脚本调用OpenAi API接口实现对话功能

申请获得免费的key此时便可得到本账号的key(GitHub必须注册超过7天才可获得key)

一文教你使用Node.js脚本调用OpenAi API接口实现对话功能

Node.js代码的编写

注意:该项目需保证电脑处于科学上网状态

环境搭建

1.初始化后端工程

在终端打开创建的项目目录,输入指令npm init -y初始化后端工程

初始化成功后会出现文件package.json如下示例: 一文教你使用Node.js脚本调用OpenAi API接口实现对话功能

2. 安装OpenAi库

在终端输入指令npm i openai 将openai库安装至本项目中。成功安装后会出现以下情况:

一文教你使用Node.js脚本调用OpenAi API接口实现对话功能

代码详解

const OpenAI = require('openai')
// 实例化 
const client = new OpenAI({
  apiKey: 'xxxxxx', // xxx为GitHub授权的每个账号的key值
  baseURL: 'https://api.chatanywhere.tech/v1'
})

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()

运行结果如下:

一文教你使用Node.js脚本调用OpenAi API接口实现对话功能

通过以上代码,便可以实现对OpenAi接口的访问,此时我们便可以在项目中使用大模型。

那么上述代码都起到什么作用呢?

  1. const OpenAI = require('openai') 导入的是一个用于与OpenAI API进行通信的Node.js库,这种操作通常在后端项目中进行,以便服务器端能够与外部服务进行交互。

  2. const client = new OpenAI({ apiKey: '...', baseURL: '...' }) 实例化了一个OpenAI客户端,用于向OpenAI的API发送请求。这也是在后端进行的操作。

apiKey: 这是一个用于认证和授权访问 OpenAI API 的密钥。在这个例子中,密钥是硬编码的,但在实际应用中,你应该将它存储在环境变量或配置文件中,以保证安全性。 baseURL: 这是 OpenAI API 的基础 URL。在这个例子中,使用是 https://api.chatanywhere.tech/v1,而不是 OpenAI 官方的 API 地址。这可能是因为使用了某种代理或中间层服务。

  1. 属性 role:

在此项目中role的属性为user,意思是当前项目所扮演的角色是用户,可以根据我们输入的content属性来调用OpenAi接口返回内容。

4.content属性:

content属性包含来自role的消息文本,大模型根据content值的不同响应出不同的内容,如以下示例:

async function main() {

  const chatCompletion = await client.chat.completions.create(

    {

      messages: [{ role: 'user', content: '你是谁?' }],

      model: 'gpt-3.5-turbo'

    }

  )

  console.log(chatCompletion.choices[0]);

}

一文教你使用Node.js脚本调用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]);

}

一文教你使用Node.js脚本调用OpenAi API接口实现对话功能

总的来说,这段代码使用 OpenAI 的语言模型 API 来生成对问题 "xxx" 的回复。它首先初始化一个 OpenAI 客户端,然后调用 chat.completions.create 方法,传入问题作为消息历史记录,并指定使用 gpt-3.5-turbo 模型。最后,它打印出模型生成的第一个回复选择。

这样我们就实现了利用大模型实现对话生成的简单应用。

本篇文章就到此为止啦,希望通过这篇文章能对你了解OpenAI API 实现对话生成有所帮助,本人水平有限难免会有纰漏,欢迎大家指正。如觉得这篇文章对你有帮助的话,欢迎点赞收藏加关注,感谢支持🌹🌹。

一文教你使用Node.js脚本调用OpenAi API接口实现对话功能

转载自:https://juejin.cn/post/7368753329667604543
评论
请登录