logo
4

node使用千帆大模型加天气插件应用

前言

  1. 语言理解与沟通: 天气数据往往以自然语言形式发布,而大模型在语言理解方面表现卓越。它们能够解析天气报告、气象专业文本以及用户提出的天气相关问题,更好地理解和处理语言信息。
  2. 用户交互体验: 自然语言大模型能够提供更自然、智能的用户交互体验。用户可以通过口头或文本形式直接向模型询问天气情况,而模型能够以更接近对话的方式回应,提供详细和个性化的天气信息。
  3. 定制化预测: 大模型可以根据用户的具体需求提供个性化的天气预测。例如,用户可以询问某个地区的特定时间段内的天气状况,大模型能够从海量数据中提取相关信息进行预测。
  4. 多模态信息整合: 大模型可以处理多模态的信息,不仅仅限于文本。通过整合图像、地图数据等多源信息,它们能够提供更全面的天气分析,包括降水图、气象雷达图等。
  5. 实时更新与即时反馈: 大模型可以实时更新,并根据新的数据源和用户反馈进行持续学习。这使得它们能够及时适应天气变化,并提供更及时、准确的预测信息。
  6. 语境感知: 自然语言大模型具有强大的语境感知能力,能够理解语句中的复杂关系和隐含信息。这对于解读天气报告中的隐晦语言、解释气象专业术语等非常有益。

一、初始化项目环境

1.获取key

创建一个智能云应用。
创建成功后,拿到AppID、API Key、Secret Key 。
获取接口访问凭证 access_token 代码里有写,可以直接参考
根据第1步获取的 API Key 和 Secret Key ,
获取 access_token ,通过 access_token 鉴权调用者身份。
调用API接口。调用创建chat接口,详见本文说明。

2.创建插件服务

再控制台插件编排里创建,并选好大模型和天气插件,并上线

3.初始化项目

因为需要是用到npm库环境安装
  
  
  
  
  
  
npm init //初始化node项目
安装axios库用于网络请求,request库也可以
  
  
  
  
  
  
npm i axios
安装express库用接口请求返回数据,想用koa2也是可以的
  
  
  
  
  
  
npm i express

二、写入代码

创建index.js文件
说明 API Key和Secret Key需要再控制台里创建一个应用,直接复制进去即可
  
  
  
  
  
  
const axios = require("axios");
const express = require("express");
const AK = "xxx"; //你的API Key
const SK = "xxx"; //你的Secret Key
const appid='xxx' //你服务上线后的后缀名称 在服务地址里查看
const app = express();
const PORT = 3000;
app.get("/search", async (req, res) => {
try {
const text = req.query.text;
const token = await getAccessToken();
const apiUrl = `https://aip.baidubce.com/rpc/2.0/ai_custom/v1/wenxinworkshop/plugin/${appid}/`;
const response = await axios.post(
apiUrl,
{
plugins: ["uuid-weatherforecast"],
query: 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);
});
});
}

三、使用测试

浏览器地址请求即可
页面即可返回
评论
用户头像