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携手,共同见证技术带来的无限可能吧!

相关推荐
墨风如雪43 分钟前
廉价 VPS 越来越少,不是没活动,是真的没货了
aigc
思绪无限1 小时前
YOLOv5至YOLOv12升级:木材表面缺陷检测系统的设计与实现(完整代码+界面+数据集项目)
人工智能·深度学习·目标检测·计算机视觉·木材表面缺陷检测
kishu_iOS&AI2 小时前
深度学习 —— 损失函数
人工智能·pytorch·python·深度学习·线性回归
AITOP1002 小时前
字节跳动Seed3D 2.0:MoE架构驱动,几何与纹理生成双双达到SOTA水平
aigc
好运的阿财2 小时前
OpenClaw工具拆解之canvas+message
人工智能·python·ai编程·openclaw·openclaw工具
TechubNews2 小时前
新火集团首席经济学家付鹏演讲——2026 年是 Crypto 加入到 FICC 资产配置框架元年
大数据·人工智能
蒸汽求职2 小时前
跨越 CRUD 内卷:半导体产业链与算力基建下的软件工程新生态
人工智能·科技·面试·职场和发展·软件工程·制造
DeepModel2 小时前
通俗易懂讲透 Q-Learning:从零学会强化学习核心算法
人工智能·学习·算法·机器学习
聊点儿技术2 小时前
LLM数据采集如何突破AI反爬?——用IP数据接口实现进阶
人工智能·数据分析·产品运营·ip·电商·ip地址查询·ip数据接口
小兵张健2 小时前
一场大概率没拿到 offer 的面试,让我更坚定去做喜欢的事
人工智能·面试·程序员