使用知識庫—建立與互動

本指南將說明如何使用公開 REST API 來管理知識庫中的檔案,並說明整合應用例子。

概述

MaiAgent 提供開發者透過 API 管理知識庫檔案的能力。開發者可以在工作區內對知識庫進行以下操作:

  • 上傳新檔案到知識庫

  • 查詢知識庫中的所有檔案

  • 更新現有檔案的資訊

  • 刪除單一或批次檔案

📘 重要提醒

使用 API 時,所有操作都需要有效的 API Key 進行身份驗證。請確保您的 API Key 具備相應的權限。


知識庫操作

建立知識庫

在開始使用知識庫前,必須先建立至少一個知識庫。建立知識庫時,您必須指定知識庫使用的 Embedding Model、Reranker Model、知識庫名稱及可使用此知識庫的 AI 助理等資訊。

您可以將以上的設定資訊,透過腳本化的方式指定,以下為建立資料庫的請求範例:

送出並獲得 HTTPS 回應後即代表建立成功,可以針對此知識庫進行操作。

使用 ID 操作單一知識庫

在開始對所單一知識庫進行檔案管理之前,您需要先取得知識庫的唯一識別碼(id)。

查詢知識庫檔案

查詢檔案 端點可用於列出知識庫中的所有檔案。您可以使用查詢參數來篩選特定類型、狀態的檔案,或搜尋特定關鍵字。將您要查詢的知識庫 id 加入端點內{knowledgeBasePK}的位置,就能夠針對特定知識庫進行查詢。

端點

檔案狀態值(key 值為 Status)

您可以根據端點回應,查看每個檔案的處理情況,分別為以下幾種,若顯示為done 即表示檔案已處理完成可供 LLM 回答檢索使用:

  • initial - 初始化

  • processing - 處理中

  • done - 完成

  • deleting - 刪除中

  • deleted - 已刪除

  • failed - 失敗

此端點可透過設定 fileType指定查詢檔案類型,如:pdfdocxtxtxlsx

範例:查詢所有 PDF 檔案


檔案操作

上傳檔案到知識庫

端點

您可以使用此端點直接將檔案上傳到知識庫。您可以在上傳時透過參數指定該文件的資訊,如:

  • rawUserDefineMetadata:文件元資料

  • labels:文件分類標籤

範例:上傳單個文件—產品手冊

請求結構範例

您可以指定要上傳的檔案內容與知識庫。

回應將包含新建立的檔案物件,包括系統自動生成的檔案 ID。

您也可以上傳多個檔案至不同的知識庫

範例:上傳多個文件至不同知識庫

更新現有檔案資訊

您可以使用 更新檔案資訊 端點來修改已上傳檔案的資訊,例如檔案名稱、標籤或自訂元資料。若檔案有更新,您無須重複上傳,可直接透過腳本進行資訊變動。

端點

請求範例

刪除檔案

刪除單一檔案

端點

使用此端點可以從知識庫中移除單一檔案,移除時需在端點{id}位置指定要刪除的文件id

範例

成功刪除後,API 將回傳 204 狀態碼。此文件將無法再讓 LLM 作為回覆參考。

批次刪除檔案

若要一次刪除多個檔案,可以使用 批次刪除檔案 端點,提升管理效率。

端點

請求範例值

您可以傳入多個文件 id,讓系統協助您一次刪除多個文件。


使用案例

知識庫檔案管理 API 有許多實際應用場景,例如:

1. 自動化文件更新

當您的產品文件在 Git 儲存庫中更新時,可以透過 CI/CD 流程自動將最新版本上傳到知識庫。確保 AI 助理始終能存取最新的產品資訊。

範例流程

1

偵測到文件更新的 commit

2

查詢是否已存在該檔案

使用 MaiAgent API 查詢知識庫內是否有可匹配之檔案。

3

更新/上傳檔案

若存在則使用部分更新資訊端點更新;如果不存在則使用上傳檔案端點上傳新檔案。

2. 內容管理系統整合

如果您使用 MaiAgent 作為內容管理系統 (CMS),可以建立一個管理介面,讓內容編輯者能夠

  • 上傳新的內容檔案

  • 使用標籤組織內容

  • 搜尋和篩選特定類型的內容

  • 批次刪除過期內容


總結

MaiAgent 的公開 REST API 可以讓您更有效率管理知識庫檔案,包括:

  • 建立知識庫

  • 查詢和篩選檔案

  • 上傳新檔案

  • 更新檔案資訊

  • 刪除單一或批次檔案

下一步

Last updated

Was this helpful?