跳至主要内容

DB QA/RAG 建置教學

· 閱讀時間約 3 分鐘
Yung-Hsiang Hu

v0.3.0 新增了 RAG toolchain,讓使用者可以將本機文件資料夾透過簡易拖拉的方式,建立成自有的向量資料庫並進行問答,
本文將協助您了解如何透過 Kuwa 的 RAG toolchain 建立自有向量資料庫與相關 Bot。

Windows 版教學

警告
  1. 目前僅支援英文路徑的文件,請確保文件的路徑沒有中文
  2. 若先前已經安裝過 Kuwa,請將 C:\kuwa\GenAI OS\windows\packages\xpdf-tools-win-4.05 目錄刪除,並重新執行 C:\kuwa\GenAI OS\windows\build.bat
  1. 將單一文件或是文件目錄拖曳至桌面的 Create VectorDB 捷徑上,以這個腳本開啟。如果沒有這個捷徑的話可以將文件拖曳至 C:\kuwa\GenAI OS\windows\construct_rag.bat
  1. 腳本會自動建立向量資料庫與相關 Bot,如果出現如附圖畫面表示建立成功

  2. 重新開啟Kuwa,或是回到Kuwa GenAI OS的命令列,輸入 reload 指令即可重新載入所有 Executor

  3. 重新載入完畢後即可看到與文件目錄名稱一樣的 Bot,即可開始針對本機資料庫進行問答

Docker 版教學

  1. 請參考文件 genai-os/src/toolchain/README_TW.md 使用指令建立向量資料庫

  2. 請參考 docker/compose/dbqa.yaml 建立 DB QA Executor。
    將 volume 中的 </path/to/vector-database> 改成向量資料庫在 Host 上的位置,
    EXECUTOR_NAME可以更換成容易記憶的名稱。
    --model 參數可以指定使用某個模型回答,若省略--model參數則會選用 Kernel 中在線的第一個 Executor (排除含有 "-qa" 前後綴的 Executor) 進行回答。

    services:
    dbqa-executor:
    build:
    context: ../../
    dockerfile: docker/executor/Dockerfile
    image: kuwa-executor
    environment:
    CUSTOM_EXECUTOR_PATH: ./docqa/docqa.py
    EXECUTOR_ACCESS_CODE: db-qa
    EXECUTOR_NAME: DB QA
    volumes: [ "</path/to/vector-database>:/var/database" ]
    depends_on:
    - kernel
    - multi-chat
    command: [
    "--api_base_url", "http://web/",
    "--model", "gemini-pro"
    "--database", "/var/database"
    ]
    restart: unless-stopped
    networks: ["backend", "frontend"]
  3. dbqa 加入 docker/run.shconfs 陣列中,然後重新執行 docker/run.sh 即可啟動 DB QA Executor

  4. 若有多個資料庫要加入的話,複製 docker/compose/dbqa.yaml,並修改 service 名稱與向量資料庫的 volume 位置即可