API 使用手冊
akasha 提供了一個 RESTful API 伺服器,允許使用者通過 HTTP 請求來調用其核心功能,包括摘要 (summary)、文件檢索與生成 (RAG)、提問 (ask)、以及網頁搜尋 (websearch)。
啟動 API 伺服器
在終端啟動 API 伺服器:
1 | akasha api -p 8000 -h 127.0.0.1 |
-p:指定伺服器的埠號(預設為 8000)。-h:指定伺服器的主機地址(預設為127.0.0.1)。
API 功能
1. 提問 (/ask)
使用語言模型回答問題,並可基於提供的內容進行回答。
範例
1 | import requests |
請求參數
prompt: 使用者的問題。info: 提供的內容,可以是文字、文件路徑或網址。model: 使用的語言模型,例如"openai:gpt-3.5-turbo"。system_prompt: 指示語言模型的輸出格式需求。temperature: 語言模型的隨機性參數。env_config: 環境變數配置,例如 API 金鑰。
2. 文件檢索與生成 (/RAG)
基於提供的文件資料來源,檢索相關內容並生成回答。
範例
1 | rag_data = { |
請求參數
data_source: 文件資料來源,可以是目錄或文件路徑。prompt: 使用者的問題。chunk_size: 文件分塊大小。model: 使用的語言模型。embedding_model: 使用的嵌入模型。threshold: 檢索的相似性閾值。search_type: 檢索類型,例如"auto"。system_prompt: 指示語言模型的輸出格式需求。max_input_tokens: 單次輸入的最大 token 數。temperature: 語言模型的隨機性參數。env_config: 環境變數配置。
3. 摘要 (/summary)
對提供的內容進行摘要,支援多種摘要方法。
範例
1 | summary_data = { |
請求參數
content: 需要摘要的內容,可以是文件路徑、網址或純文字。summary_type: 摘要方法,例如"map_reduce"或"refine"。summary_len: 摘要的建議長度。model: 使用的語言模型。system_prompt: 指示語言模型的輸出格式需求。env_config: 環境變數配置。
4. 網頁搜尋 (/websearch)
使用搜尋引擎搜尋問題相關的資訊,並使用語言模型整合回答。
範例
1 | websearch_data = { |
請求參數
prompt: 使用者的問題。model: 使用的語言模型。system_prompt: 指示語言模型的輸出格式需求。temperature: 語言模型的隨機性參數。search_engine: 搜尋引擎,例如"serper"、"brave"或"wiki"。search_num: 搜尋結果的數量。env_config: 環境變數配置。
環境變數配置
在請求中可以通過 env_config 傳遞環境變數,例如:
1 | { |
API 返回格式
所有 API 返回的 JSON 格式如下:
1 | { |
相關連結
- 文件搜尋
- 設定語言模型