node使用千帆大模型加天气插件应用
大模型开发/技术交流
- 社区上线
- 开箱评测
- 插件应用
2023.10.07909看过
前言
-
语言理解与沟通: 天气数据往往以自然语言形式发布,而大模型在语言理解方面表现卓越。它们能够解析天气报告、气象专业文本以及用户提出的天气相关问题,更好地理解和处理语言信息。
-
用户交互体验: 自然语言大模型能够提供更自然、智能的用户交互体验。用户可以通过口头或文本形式直接向模型询问天气情况,而模型能够以更接近对话的方式回应,提供详细和个性化的天气信息。
-
定制化预测: 大模型可以根据用户的具体需求提供个性化的天气预测。例如,用户可以询问某个地区的特定时间段内的天气状况,大模型能够从海量数据中提取相关信息进行预测。
-
多模态信息整合: 大模型可以处理多模态的信息,不仅仅限于文本。通过整合图像、地图数据等多源信息,它们能够提供更全面的天气分析,包括降水图、气象雷达图等。
-
实时更新与即时反馈: 大模型可以实时更新,并根据新的数据源和用户反馈进行持续学习。这使得它们能够及时适应天气变化,并提供更及时、准确的预测信息。
-
语境感知: 自然语言大模型具有强大的语境感知能力,能够理解语句中的复杂关系和隐含信息。这对于解读天气报告中的隐晦语言、解释气象专业术语等非常有益。
一、初始化项目环境
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 Keyconst SK = "xxx"; //你的Secret Keyconst 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);});});}
三、使用测试
浏览器地址请求即可
页面即可返回
评论