nodejs文心一言API接入

需求

在nodejs里面接入文心一言API,官方调用步骤API介绍 - 千帆大模型平台 | 百度智能云文档

大致流程

创建应用——>API授权——>获取访问凭证——>调用接口

创建应用

注册账号创建应用

首先注册百度云智能账号,登录进入百度智能云千帆控制台 ,然后进入控制台创建应用 。

创建应用,我乱输入的。。。

获取AppID、API Key、Secret Key

API授权

应用创建成功后,千帆平台默认为应用开通所有API调用权限,无需申请授权。当然你也可以停止某些接口

怎么调用API

官方API文档API列表 - 千帆大模型平台 | 百度智能云文档,选择你想要调用的API,我这里以

ERNIE-Bot模型为例

选择合适的接口

官方文档的模型广场有,各模型的描述,然后选择合适的模型调用即可。注意这里使用付费模型的话需要保证账户有余额。刚注册官方好像会赠送优惠券,可以直接抵扣。后续需要自己充值。

在线测试

千帆平台提供在线测试功能,可以在线检验平台创建模型的精确性和反应效果。以下文档有详细介绍体验中心 - 千帆大模型平台 | 百度智能云文档,在体验中心选择你想要测试的模型即可

模型介绍

点击创建chat后可以看到调用接口的方式

在线调试平台示例代码

点击API在线调试平台-示例代码,选择你自己使用的语言调试即可

代码

以下封装的函数测试了3个模型Qianfan-Chinese-Llama-2-13B 模型 、 CodeLlama-7b-Instruct模型、ERNIE-Bot 模型,当然首先要获取access_token,具体获取方法我就不介绍了,参考官方API获取即可。

// 访问模型服务
const axios = require("axios");
const app_id = process.env.WX_APPID //文心一言appid,填你自己的appid
const secret_key = process.env.WX_SECRETKEY //文心一言secretKey,填你自己的secret_key
const api_key = process.env.WX_APIKEY //文心一言apiKey,填你自己的api_key// 获取 access_token
function getAccessToken() {return new Promise((resolve, reject) => {axios({method: 'POST',url: 'https://aip.baidubce.com/oauth/2.0/token',headers: {'Content-Type': 'application/json',},params: {'grant_type': 'client_credentials','client_id': api_key,'client_secret': secret_key,},}).then((response) => {// 在 Promise 成功时返回 access_tokenresolve(response.data.access_token);}).catch((error) => {// 在 Promise 失败时返回错误reject(error);});});
}
//文星一言  Qianfan-Chinese-Llama-2-13B 模型   免费 function  llamaModel(contentValue,access_token){return new Promise(async (resolve, reject) => {try {const response = await axios({method: 'POST',url: 'https://aip.baidubce.com/rpc/2.0/ai_custom/v1/wenxinworkshop/chat/qianfan_chinese_llama_2_13b',headers: {'Content-Type': 'application/json',},data: {messages: [{role: 'user',content: contentValue,}],},params: {access_token: access_token,},});console.log('啦啦啦', response.data.result);resolve(response.data.result);} catch (error) {console.error('Error:', error.message);reject(error);}});}//文心一言  CodeLlama-7b-Instruct 模型免费    
function  instructModel(contentValue,access_token){return new Promise(async (resolve, reject) => {try {const res = await axios({method: 'POST',url: 'https://aip.baidubce.com/rpc/2.0/ai_custom/v1/wenxinworkshop/completions/codellama_7b_instruct',headers: {'Content-Type': 'application/json',},params: {access_token: access_token,},data: {prompt: contentValue,// Add other parameters as needed},});console.log('啦啦啦', res.data.result);resolve(res.data.result);} catch (error) {console.error('Error:', error.message);reject(error);}});}//文星一言  ERNIE-Bot 模型  付费 
function erniebotModel(contentValue,access_token){return new Promise(async (resolve, reject) => {try {const res = await axios({method: 'POST',url: 'https://aip.baidubce.com/rpc/2.0/ai_custom/v1/wenxinworkshop/chat/completions',headers: {'Content-Type': 'application/json',},params: {access_token: access_token,},data: {messages: [{role: 'user',content: contentValue,}],},});console.log('啦啦啦', res.data.result);resolve(res.data.result);} catch (error) {console.error('Error:', error.message);reject(error);}});}// 访问讯飞星火 API 的方法
async function getWXApi(contentValue) {try {const access_token = await getAccessToken();console.log('拿到token', access_token);//使用 CodeLlama-7b-Instruct 模型const result = await instructModel(contentValue, access_token);//使用 Qianfan-Chinese-Llama-2-13B 模型// const result = await llamaModel(contentValue, access_token);//使用 ERNIE-Bot 模型 模型// const result = await  erniebotModel(contentValue, access_token);} catch (error) {console.error('Main Error:', error.message);}}// 导出 initUrl 函数
module.exports = getWXApi;

记录一下。。。。。。。。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/298874.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

虚拟机(centos)磁盘空间不够

磁盘空间不够 1.关机 2.打开设置-->硬盘 --> 扩展 3.搞定一半 4.开机进入终端 4.1 查看 lsblk 4.2 加起来 growpart /dev/sda 3 注1: 如果 growpart 提示没有的话需要安装一下 yum -y install cloud-utils-growpart 注2:3前面有个空格 4.3 再次…

工具系列:TensorFlow决策森林_(3)使用dtreeviz可视化

文章目录 介绍设置安装 TF-DF 和 dtreeviz导入库 可视化分类树加载、清洗和准备数据分割训练/测试集并训练模型训练一个随机森林分类器显示决策树检查叶节点统计信息决策树如何对实例进行分类特征空间划分 可视化回归树加载、清洗和准备数据分割训练/测试集并训练模型训练一个随…

顺序表的实现(头插、尾插、头删、尾删、查找、删除、插入)

目录 一. 数据结构相关概念​ 二、线性表 三、顺序表概念及结构 3.1顺序表一般可以分为: 3.2 接口实现: 四、基本操作实现 4.1顺序表初始化 4.2检查空间,如果满了,进行增容​编辑 4.3顺序表打印 4.4顺序表销毁 4.5顺…

2024上半年软考别轻易尝试!先了解这些!

最近几年,软件考试变得非常受欢迎!不论你的专业、学历或工作时间如何,你都可以报名参加,而且通过考试取得证书还能用来抵扣个人所得税、评职称、帮助落户和参与招投标等等。 身边的朋友们纷纷参加软考,这让我也产生了…

如何为你的网站启用HTTPS

步骤一:获取SSL/TLS证书 选择SSL证书提供商: 选择一家可信赖的SSL证书提供商。对于小型网站,JoySSL提供的免费证书是一个不错的选择。购买或申请证书: 根据你的网站需求,购买相应类型的SSL证书。证书的类型包括单域、…

Springboot+vue的交通管理在线服务系统(有报告)。Javaee项目,springboot vue前后端分离项目

演示视频: Springbootvue的交通管理在线服务系统(有报告)。Javaee项目,springboot vue前后端分离项目 项目介绍: 本文设计了一个基于Springbootvue的前后端分离的交通管理在线服务系统,采用M(m…

VS2005环境下编译C++报错

WinGenerateKey.obj : error LNK2011: 未链接预编译对象;映像可能不能运行 解决:连接器->输入,添加:..\WinGenerateKey\Debug\stdafx.obj 或者 ..\WinGenerateKey\Release\stdafx.obj 报错:fatal error C1083: Can…

多门店在线预约小程序源码系统+在线预约+在线支付+到店付款 +完整的代码包 带搭建教程

互联网的普及和消费者行为的转变,线上预约服务逐渐成为一种新的消费模式。特别是在医疗、美容、餐饮等服务行业,用户预约的便利性需求尤为突出。为了满足市场的这一需求,我们开发了多门店在线预约小程序源码系统。该系统为各类服务行业提供了…

Pytest用例执行顺序和跳过执行详解

1.py文件的执行顺序 pytest默认按字母顺序去执行的(小写英文--->大写英文--->0-9数字) setup_module->setup_claas->setup_function->testcase->teardown_function->teardown_claas->teardown_module 1)文件之间按…

react 路由v6

这里是区别:V5 vs V6 这里是官网:可以查看更多高级属性 一、基本使用: 1、配置文件 src/routes/index import React from "react";const Home React.lazy(() > import("../Pages/Home")); const About React.laz…

软件设计不是CRUD(9):低耦合模块设计理论——设计落地所面临的挑战

应用程序的模块化设计是我们开始接触到应用程序设计时就立即会接触的概念。本系列文章试图将模块化设计从概念到落地进行体系化的讲解。本节开始我们首先介绍应用程序设计中的模块化概念,以及落地这个概念所需要面临的一些挑战。然后本系列文章将推导这些挑战、问题的解决办法…

【GoLang】Go语言几种标准库介绍(一)

你见过哪些令你膛目结舌的代码技巧? 文章目录 你见过哪些令你膛目结舌的代码技巧?前言几种库bufio(带缓冲的 I/O 操作)特性示例 bytes (实现字节操作)特性示例 总结专栏集锦写在最后 前言 随着计算机科学的迅猛发展,编…