一、介绍
1.本文将实现纯血鸿蒙调用百度智能云千帆平台大模型,实现单轮对话功能。
2.主要包括调用大模型获取数据,对话页面创建,已经回调数据显示等等。
3.开发环境
DevEco Studio 5.0.0 Release
Build Version: 5.0.3.910, built on November 1, 2024
二、接口调用
创建应用后,选择需要大模型,参考api文档调用方法,可以现在网页调试。
首先,需要进入百度开发者千帆大模型平台,在应用接入,创建应用后,选择两种鉴权方式中的一种,获取调用许可,作者使用是access_token,接着开始调用大模型模型接口,作者调用的是文心一言ERNIE-4.0-8K。具体操作见,
然后,代码实现上述功能,首先
// 1 createHttp接口创建请求 let httpRequest = http.createHttp();
接着,发起请求获取data,通过data,获取其中字段AccessToken
httpRequest.request( "https://aip.baidubce.com/oauth/2.0/token?grant_type=client_credentials&client_id=你的id&client_secret=你的", { method: http.RequestMethod.POST, header: { "Content-Type": "application/json", }
let respToken: BaiDuToken1 = JSON.parse(data.result.toString())
然后带着accesstoken,根据url请求数据最后回调数据。

三、页面发起请求
首先,实现对话框消息显示布局,主要用list和foreach实现己方和他方对话页面
@Builder
chatList() {
List({ space: 15, scroller: this.scroller }) {
ForEach(this.messageArr, (item: MessageVO) => {
if (item.role === MessageRoleEnum.Mine) {
chatLine_mine(item.message)
} else {
chatLine_other(item.message)
}
})
}
.alignListItem(ListItemAlign.Center)
.height('80%')
}
接着,是文本框提交显示
.onSubmit(() => {
this.messageArr.push(new Message(MessageRoleEnum.Mine, this.textInputMsg)); // 使用textInputMsg
this.scroller.scrollEdge(Edge.Bottom);
}
最后,请求调用接口,回调内容显示。
httpUtils.request(this.textInputMsg, (responseText: string) => { // 使用textInputMsg
this.messageArr.push(new Message(MessageRoleEnum.Other, responseText)); // 展示对话
this.scroller.scrollEdge(Edge.Bottom); // 确保scroller已定义
})
this.textInputMsg = '';
项目展示:




总结,本项目实现了纯血鸿蒙对百度千帆平台文心一言ERNIE-4.0-8K大模型的单轮调用,实现了对话功能,主要参考了以下文档。由于作者能力低下,加上时间仓促,有许多漏洞和功能不完整之处,还请指正。希望读者看后,可以继续完善项目或提供修改方法,例如实现多轮调用,异步调用,以及图片生成接口调用,或是页面大模型选择功能,发送图片文档等等,欢迎评论留言,本人不胜感激。
欢迎大家在评论区交流!
参考:鸿蒙开发文档
【鸿蒙】大模型对话应用(一):大模型接口对接与调试-CSDN博客
文章来源于互联网:【中工开发者】纯血鸿蒙案例之百度文心一言大模型调用
相关推荐: [AI争霸] 普通人看ChatGPT和文心一言那个更好
引言 从2022/2/24号openAI正式发布chatgpt第一个版本以来,到2023年中旬openAI宣布chatgpt成为用户增长量最快的软件,随后掀起的大模型热。随后国内的各大厂商纷纷推出自己的大模型,首当其冲的就是百度的文心一言大模型。渐渐的大模型已…
5bei.cn大模型教程网










