利用 OpenAI 与 Node.js,精彩呈现电影信息的奥秘
在技术飞速发展的今天,JavaScript凭借其广泛的应用范围和强大的生态体系,已成为连接前后端乃至人工智能领域的桥梁。Node.js作为JavaScript在服务器端的运行环境,赋予了JavaScript构建高性能后端服务的能力,而OpenAI的API则为开发者提供了探索人工智能前沿技术的便捷通道。本文将深入探讨如何结合Node.js与OpenAI的力量,实现一个从海量数据中提取电影信息的功能,具体包括电影名(name)、封面链接(picture)、简介(info)、评分(score)以及评论人数(commentsNumber)。
开发准备:Node.js环境搭建与OpenAI SDK集成
首先,我们需要为项目创建一个基础的Node.js环境。在命令行中执行npm init -y
,这一步骤会快速初始化一个新的Node.js项目,生成package.json文件来管理项目的依赖关系和配置信息。Node Package Manager (npm)作为Node.js的默认包管理器,通过npm install
命令安装所需的模块,极大地简化了开发流程。
为了调用OpenAI的API,我们需要安装OpenAI的Node.js SDK。通过命令npm i openai
(i
是install
的简写),将OpenAI的包添加到项目中,它会被下载并存储在node_modules
目录下。之后,在代码中通过require('openai')
导入该模块,即可开始使用OpenAI的API。
设计逻辑:从OpenAI获取电影信息
假设OpenAI提供了一个API接口,可以通过自然语言查询来获取电影信息。我们的目标是通过向这个API发送请求,以自然语言的形式询问电影详情,并解析返回的JSON数据,提取出指定的电影属性。
// console.log('后端服务启动了');
//openai
//require关键字 首字母大写 类 js是大小写敏感的
const OpenAI=require('openai');
//实例化 OpenAI
const client=new OpenAI({
//凭证 密钥 算力收费 token
apiKey: '****',
baseURL:'https://api.chatanywhere.tech/v1'
})
//入口主函数
//main函数内部含有异步任务 async+await
async function main(){
//和AI LLM chat 从编程思维->AI 编程思维->AIGC->AGI
//client是openai 对象 chat 聊天 完成
//LLM 是在远程运行await
const chatCompletion=await client.chat.completions.create({
model:'gpt-3.5-turbo',//适合聊天的模式 很多种
messages:[{
role:'user',
content:prompt=`<tr class="item">
<td width="100" valign="top">
<a class="nbg" href=" " title="对你的想象">
< img src="https://img1.doubanio.com/view/photo/s_ratio_poster/public/p2905327559.webp" width="75" alt="对你的想象" class="">
</a >
</td>
<td valign="top">
<div class="pl2">
<a href="https://movie.douban.com/subject/35503073/" class="">
对你的想象
/ <span style="font-size:13px;">关于你的想法 / 概念中的你</span>
</a >
<p class="pl">2024-03-16(西南偏南电影节) / 2024-05-02(美国网络) / 安妮·海瑟薇 / 尼古拉斯·加利齐纳 / 艾拉·鲁宾 / 安妮·玛莫罗 / 瑞德·斯科特 / 帕芮·马费尔德 / 乔丹·亚伦·霍尔 / 玛蒂尔达·吉安诺普洛斯 / Meg Millidge / 奇克·曼诺哈 / Ray Cham / Jaiden...</p >
<div class="star clearfix">
<span class="allstar30"></span>
<span class="rating_nums">5.9</span>
<span class="pl">(21306人评价)</span>
</div>
</div>
</td>
</tr>
这是一个电影列表的html片段,需要获取需要的电影名(name),封面链接(picture),简介(info),评分(score),评论人数(commentsNumber)。请使用括号的单词作为属性名,以JSON对象数组的格式返回。
`
}]
})
console.log(chatCompletion.choices);
}
main();
返回结果
结语:OpenAI与Node.js的未来展望
结合Node.js的高效与灵活性,以及OpenAI提供的强大AI能力,开发者可以快速构建出既实用又富有创新性的应用。从电影信息检索到更为复杂的数据处理任务,OpenAI与Node.js的结合展现了AI技术在后端开发领域的广阔应用前景。随着AI技术的不断进步和Node.js生态的日益丰富,未来的开发工作将更加注重智能化、高效化,进一步模糊前端与后端、传统开发与AI开发的界限,引领技术行业进入一个全新的发展阶段。
转载自:https://juejin.cn/post/7370923547739373605