v0.3.0 新增了 SearchQA,可透過串接 Google search 進行組織網站問答。
本文將協助您了解如何建置 SearchQA。
申請Google API key
Google search API 目前每日免費額度為每日100次,請注意用量
- 前往 Google 程式化搜尋引擎建立頁面,填入以下資訊以建立自訂搜尋引擎
-
新搜尋引擎建立後點擊 "Customize" 去複製 CSE ID (Custom Search Engine ID) 與 API key
-
在 Overview 區段下可以找到 Search engine ID,記住這個 ID,後續以 CSE ID 代稱
-
往下滾動頁面,然後前往 Custom Search JSON API
-
點擊 "Get a Key" 按鈕取的 API key
-
可以使用現有的 Google cloud 專案或是建立一個新專案
-
點擊 SHOW KEY 即可顯示 API key,記下這個 key,後續會用到
Windows 版教學
-
執行
C:\kuwa\GenAI OS\windows\executors\SearchQA\init.bat
,依序填入剛剛申請的 API key 與 CSE ID,
如果想將搜尋結果限制在某些網域下的話可以在restricted sites
中填入,若有多個網域請以分號(;)分隔
-
重新開啟 Kuwa,或是回到 Kuwa GenAI OS 的命令列,輸入 "reload" 指令即可重新載入所有 Executor
-
重新載入後即可看到 SearchQA,可以利用他針對網路上的資料進行問答
Docker版教學
-
請參考
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"] -
將
searhcqa
加入docker/run.sh
的confs
陣列中,然後重新執行docker/run.sh
即可啟動 SearchQA Executor