一行代码不用写,用 Autoflow + Gitee AI 搭建本地知识库问答机器人

360影视 2025-01-22 14:34 3

摘要:AutoFlow是 PingCAP 开源的一个基于TiDB Vector、LlamaIndex和DSPy构建的 Graph RAG 知识库工具,可以让开发者快速构建一个对话式知识库聊天助手,现已正式开源。

AutoFlow是 PingCAP 开源的一个基于TiDB Vector、LlamaIndex和DSPy构建的 Graph RAG 知识库工具,可以让开发者快速构建一个对话式知识库聊天助手,现已正式开源。

在AutoFlow的0.4.0版本中,新增了 gitee AI 作为大语言模型及向量模型的提供方

马建仓看到本次更新后也是迫不及待上手实践,最终实现了一行代码没写,快速搭建出了一个基于本地知识库的问答机器人,那么下面就和马建仓一起开始吧!

AutoFlow 的部署和使用需要 Docker Compose,未安装的开发者请在部署AutoFlow前准备好 Docker 环境。

由于在部署 AutoFlow 时需要配置 TiDB 数据库,开发可选择v8.4版本以上的 TiDB 数据库(支持向量搜索功能),或和马建仓一样直接选择TiDB Cloud Serverless,可以快速实现数据库的部署。

AutoFlow 可通过 API 的方式调用模型提供方的模型,所以需要准备好 Gitee AI 访问令牌供配置 AutoFlow 时使用。

前往工作台-设置-访问令牌,点击新建访问令牌,选择对应的资源包即可(马建仓这里推荐全模型资源包)。

准备工作完成后,即可进行 AutoFlow 的部署工作:

git clone https://github.com/pingcap/autoflow.git;cd autoflow/;cp .env.example .envvim .env #或使用其他文本编辑器编辑

在编辑.env文件时,首先需要配置一枚 32 位的SECRECT_KEY(可使用命令行或在线工具生成),随后
填入 TiDB Cloud Serverless 中相关的数据库信息,点击Generate Password生成密码后,将相关数据库信息以及SECRECT_KEY填写进.env文件,如下图所示:

docker compose run backend /bin/sh -c "alembic upgrade head"# 使用默认管理员凭证(用户名:admin@example.com,随机密码)docker compose run backend /bin/sh -c "python bootstrap.py"# 也可以自定义管理员凭证的邮箱docker compose run backend /bin/sh -c "python bootstrap.py --email new-admin@example.com"

运行引导脚本会创建一个管理员用户,你可以在输出中找到用户名和密码,如下图:

启动服务docker compose up

打开浏览器访问http://localhost:3000即可访问部署好的 AutoFlow 服务。

接下来需要对 AutoFlow 使用的大语言模型、向量模型、知识库、聊天引擎进行设置。

大语言模型配置

在左侧管理选项中选择Models-LLMs,点击+ NEW LLM,为要使用的大语言模型起一个名字,并选择Gitee AI为模型提供方。

选择后,会自动选择使用的大语言模型(默认为Qwen2.5-72B-Instruct),开发者只需在Gitee AI API Key处填入刚才生成的 Gitee AI 访问令牌,点击Creat LLM即可。

向量模型配置

和配置大语言模型的流程相似,选择Models-Embedding Models后进行相同的设置即可。

⚠️ 需要注意的是,向量模型设置中新增了向量维度选项,这里需填写该模型支持的向量维度,如默认的bge-large-zh-v1.5模型向量维度为1024。

知识库配置

模型相关信息配置完成后就可以进行知识库的配置了,选择左侧Knowledge Bases,填写知识库名称及描述,选择刚才创建的大语言模型和向量模型后即可创建知识库。

创建完成后,我们就可以创建数据源了,AutoFlow 支持本地文件、网页、Sitemap 三种数据源,本次马建仓将以《开源指北》本地文件为例配置知识库。

AutoFlow 支持上传Markdown、PDF、Word、PPT、Excel、TXT文件,上传完成后点击Creat即可创建数据源。

创建知识库后进行的是建立知识库索引的工作,AutoFlow 会自动完成这部分工作,Vector Index显示全为绿色时即为索引建立完成。

聊天引擎配置

最后一步,我们需要配置聊天引擎(Chat Engine)。点击Chat Engines-New Chat Engine即可进入下图页面。

在聊天引擎配置中,必须配置项为名称、使用的大语言模型以及所连接的知识库。

此外,你也可以更改提示词以自定义用户的聊天体验(非必须项):

至此,一个简单的基于本地知识库的问答机器人就部署完成了。

完成配置后,可进入Settings为你的问答机器人进行个性化设置,设置自己的网页标题、Logo、预设提问等等。

现在一个属于《开源指北》的问答机器人就可以正式开始使用了!

提出问题后,AutoFlow 将通过识别问题的核心意图、在知识库中搜索相关上下文、重写查询以增强信息检索、检索最相关的数据、使用 AI 生成精准答案五个步骤产出最终的答案。

同时 AutoFlow 也会列出知识库相关的文档供你查看。

产出的回答如下图,看来 AutoFlow 很快就学习到了《开源指北》的核心内容,值得点赞!

现在一个《开源指北》问答机器人就正式完成,可以将其正式部署上线了。除了网页端外,AutoFlow 还支持在网页中嵌入 JavaScript 片段,将对话窗口集成到网站中。

那么以上就是本次马建仓基于 AutoFlow + Gitee AI 搭建本地知识库问答机器人的实践分享,真正做到了一行代码不用写且部署快速方便,希望能对开发者们有所帮助,我们下次实践分享再见!

来源:码云Gitee

相关推荐