使用 RAG 学习 HarmonyOS

lgc653 · 6 小时前 · 103 次点击

背景介绍

随着微信 HarmonyOS 版本的发布,HarmonyOS 已经构筑了自己的基本版图,未来在信创领域也将大有所为,而目前熟悉 HarmonyOS 的开发者还比较少,网上相关的资料也比较落后,导致搜索引擎和 AI 大模型的检索、对话质量都不高。

那么遇到了疑难问题,我们除了查询 API 文档,是否还有更加便捷一些的办法呢,这里我使用了 RAG 技术,根据网络公开分享的 HarmonyOS 文档以及OpenHarmony代码仓库制作了 HarmonyOS 的资料库。

为了应对向量检索命中率并不优秀的弱点,这里加入了全文索引和一些自定义的 RANK 规则组成混合索引,实际应用中效果还是非常不错。在日常开发和学习 HarmonyOS 时都有不错的效果。

技术方案

现在的 RAG 技术大多基于云平台,部署比较麻烦,运行也比较消耗资源,我这里采用的轻量级的方案:

  • 界面使用 electron 开发,所有技术栈基于 nodejs ,最终成品一键安装。
  • 基于本地文件目录做索引,方便快捷,文件管理轻松自如
  • 使用 langchain 做 document_loaders ,并自己根据不同文件类型开发了分块函数
  • 使用 lancedb 做本地向量库,无需任何第三方依赖
  • 使用 transformers.js 做 embedding ,当然也支持调用大模型的 embedding API
  • 使用 sqlite3 做全文索引
  • 使用 jieba 进行分词,根据词性和权重进行关键词过滤重排
  • 使用大模型 API 进行对话

实际使用过程中,这套方案部署简单(一键本地安装),查询质量也并不比大型 RAG 系统差,当然主要是以下几个原因

  • 向量查询+全文索引能够起到很好的组合作用,通过配置参数可以让两者起到很好的互补,比如使用“全文索引+jieba 分词的词性或权重过滤+选用 AND 还是 OR 的逻辑”的简单配置,可以大幅提升知识库命中率
  • 自定义的 rerank 规则,虽然不及现在的 rerank 模型先进,但是简单有效
  • 根据不同文件类型的特点,自定义了分块函数,比如 markdown 优先按照标题分割,然后再进一步分块,这样比无脑按 token 大小分块更加能保持上下文的完整性

产品实现

新建知识库

我这里自己做了一个示例,大家可以下载看看效果。

下载地址: https://pan.baidu.com/s/1bZ4sCG21yZJEz2JqIES7YQ?pwd=aw8w ,下载HarmonyOS 应用开发者基础认证.zip后解压到硬盘任意目录,

左侧主菜单选择知识库知识库设置,新建时目录选择刚才的HarmonyOS 应用开发者基础认证.zip解压目录

image-20250115141337947

验证索引

索引已经建好,执行验证索引操作验证一下,在列表中找到刚才新建的知识库,点击索引按钮。

image-20250115141856194

验证完成后索引按钮前的图标变成✅即可

知识库应用

知识库问答

image-20250115142237447

如果对大模型的回答有疑虑,可以点击左侧图标打开文件进行详细学习和进一步的 AI 问答

image-20250115142349636

图片识别

网络中获取的一些资料不是文本格式,不利于搜索问答,例如

image-20250115142958387

通过图片识别功能(需模型支持多模态功能)来识别题目后进行问答

image-20250115143216119

image-20250115143243040

HTTP 服务器模式

一台机器知识库开启 HTTP 服务器,同局域网中所有设备均可访问,轻松将本地资料库分享给大家

image-20250115143544249

使用 HTTP 服务器时,如您的模型需要借助特定软件上网才能访问,请使用特定软件的Tun 模式

image-20250115144010196

其它设置

  • 向量搜索阈值:评级值越小代表匹配的更好。大于这个阈值的数据将不会被命中,设为 0 则代表不使用阈值,推荐在 0.6 到 1.0 之间。
  • 全文索引关键字阈值: 全文索引关键字阈值,关键字权重小于此阈值的,不被作为全文索引关键字,推荐在 5 到 8 之间。
  • 全文索引关键字匹配个数:全文索引关键字匹配个数,个数越多越精确。小于这个个数的数据将不会被命中,推荐在 1 到 3 之间。

以上参数设置为推荐即可,一般不需要改变

比较重要的全文索引匹配规则

  • 精准:适合判断题、单选题
  • 宽松:适合多选题、简答题

扩展知识库

如果下载的知识库不能让你满意,可以自行扩展知识库,知识库支持 pdf 、docx 、doc 、pptx 、ppt 、epub 、md 、markdown 、srt 、txt 、html 等多种文件格式进行索引。

拷贝对应文件到文件夹,点击索引按钮,选择全量索引增量索引即可

image-20250115144855294

索引生成完毕可以将您的文件夹拷贝分享给其它人

相关下载

Local Agents

HarmonyOS 知识库

该知识库为《 HarmonyOS 应用开发者基础认证》构建,内容来源于网络公开分享的 HarmonyOS 文档、题目以及OpenHarmony代码仓库。

下载HarmonyOS 应用开发者基础认证.zip后解压到硬盘任意目录

配置模型

需要配合大模型使用,需要申请大模型 apiKey

举报· 103 次点击
登录 注册 站外分享
快来抢沙发
0 条回复  
返回顶部