跳至主要内容

SearchQA 建置教學

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

v0.3.0 新增了 SearchQA,可透過串接 Google search 進行組織網站問答。
本文將協助您了解如何建置 SearchQA。

申請Google API key

警告

Google search API 目前每日免費額度為每日100次,請注意用量

  1. 前往 Google 程式化搜尋引擎建立頁面,填入以下資訊以建立自訂搜尋引擎
  1. 新搜尋引擎建立後點擊 "Customize" 去複製 CSE ID (Custom Search Engine ID) 與 API key

  2. 在 Overview 區段下可以找到 Search engine ID,記住這個 ID,後續以 CSE ID 代稱

  3. 往下滾動頁面,然後前往 Custom Search JSON API

  4. 點擊 "Get a Key" 按鈕取的 API key

  5. 可以使用現有的 Google cloud 專案或是建立一個新專案

  6. 點擊 SHOW KEY 即可顯示 API key,記下這個 key,後續會用到

Windows 版教學

  1. 執行 C:\kuwa\GenAI OS\windows\executors\SearchQA\init.bat,依序填入剛剛申請的 API key 與 CSE ID,
    如果想將搜尋結果限制在某些網域下的話可以在 restricted sites 中填入,若有多個網域請以分號(;)分隔

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

  3. 重新載入後即可看到 SearchQA,可以利用他針對網路上的資料進行問答

Docker版教學

  1. 請參考 docker/compose/searchqa.yaml 建立 SearchQA Executor。
    <YOUR_GOOGLE_API_KEY><YOUR_GOOGLE_CUSTOM_SEARCH_ENGINE_ID> 替換成前一階段申請的 API key 與 CSE ID,
    EXECUTOR_NAME可以更換成容易記憶的名稱。
    --restricted_sites 可以將搜尋結果限制在某些網域下,若有多個域名的話請以分號(;)分隔
    --model 參數可以指定使用某個模型回答,若省略--model參數則會選用 Kernel 中在線的第一個 Executor (排除含有 "-qa" 前後綴的 Executor) 進行回答。

    services:
    searchqa-executor:
    build:
    context: ../../
    dockerfile: docker/executor/Dockerfile
    image: kuwa-executor
    environment:
    CUSTOM_EXECUTOR_PATH: ./docqa/searchqa.py
    EXECUTOR_ACCESS_CODE: search-qa
    EXECUTOR_NAME: SearchQA
    depends_on:
    - kernel
    - multi-chat
    command: [
    "--api_base_url", "http://web/",
    "--model", "gemini-pro",
    "--google_api_key", "<YOUR_GOOGLE_API_KEY>",
    "--google_cse_id", "<YOUR_GOOGLE_CUSTOM_SEARCH_ENGINE_ID>",
    #"--restricted_sites", "example.tw;example.com"
    ]
    extra_hosts:
    - "localhost:host-gateway"
    restart: unless-stopped
    networks: ["backend", "frontend"]
  2. searhcqa 加入 docker/run.shconfs 陣列中,然後重新執行 docker/run.sh 即可啟動 SearchQA Executor