跳至主要内容

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.sh 的 confs 陣列中,然後重新執行 docker/run.sh 即可啟動 SearchQA Executor