一行代码不用写,用Autoflow+GiteeAI搭建本地知...

开源其实不简单 2025-01-22 20:24:41

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

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

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

准备工作Docker Compose

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

TiDB Cloud Serverless

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

Gitee AI 访问令牌

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

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

AutoFlow 部署

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

克隆项目到本地git clone https://github.com/pingcap/autoflow.git;cd autoflow/;复制并编辑.env文件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 配置

接下来需要对 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 搭建本地知识库问答机器人的实践分享,真正做到了一行代码不用写且部署快速方便,希望能对开发者们有所帮助,我们下次实践分享再见!

0 阅读:0

开源其实不简单

简介:感谢大家的关注