logo

node使用大模型对话并实现接口

一、初始化项目环境

1.创建应用

千帆平台需要申请,申请通过后根据文档中的说明创建应用,拿到 API Key 和 Secret Key 就可以
创建成功后,拿到API Key、Secret Key 。
获取接口访问凭证 access_token 代码里有写,可以直接参考
根据第1步获取的 API Key 和 Secret Key ,
获取 access_token ,通过 access_token 鉴权调用者身份。
调用API接口。调用创建chat接口,详见本文说明。

2.初始化项目

因为需要是用到npm库环境安装
  
  
  
  
  
  
npm init //初始化node项目
安装axios库用于网络请求,request库也可以
  
  
  
  
  
  
npm i axios

二、写入代码

创建index.js文件
说明 id和key需要再控制台里创建一个应用,直接复制进去即可,msg即对话内容
  
  
  
  
  
  
const axios = require("axios");
const express = require("express");
const AK = "xxx"; //你的API Key
const SK = "xxx"; //你的Secret Key
const app = express();
const PORT = 3000;
app.get("/search", async (req, res) => {
try {
const text = req.query.text;
const token = await getAccessToken();
const url = "https://aip.baidubce.com/rpc/2.0/ai_custom/v1/wenxinworkshop/chat/eb-instant"
const response = await axios.post(
url,
{
messages: [
{
role: "user",
content: text,
},
],
},
{
params: {
access_token: token,
}
}
);
res.send(response.data.result || response.data);
} catch (error) {
console.error("Error converting text to speech:", error.message);
res.status(500).json({ error: "Internal Server Error" });
}
});
app.listen(PORT, () => {
console.log(`Server is running on http://localhost:${PORT}`);
});
function getAccessToken() {
const url =
"https://aip.baidubce.com/oauth/2.0/token?grant_type=client_credentials&client_id=" +
AK +
"&client_secret=" +
SK;
return new Promise((resolve, reject) => {
axios(url)
.then((response) => {
resolve(response.data.access_token);
})
.catch((error) => {
console.log(error);
reject(error);
});
});
}

三、运行

3.1 部署后端

命令行运行nodemon index 如果没有nodemon 就用node
  
  
  
  
  
  
nodemone index
运行成功效果
  
  
  
  
  
  
[nodemon] 3.0.1
[nodemon] to restart at any time, enter `rs`
[nodemon] watching path(s): *.*
[nodemon] watching extensions: js,mjs,cjs,json
[nodemon] starting `node index.js`
Server is running on http://localhost:3000

3.2 使用

浏览器上请求接口
  
  
  
  
  
  
http://127.0.0.1:3000/search?text=度娘是谁
接口返回
度娘是指百度搜索引擎,因为李彦宏的名字叫李勇,所以搜索百度的女人应该是他的太太,所以后来人们就称百度为度娘。

4.注解

如果请求报错,请参考官方文档
评论
用户头像