使用知識庫—建立與互動
本指南將說明如何使用公開 REST API 來管理知識庫中的檔案,並說明整合應用例子。
概述
MaiAgent 提供開發者透過 API 管理知識庫檔案的能力。開發者可以在工作區內對知識庫進行以下操作:
上傳新檔案到知識庫
查詢知識庫中的所有檔案
更新現有檔案的資訊
刪除單一或批次檔案
知識庫操作
建立知識庫


在開始使用知識庫前,必須先建立至少一個知識庫。建立知識庫時,您必須指定知識庫使用的 Embedding Model、Reranker Model、知識庫名稱及可使用此知識庫的 AI 助理等資訊。
您可以將以上的設定資訊,透過腳本化的方式指定,以下為建立資料庫的請求範例:
送出並獲得 HTTPS 回應後即代表建立成功,可以針對此知識庫進行操作。
使用 ID 操作單一知識庫
在開始對所單一知識庫進行檔案管理之前,您需要先取得知識庫的唯一識別碼(id)。
如何取得知識庫 id?
取得剛建立的知識庫
id
針對剛使用腳本建立的知識庫,在建立完成後 HTTPS 會回傳包含 id 在內的 reponse,response 中的 id就代表該知識庫的 id值。
取得其他已建立的知識庫
id
您可以透過取得所有知識庫的 reponse 內容獲取您需要的對應知識庫 id,請參考 API 文件:知識庫(新版)
查詢知識庫檔案
查詢檔案 端點可用於列出知識庫中的所有檔案。您可以使用查詢參數來篩選特定類型、狀態的檔案,或搜尋特定關鍵字。將您要查詢的知識庫 id 加入端點內{knowledgeBasePK}的位置,就能夠針對特定知識庫進行查詢。
端點
檔案狀態值(key 值為 Status)
您可以根據端點回應,查看每個檔案的處理情況,分別為以下幾種,若顯示為done 即表示檔案已處理完成可供 LLM 回答檢索使用:
initial- 初始化processing- 處理中done- 完成deleting- 刪除中deleted- 已刪除failed- 失敗
此端點可透過設定 fileType指定查詢檔案類型,如:pdf、docx、txt、xlsx 等
範例:查詢所有 PDF 檔案
檔案操作
上傳檔案到知識庫

端點
您可以使用此端點直接將檔案上傳到知識庫。您可以在上傳時透過參數指定該文件的資訊,如:
rawUserDefineMetadata:文件元資料labels:文件分類標籤
範例:上傳單個文件—產品手冊
請求結構範例
您可以指定要上傳的檔案內容與知識庫。
回應將包含新建立的檔案物件,包括系統自動生成的檔案 ID。
您也可以上傳多個檔案至不同的知識庫
範例:上傳多個文件至不同知識庫
請注意:單一檔案限制不能超過 100MB,否則將無法正確處理,HTTP 將回傳錯誤訊息
更新現有檔案資訊
您可以使用 更新檔案資訊 端點來修改已上傳檔案的資訊,例如檔案名稱、標籤或自訂元資料。若檔案有更新,您無須重複上傳,可直接透過腳本進行資訊變動。
端點
請求範例
刪除檔案
刪除單一檔案
端點
使用此端點可以從知識庫中移除單一檔案,移除時需在端點{id}位置指定要刪除的文件id。
範例
成功刪除後,API 將回傳 204 狀態碼。此文件將無法再讓 LLM 作為回覆參考。
批次刪除檔案
若要一次刪除多個檔案,可以使用 批次刪除檔案 端點,提升管理效率。

端點
請求範例值
您可以傳入多個文件 id,讓系統協助您一次刪除多個文件。
此端點僅能批次刪除單一知識庫內的文件,無法跨知識庫進行批次刪除。
使用案例
知識庫檔案管理 API 有許多實際應用場景,例如:
1. 自動化文件更新
當您的產品文件在 Git 儲存庫中更新時,可以透過 CI/CD 流程自動將最新版本上傳到知識庫。確保 AI 助理始終能存取最新的產品資訊。
範例流程
偵測到文件更新的 commit
查詢是否已存在該檔案
使用 MaiAgent API 查詢知識庫內是否有可匹配之檔案。
更新/上傳檔案
若存在則使用部分更新資訊端點更新;如果不存在則使用上傳檔案端點上傳新檔案。
2. 內容管理系統整合
如果您使用 MaiAgent 作為內容管理系統 (CMS),可以建立一個管理介面,讓內容編輯者能夠
上傳新的內容檔案
使用標籤組織內容
搜尋和篩選特定類型的內容
批次刪除過期內容
總結
MaiAgent 的公開 REST API 可以讓您更有效率管理知識庫檔案,包括:
建立知識庫
查詢和篩選檔案
上傳新檔案
更新檔案資訊
刪除單一或批次檔案
下一步
查看完整的 API 參考文件開始使用 MaiAgent API 服務
探索 MaiAgent WebChat SDK 以簡化 API 整合
Last updated
Was this helpful?
