Node.js与ChatGPT的完美邂逅(一):构建高效智能对话应用的新纪元——你是谁?

前言

将一部分适合AI执行的任务交给大语言模型(Large Language Models, LLM),如ChatGPT等,可以极大地提高工作效率、创造性和个性化服务的能力。

正文

在终端输入npm init -y,将其初始化为后端项目,生成package.json 项目描述文件

npm i openai 安装openai包

  • 将本地openai 引入到项目中
ini 复制代码
const OpenAI = require('openai')

openai为一个类,对其进行实例化,baseURL指明发送到了chatanywhere.tech这个第三方服务或自定义接口上。

php 复制代码
const client = new OpenAI({
 apiKey: 'xxx',
 baseURL: 'https://api.chatanywhere.tech/v1'
})

apiKey的获取

async function main()定义了一个异步主函数main。在JavaScript中,异步函数允许使用await关键字等待Promise的结果,这在处理网络请求时非常有用,因为它们往往是异步操作。在main函数内部,await client.chat.completions.create发起一个异步请求到指定的API,用于获取聊天模型的回复。它传递了一个对象作为参数,该对象包含:

  • messages: 一个消息数组,其中每个消息都是一个包role和content的对象。在这个例子中,只有一个消息,角色为user,内容为'你是谁?',表示模拟用户向AI提问"你是谁?"。
  • model: 指定使用的模型版本,这里是gpt-3.5-turbo,这是OpenAI的一个先进语言模型,但实际请求会根据baseURL所指的API服务来决定是否支持或如何响应这个模型请求,chatCompletion对象包含了API的完整响应,最后打印出从API得到的回复中的第一个选择。
php 复制代码
async function main() {
  const chatCompletion = await client.chat.completions.create(
   {
     messages: [{role: 'user', content: '你是谁?'}],
     model: 'gpt-3.5-turbo'  
   }
  )
  console.log(chatCompletion.choices[0]);
}

调用执行这个异步函数,启动整个程序流程。

css 复制代码
main()

结语

快去见证Node.js与ChatGPT的完美邂逅吧~探索Node.js与ChatGPT的结合无疑是一场激动人心的旅程。Node.js作为一款流行的服务器端JavaScript运行环境,以其事件驱动、非阻塞I/O模型著称,非常适合构建高性能、可扩展的网络应用。而ChatGPT,作为OpenAI推出的一款先进的人工智能语言模型,展现出了令人惊叹的对话理解与生成能力,能够进行多轮对话、解答问题、提供创意甚至协助编程。当你将这两者结合起来,可以开启一系列创新应用的大门,不妨现在就开始行动,搭建你的开发环境,编写第一行代码,让Node.js与ChatGPT携手,共同见证技术带来的无限可能吧!

相关推荐
深度学习实战训练营21 小时前
SegFormer:使用Transformer进行语义分割,简单而高效的设计-k学长深度学习专栏
人工智能·深度学习·transformer
大、男人21 小时前
FastMCP高级特性之Composition
人工智能·fastmcp
CES_Asia21 小时前
机器人“奥运会”燃动北京——CES Asia 2026全球机器人性能挑战赛与展览定档
大数据·人工智能·机器人
DKNG21 小时前
【Windows Host】 hosts配置增加访问github流畅度
人工智能·git·github
昨日之日200621 小时前
Fun-ASR - 多语言多方言的高精度语音识别软件 支持50系显卡 一键整合包下载
人工智能·音视频·语音识别
AIGC科技21 小时前
焕新而来,境由AI生|AIRender升级更名“渲境AI”,重新定义设计渲染效率
人工智能·深度学习·图形渲染
出来吧皮卡丘21 小时前
A2UI:让 AI Agent 自主构建用户界面的新范式
前端·人工智能·aigc
nju_spy21 小时前
深度强化学习 TRPO 置信域策略优化实验(sb3_contrib / 手搓 + CartPole-v1 / Breakout-v5)
人工智能·强化学习·共轭梯度法·策略网络·trpo·sb3_contrib·breakout游戏
程序员欣宸21 小时前
LangChain4j实战之四:集成到spring-boot
java·人工智能·spring boot
cmdyu_21 小时前
告别 LLM 输出的不确定性:深度解析 TypeChat 如何重塑 AI 工程化开发
人工智能