baidubce / bce-qianfan-sdk

Provide best practices for LMOps, as well as elegant and convenient access to the features of the Qianfan MaaS Platform. (提供大模型工具链最佳实践,以及优雅且便捷地访问千帆大模型平台)
https://cloud.baidu.com/doc/WENXINWORKSHOP/index.html
Apache License 2.0
318 stars 48 forks source link

NodeJS环境,@baiducloud/qianfan 0.1.0 无法使用ERNIE-Tiny-8K模型的ChatCompletion #574

Closed lgh06 closed 4 months ago

lgh06 commented 4 months ago

System Info

@baiducloud/qianfan 0.1.0

Reproduction

  1. NodeJS 18
  2. Node代码如下

let {ChatCompletion, setEnvVariable} = require("@baiducloud/qianfan");

// 使用安全认证AK/SK鉴权,通过环境变量初始化;替换下列示例中参数,安全认证Access Key替换your_iam_ak,Secret Key替换your_iam_sk setEnvVariable('QIANFAN_AK','xxx'); setEnvVariable('QIANFAN_SK','xxx');

const client = new ChatCompletion();

let common = { temperature: 0.7, messages: [ { role: "user", content: '这是一家黑心工厂', // content: '我在烧饼里吃出了虫子', // content: '这家工厂的卫生条件可真好!', // content: '这家工厂的卫生条件可真差!', // content: '这家餐厅的猪脚饭吃起来软软糯糯的', // content: '卫龙辣条贵死了', }, ], system:"你是一名专业的信息情感倾向判断员,请给信息的情感倾向程度打分,100分为最喜爱的,0分为最厌恶的。请一步一步思考,并在回复的最后打分,如:【70分】", // system:"你是某集团的舆情分析员,负责收集集团的负面信息,并且给信息的负面程度打分(百分制),100分为最负面的,0分为最正面的。请仅根据所给的上下文打分,不要联想,不要掺杂个人主观看法。", } async function main() { // 调用默认模型,即 ERNIE-Bot-turbo const resp1 = await client.chat({ ...common },"ERNIE-Speed-8K"); console.log(resp1.result); console.log("+++++++++++++"); const resp2 = await client.chat({ ...common, },"ERNIE-Lite-8K-0308"); console.log(resp2.result); console.log("+++++++++++++"); const resp3 = await client.chat({ ...common, },"ERNIE-Tiny-8K"); console.log(resp3.result); }

main();



3.  resp3 无法响应,报错,具体报错不粘贴了,经初步排查,为模型对应的url(endpoint)找不到,为undefined
4. **可能**有问题的代码大概位置:
![image](https://github.com/baidubce/bce-qianfan-sdk/assets/1688639/f666357c-ffe1-4a4d-887a-0d2aee20150f)
wangting829 commented 4 months ago

如果有走IAM鉴权,wenxinworkshop/service/list 这个动态模型会返回 image image

wangting829 commented 4 months ago

后面我更新下模型列表哈,目前先用endpoint调 let {ChatCompletion, setEnvVariable} = require("@baiducloud/qianfan"); // 使用安全认证AK/SK鉴权,通过环境变量初始化;替换下列示例中参数,安全认证Access Key替换your_iam_ak,Secret Key替换your_iam_sk setEnvVariable('QIANFAN_AK','xxx'); setEnvVariable('QIANFAN_SK','xxx');

const client = new ChatCompletion({Endpoint:'ernie-tiny-8k'});
let common = { temperature: 0.7, messages: [ { role: "user", content: '这是一家黑心工厂', // content: '我在烧饼里吃出了虫子', // content: '这家工厂的卫生条件可真好!', // content: '这家工厂的卫生条件可真差!', // content: '这家餐厅的猪脚饭吃起来软软糯糯的', // content: '卫龙辣条贵死了', }, ], system:"你是一名专业的信息情感倾向判断员,请给信息的情感倾向程度打分,100分为最喜爱的,0分为最厌恶的。请一步一步思考,并在回复的最后打分,如:【70分】", // system:"你是某集团的舆情分析员,负责收集集团的负面信息,并且给信息的负面程度打分(百分制),100分为最负面的,0分为最正面的。请仅根据所给的上下文打分,不要联想,不要掺杂个人主观看法。", } async function main() { // 调用默认模型,即 ERNIE-Bot-turbo const resp1 = await client.chat({ ...common }); console.log(resp1.result); console.log("+++++++++++++"); const resp2 = await client.chat({ ...common, },"ERNIE-Lite-8K-0308"); console.log(resp2.result); console.log("+++++++++++++"); const resp3 = await client.chat({ ...common, }); console.log(resp3.result); }

main();