2025年2月8日-周报
本周的学习内容
1.参考现有的各个LLM对话应用,学习如何设计Harmony OS上的LLM对话应用界面
2.学习Harmony OS上基于ArkTS的网络库,了解网络请求的发送与接收,为LLM应用通过网络调用API操作做相关技术验证。
API调用文档
3.更新博客ArkTS自定义组件——简单实现一个带有防抖功能的按钮内容,查找到已有开源项目实现了自定义组件的限流功能,项目地址如下:项目地址
4.基于阿里云百炼平台RAG智能体应用实现一个简单的Harmony OS开发者文档助手应用
学习成果
1.参考开源项目的代码,学习了如何构建一个基本的LLM对话框应用
效果图如下:
参考项目地址:参考项目地址
存在的问题
1.对于LLM对话应用,目前只实现了一个对话框的雏形,还有非常多的模块需要实现,包括数据存储管理、网络请求等等;同时,需要逐步完善应用的开发文档
2.在尝试通过ArkTS实现调用LLM对应的API时出现了一些问题,ArkTS的网络请求库axios存在一些缺陷,同时ArkTS自身也存在一些过于严格的限制:ArkTS严格要求不允许使用字面量对象;也就是说每一个对象的实例都要先有对象的类声明存在,但是API的文档中提供的网络请求参数的对象(JS版本)是一个复杂的嵌套JSON对象。
//JSON对象对应的JS 字面量对象
const data = {
input: {
prompt: "tell me about hvigor?"
},
parameters: {
rag_options:{
pipeline_ids:['uk8z8fylbu'] // 替换为指定的知识库 ID,多个请用逗号隔开
}
},
debug: {}
};
而在ArkTS中声明与这个嵌套的JSON对象相对应的存在嵌套的接口或/类时发生了报错Some of utility types are not supported (arkts-no-utility-types) <ArkTSCheck>
,然而这个报错所对应的问题在文档中并无对应的明确的描述不支持一些utility类型
,因此现在无法解决构造网络请求体的问题,因此暂时没有成功实现通过网络请求调用API。
未来的规划
1.继续完善应用
2.查找更多的已有解决方案,同时需要深入研究ArkTS的语言特性,解决网络调用问题。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 25岁的心里话
· 按钮权限的设计及实现