打開網(wǎng)易新聞 查看精彩圖片

導(dǎo)讀

AutoFlow 是 PingCAP 開源的 Graph RAG 知識(shí)庫(kù)工具,基于 TiDB Vector、LlamaIndex 和 DSPy 構(gòu)建,開發(fā)者可快速搭建對(duì)話式知識(shí)庫(kù)聊天助手。最新的 0.4.0 版本支持 Gitee AI,為本地知識(shí)庫(kù)問答機(jī)器人提供強(qiáng)大支撐。本文詳解 AutoFlow從部署到配置的完整流程,包括數(shù)據(jù)庫(kù)連接、模型設(shè)置、知識(shí)庫(kù)創(chuàng)建及聊天引擎配置,實(shí)現(xiàn)了一行代碼不用寫的問答機(jī)器人快速搭建。輕松上手,助力開發(fā)者探索智能問答解決方案。

打開網(wǎng)易新聞 查看精彩圖片

AutoFlow是 PingCAP 開源的一個(gè)基于TiDB Vector、LlamaIndex和DSPy構(gòu)建的 Graph RAG 知識(shí)庫(kù)工具,可以讓開發(fā)者快速構(gòu)建一個(gè)對(duì)話式知識(shí)庫(kù)聊天助手,現(xiàn)已在 GitHub 正式開源。

打開網(wǎng)易新聞 查看精彩圖片

在AutoFlow的0.4.0版本中,新增了 Gitee AI 作為大語(yǔ)言模型及向量模型的提供方

打開網(wǎng)易新聞 查看精彩圖片

馬建倉(cāng)看到本次更新后也是迫不及待上手實(shí)踐,最終實(shí)現(xiàn)了一行代碼沒寫,快速搭建出了一個(gè)基于本地知識(shí)庫(kù)的問答機(jī)器人,那么下面就和馬建倉(cāng)一起開始吧!

打開網(wǎng)易新聞 查看精彩圖片

Docker Compose

AutoFlow 的部署和使用需要 Docker Compose,未安裝的開發(fā)者請(qǐng)?jiān)诓渴餉utoFlow前準(zhǔn)備好 Docker 環(huán)境。

打開網(wǎng)易新聞 查看精彩圖片

TiDB Cloud Serverless

由于在部署 AutoFlow 時(shí)需要配置 TiDB 數(shù)據(jù)庫(kù),開發(fā)可選擇v8.4版本以上的 TiDB 數(shù)據(jù)庫(kù)(支持向量搜索功能),或和馬建倉(cāng)一樣直接選擇TiDB Cloud Serverless,可以快速實(shí)現(xiàn)數(shù)據(jù)庫(kù)的部署。

打開網(wǎng)易新聞 查看精彩圖片

Gitee AI 訪問令牌

AutoFlow 可通過 API 的方式調(diào)用模型提供方的模型,所以需要準(zhǔn)備好 Gitee AI 訪問令牌供配置 AutoFlow 時(shí)使用。

前往工作臺(tái)-設(shè)置-訪問令牌,點(diǎn)擊新建訪問令牌,選擇對(duì)應(yīng)的資源包即可(馬建倉(cāng)這里推薦全模型資源包)。

打開網(wǎng)易新聞 查看精彩圖片
打開網(wǎng)易新聞 查看精彩圖片

準(zhǔn)備工作完成后,即可進(jìn)行 AutoFlow 的部署工作:

克隆項(xiàng)目到本地

gitclonehttps://github.com/pingcap/autoflow.git;
cdautoflow/;

復(fù)制并編輯 .env 文件

cp.env.example.env
vim.env#或使用其他文本編輯器編輯

在編輯.env文件時(shí),首先需要配置一枚 32 位的SECRECT_KEY(可使用命令行或在線工具生成),隨后 填入 TiDB Cloud Serverless 中相關(guān)的數(shù)據(jù)庫(kù)信息,點(diǎn)擊Generate Password生成密碼后,將相關(guān)數(shù)據(jù)庫(kù)信息以及SECRECT_KEY填寫進(jìn).env文件,如下圖所示:

打開網(wǎng)易新聞 查看精彩圖片

獲取服務(wù)器信息

打開網(wǎng)易新聞 查看精彩圖片

填入服務(wù)器信息及 SECRECT_KEY

遷移數(shù)據(jù)庫(kù)架構(gòu)

dockercomposerunbackend/bin/sh-c"alembicupgradehead"

使用初始數(shù)據(jù)引導(dǎo)數(shù)據(jù)庫(kù)

#使用默認(rèn)管理員憑證(用戶名:admin@example.com,隨機(jī)密碼)
dockercomposerunbackend/bin/sh-c"pythonbootstrap.py"
#也可以自定義管理員憑證的郵箱
dockercomposerunbackend/bin/sh-c"pythonbootstrap.py--emailnew-admin@example.com"

運(yùn)行引導(dǎo)腳本會(huì)創(chuàng)建一個(gè)管理員用戶,你可以在輸出中找到用戶名和密碼,如下圖:

打開網(wǎng)易新聞 查看精彩圖片

啟動(dòng)服務(wù)

dockercomposeup

打開瀏覽器訪問http://localhost:3000即可訪問部署好的 AutoFlow 服務(wù)。

打開網(wǎng)易新聞 查看精彩圖片
打開網(wǎng)易新聞 查看精彩圖片

接下來需要對(duì) AutoFlow 使用的大語(yǔ)言模型、向量模型、知識(shí)庫(kù)、聊天引擎進(jìn)行設(shè)置。

大語(yǔ)言模型配置

在左側(cè)管理選項(xiàng)中選擇Models - LLMs ,點(diǎn)擊+ NEW LLM ,為要使用的大語(yǔ)言模型起一個(gè)名字,并選擇Gitee AI為模型提供方。

打開網(wǎng)易新聞 查看精彩圖片

選擇后,會(huì)自動(dòng)選擇使用的大語(yǔ)言模型(默認(rèn)為Qwen2.5-72B-Instruct ),開發(fā)者只需在Gitee AI API Key處填入剛才生成的 Gitee AI 訪問令牌,點(diǎn)擊Creat LLM即可。

向量模型配置

和配置大語(yǔ)言模型的流程相似,選擇Models-Embedding Models后進(jìn)行相同的設(shè)置即可。

打開網(wǎng)易新聞 查看精彩圖片

?? 需要注意的是,向量模型設(shè)置中新增了向量維度選項(xiàng),這里需填寫該模型支持的向量維度,如默認(rèn)的bge-large-zh-v1.5模型向量維度為1024。

知識(shí)庫(kù)配置

模型相關(guān)信息配置完成后就可以進(jìn)行知識(shí)庫(kù)的配置了,選擇左側(cè)Knowledge Bases,填寫知識(shí)庫(kù)名稱及描述,選擇剛才創(chuàng)建的大語(yǔ)言模型和向量模型后即可創(chuàng)建知識(shí)庫(kù)。

打開網(wǎng)易新聞 查看精彩圖片

創(chuàng)建完成后,我們就可以創(chuàng)建數(shù)據(jù)源了,AutoFlow 支持本地文件、網(wǎng)頁(yè)、Sitemap 三種數(shù)據(jù)源,本次馬建倉(cāng)將以《開源指北》本地文件為例配置知識(shí)庫(kù)。

打開網(wǎng)易新聞 查看精彩圖片

AutoFlow 支持上傳Markdown、PDF、Word、PPT、Excel、TXT文件,上傳完成后點(diǎn)擊 Creat 即可創(chuàng)建數(shù)據(jù)源。

打開網(wǎng)易新聞 查看精彩圖片

創(chuàng)建知識(shí)庫(kù)后進(jìn)行的是建立知識(shí)庫(kù)索引的工作,AutoFlow 會(huì)自動(dòng)完成這部分工作,Vector Index顯示全為綠色時(shí)即為索引建立完成。

打開網(wǎng)易新聞 查看精彩圖片

聊天引擎配置

最后一步,我們需要配置聊天引擎(Chat Engine)。點(diǎn)擊Chat Engines-New Chat Engine即可進(jìn)入下圖頁(yè)面。

在聊天引擎配置中,必須配置項(xiàng)為名稱、使用的大語(yǔ)言模型以及所連接的知識(shí)庫(kù)。

打開網(wǎng)易新聞 查看精彩圖片

配置名稱及模型

打開網(wǎng)易新聞 查看精彩圖片

連接知識(shí)庫(kù)

此外,你也可以更改提示詞以自定義用戶的聊天體驗(yàn)(非必須項(xiàng)):

打開網(wǎng)易新聞 查看精彩圖片

點(diǎn)擊自定義提示詞

至此,一個(gè)簡(jiǎn)單的基于本地知識(shí)庫(kù)的問答機(jī)器人就部署完成了。

完成配置后,可進(jìn)入Settings為你的問答機(jī)器人進(jìn)行個(gè)性化設(shè)置,設(shè)置自己的網(wǎng)頁(yè)標(biāo)題、Logo、預(yù)設(shè)提問等等。

打開網(wǎng)易新聞 查看精彩圖片

現(xiàn)在一個(gè)屬于《開源指北》的問答機(jī)器人就可以正式開始使用了!

打開網(wǎng)易新聞 查看精彩圖片

提出問題后,AutoFlow 將通過識(shí)別問題的核心意圖 、在知識(shí)庫(kù)中搜索相關(guān)上下文、重寫查詢以增強(qiáng)信息檢索、檢索最相關(guān)的數(shù)據(jù)、使用 AI 生成精準(zhǔn)答案五個(gè)步驟產(chǎn)出最終的答案。

同時(shí) AutoFlow 也會(huì)列出知識(shí)庫(kù)相關(guān)的文檔供你查看。

打開網(wǎng)易新聞 查看精彩圖片

產(chǎn)出的回答如下圖,看來 AutoFlow 很快就學(xué)習(xí)到了《開源指北》的核心內(nèi)容,值得點(diǎn)贊!

打開網(wǎng)易新聞 查看精彩圖片

現(xiàn)在一個(gè)《開源指北》問答機(jī)器人就正式完成,可以將其正式部署上線了。除了網(wǎng)頁(yè)端外,AutoFlow 還支持在網(wǎng)頁(yè)中嵌入 JavaScript 片段,將對(duì)話窗口集成到網(wǎng)站中。

打開網(wǎng)易新聞 查看精彩圖片

那么以上就是本次馬建倉(cāng)基于 AutoFlow + Gitee AI 搭建本地知識(shí)庫(kù)問答機(jī)器人的實(shí)踐分享,真正做到了一行代碼不用寫且部署快速方便,希望能對(duì)開發(fā)者們有所幫助,我們下次實(shí)踐分享再見!