#星计划#OpenHarmony+文心一言对话APP WenXinTalk 原创 精华
#星计划#OpenHarmony+文心一言对话APP WenXinTalk
运行环境
(后面附有API9版本,可修改后在HarmonyOS4设备上运行)
DAYU200:4.0.10.16
SDK:4.0.10.15
IDE:4.0.600
在DAYU200:4.0.10.16上运行
一、创建应用
1.点击File->new File->Create Progect
2.选择模版
【OpenHarmony】Empty Ability
3.填写项目名,WenXinTalk,应用包名com.WenXinTalk,应用存储位置XXX(不要有中文,特殊字符,空格)
Compile SDK10,Model :Stage
Device Type 默认就可以。
node,建议16.20.1
完成以上配置以后点击Finish
4.选择在新窗口打开,等待依赖加载完毕。如图所示。
如果大家加载依赖报错的话,检查自己的网络。
二、运行HelloWord
1.给开发板供电,并连接开发板到电脑,如图所示
2.签名
签名的步骤:
点击File->Project struct
点击Apply或者ok就可以,。
现在点击按钮运行项目。
控制台打印信息
证明项目已经成功运行在开发板上。
如果报错
则需要去签名
三、修改图标和名称
修改应用图标和名称:
目录在AppScope/app.json5
修改完毕之后如图所示
修改成功之后,如图所示
打开方式,在设置-应用管理一栏。
修改桌面图标和名称
修改src/main/module.json5中如图所示的label和icon。
我们修改label的时候,修改中文目录下的就可以
修改中文目录的即可
修改结果如下
四、添加相关权限
因为需要用到网络数据,所以添加initent权限。
在src/main/module.json5中modele中添加配置,然后按sync就可以。
五、定义数据模型
1.在ets目录下新建model文件夹
2.新建TS File
六、加载网络数据
接口说明
准备好数据,
接口地址:https://aip.baidubce.com/rpc/2.0/ai_custom/v1/wenxinworkshop/chat/completions_pro
请求方法:POST
请求参数:
Header参数
名称 | 值 |
---|---|
Content-Type | application/json |
Query参数
名称 | 类型 | 必填 | 描述 |
---|---|---|---|
access_token | string | 是 | 通过API Key和Secret Key获取的access_token,参考Access Token获取 |
Body参数
名称 | 类型 | 必填 | 描述 |
---|---|---|---|
messages | List(message) | 是 | 聊天上下文信息。说明: (1)messages成员不能为空,1个成员表示单轮对话,多个成员表示多轮对话 (2)最后一个message为当前请求的信息,前面的message为历史对话信息 (3)必须为奇数个成员,成员中message的role必须依次为user(or function)、assistant (4)最后一个message的content长度(即此轮对话的问题)不能超过2400 token;如果messages中content总长度大于2400 token,系统会依次遗忘最早的历史会话,直到content的总长度不超过2400 token |
temperature | float | 否 | 说明: (1)较高的数值会使输出更加随机,而较低的数值会使其更加集中和确定 (2)默认0.95,范围 (0, 1.0],不能为0 (3)建议该参数和top_p只设置1个 (4)建议top_p和temperature不要同时更改 |
top_p | float | 否 | 说明: (1)影响输出文本的多样性,取值越大,生成文本的多样性越强 (2)默认0.8,取值范围 [0, 1.0] (3)建议该参数和temperature只设置1个 (4)建议top_p和temperature不要同时更改 |
penalty_score | float | 否 | 通过对已生成的token增加惩罚,减少重复生成的现象。说明: (1)值越大表示惩罚越大 (2)默认1.0,取值范围:[1.0, 2.0] |
stream | bool | 否 | 是否以流式接口的形式返回数据,默认false |
system | string | 否 | 模型人设,主要用于人设设定,例如,你是xxx公司制作的AI助手,说明: (1)长度限制1024个字符 (2)如果使用functions参数,不支持设定人设system |
user_id | string | 否 | 表示最终用户的唯一标识符,可以监视和检测滥用行为,防止接口恶意调用 |
在这个WenXinTalk App中我们主要使用参数messages
测试接口
测试如图所示
返回数据
创建HTTP请求
1.导入http模块
2.创建createHttp
3.填写HTTP地址
4.对网络数据的处理
完成以上配置以后
5.在应用程序里测试网络请求
如图所示
测试成功
如果2300006错误码,请检查网络
如果201错误码,请检查module.json中网络权限是否配置!
七、UI
数据获取到之后,我们就剩在页面上显示了。
首页
U I布局如图所示。
八、完整源码
在HarmonyOS 4.0设备上运行
(主要介绍与在OpenHarmony中开发时的不同,相同点不在赘述)
运行环境
HUAWEI Mate 40 : HarmonyOS 4.0.0
SDK:3.1.0(API 9)
IDE:4.0.600
一、在创建应用时选择第一个
如图
二、签名
签名时选择support HarmonyOS
需要登录华为账号后继续签名
三、注释掉源码中不支持API 9的部分
网络声明时直接使用即可
其余部分与在开发板上运行都相同,直接运行即可
九、总结
本文我们学习使用了基本组件的使用,网络请求以及状态管理,使用了ForEach循环渲染来构建对话界面。
并且在HarmonyOS设备上成功运行
十、FAQ
2300006 域名解析失败
错误信息
Couldn’t resolve host name.
错误描述
服务器的域名无法解析。
可能原因
1.传入的服务器的URL不正确。
2.网络不通畅。
处理步骤
1.请检查输入的服务器的URL是否合理。
2.请检查网络连接情况
201错误码
检查moudle.json5的网络权限是否添加
很完整的讲解,感谢分享
必须给点赞
支持作者
这个厉害
好详细,点赞
大佬你好显示AccessTokenExpired这个报错要怎么处理呢
过期了,重新申请一个
有啥办法可以连kimi吗
很厉害的教学