前言
在当今数字化时代,人工智能技术以前所未有的速度融入我们的日常生活与工作中,其中自然语言处理技术的发展更是极大地拓宽了人机交互的边界。随着AI模型如OpenAI的GPT-3.5-Turbo的面世,我们正步入一个能够进行复杂对话、理解语境并生成连贯回应的新纪元。本文旨在深入探讨如何将这一前沿技术无缝集成到现代应用程序中,通过一个名为ChatAnywhere的示例项目,展示如何利用Node.js构建一个强大的、可定制的对话系统。
正文
获取API密钥
获取免费API密钥的前提是你已经注册了github账号,并且已经注册了7天以上。(如果不满足该前提的话就需要靠你的小伙伴了,或者等上几天)
获取免费API密钥传送门--github.com/chatanywher...
进去后向下滑找到
看见免费直接点进去,不要犹豫。
注意:公开分享API密钥是不安全的做法。
逐步实现
-
创建新的Node.js项目。
csharpnpm init -y
-
安装
openai
库。cssnpm i openai
-
引入本地
openai
库到项目中。javascriptconst OpenAi = require('openai')
-
实例化一个
clienet
对象,并传入API密钥和基础URL。javascriptconst OpenAi = require('openai') const client = new OpenAi({ apiKey: 'API密钥',//在里面输入你获取到的API密钥 baseURL: 'https://api.chatanywhere.tech/v1' })
-
定义一个异步函数main。异步函数允许使用
await
关键字等待Promise的结果,使得处理异步操作更加直观和简洁。javascriptconst OpenAi = require('openai') const client = new OpenAi({ apiKey: 'API密钥',//在里面输入你获取到的API密钥 baseURL: 'https://api.chatanywhere.tech/v1' }) async function main() {}
-
发送聊天完成请求:
javascriptconst OpenAi = require('openai') const client = new OpenAi({ apiKey: 'API密钥',//在里面输入你获取到的API密钥 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', } ) }
函数内使用
await
调用了client.chat.completions.create
方法,该方法发送一个请求到指定的API端点,以获取基于提供的消息和模型的回复。这里的请求体包含了一个消息数组,其中单个消息对象定义了用户的角色(role: 'user'
)和消息内容(content: '你是谁?请介绍你自己。'
)。同时指定了要使用的模型为gpt-3.5-turbo
,这是OpenAI的一个流行模型,能够生成高质量的文本回复。 -
打印回复:
javascriptasync function main() { const chatCompletion = await client.chat.completions.create( { messages: [{ role: 'user', content: '你是谁?请介绍你自己。' }], model: 'gpt-3.5-turbo', } ) console.log(chatCompletion.choices[0]) }
最后通过
console.log(chatCompletion.choices[0])
打印出API响应中第一个选择(choices[0]
)的内容。通常,
choices
是一个数组,每个元素代表一个可能的回复,但在大多数情况下,特别是当你没有特别设置的情况下,只会有一个回复。 -
调用main函数:
javascriptconst OpenAi = require('openai') const client = new OpenAi({ apiKey: 'API密钥',//在里面输入你获取到的API密钥 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()
这就是完整代码了。不要忘记安装openai库嘞。
实现结果
利用 main函数能够实现交互,具体方式是对 {messages: [{ role: 'user', content: '你是谁?' }], model: 'gpt-3.5-turbo'}
中 content
的内容进行动态改变。
如何让交互更容易实现呢?这个问题就交给你解决吧,快动手一起快乐得敲代码吧。
小结
通过以上步骤,你已经成功创建了一个使用OpenAI API的简单Node.js应用,可以与GPT-3.5-Turbo模型进行交互。这个项目只是一个起点,你可以进一步扩展和自定义它,来满足更多的需求和应用场景。希望这个教程能够帮助你更好地理解和使用自然语言处理技术,探索更多的可能性。