此套件包含一個同構的 SDK(可在 Node.js 與瀏覽器中運行),用於 Azure AI Discovery 服務。
圖書館揭露了兩個客戶:
-
WorkspaceClient— 在探索工作空間中處理對話、調查、任務與工具。 -
BookshelfClient— 管理並查詢 Discovery 書架上的知識庫。
每個用戶端都針對自己的服務端點。
主要連結:
入門指南
目前支援的環境
- Node.js的 LTS 版本
- 最新版的 Safari、Chrome、Edge 和 Firefox。
如需詳細資訊,請參閱我們的支援原則。
Prerequisites
安裝 @azure/ai-discovery 套件
安裝 JavaScript 的 Discovery 用戶端函式庫,使用:npm
npm install @azure/ai-discovery
建立並驗證客戶端
要建立客戶端物件,你需要服務和 endpoint 一個 credential。 Azure AI Discovery 用戶端使用 Microsoft Entra 憑證來認證。
WorkspaceClient 而且 BookshelfClient 每個端點都針對自己的端點,所以用對應端點建立你需要的客戶端。 你可以在 Azure 入口網站 找到你的 Discovery 資源的端點。
你可以用 @azure/identity 函式庫的憑證或現有的 Microsoft Entra 令牌來驗證 Microsoft Entra ID。
若要使用如下所示的 DefaultAzureCredential 提供者,或 Azure SDK 所提供的其他認證提供者,請安裝 @azure/identity 套件:
npm install @azure/identity
你還需要註冊一個新的 Microsoft Entra 應用程式,並透過指派適當的角色給你的服務主體來授權 Azure AI Discovery 的存取權(注意:像是 的角色"Owner"不會授予必要的權限)。
想了解更多如何建立 Microsoft Entra 應用程式的資訊,請參考這份指南。
利用類 Node.js 和節點環境,你可以用這個 DefaultAzureCredential 類別來驗證客戶端。
import { DefaultAzureCredential } from "@azure/identity";
import { WorkspaceClient, BookshelfClient } from "@azure/ai-discovery";
const credential = new DefaultAzureCredential();
// WorkspaceClient exposes conversations, investigations, tasks, and tools.
const workspaceClient = new WorkspaceClient("<workspace-endpoint>", credential);
// BookshelfClient exposes knowledge bases.
const bookshelfClient = new BookshelfClient("<bookshelf-endpoint>", credential);
針對瀏覽器環境,請使用來自 InteractiveBrowserCredential 套件的 @azure/identity 進行驗證。
import { InteractiveBrowserCredential } from "@azure/identity";
import { WorkspaceClient, BookshelfClient } from "@azure/ai-discovery";
const credential = new InteractiveBrowserCredential({
tenantId: "<YOUR_TENANT_ID>",
clientId: "<YOUR_CLIENT_ID>",
});
const workspaceClient = new WorkspaceClient("<workspace-endpoint>", credential);
const bookshelfClient = new BookshelfClient("<bookshelf-endpoint>", credential);
JavaScript 套件組合
若要在瀏覽器中使用此用戶端連結庫,您必須先使用配套程式。 如需如何執行這項作的詳細資訊,請參閱我們的 組合檔。
關鍵概念
工作空間用戶端
WorkspaceClient 提供 Discovery 工作區功能:對話、調查、任務及工具。 探索此客戶端中如何運用 Discovery 工作空間中的資源。
BookshelfClient
BookshelfClient 提供存取 Discovery 書架功能:管理與查詢知識庫。 探索此客戶端如何運用 Discovery 書架中的知識庫。
Examples
列表知識庫
在 Discovery Bookshelf 資源中列出知識庫,並標示為 BookshelfClient。
import { BookshelfClient } from "@azure/ai-discovery";
import { DefaultAzureCredential } from "@azure/identity";
const client = new BookshelfClient("<bookshelf-endpoint>", new DefaultAzureCredential());
for await (const knowledgeBase of client.knowledgeBases.list()) {
console.log(knowledgeBase.name);
}
調查中的任務清單
列出屬於調查的任務。WorkspaceClient
import { WorkspaceClient } from "@azure/ai-discovery";
import { DefaultAzureCredential } from "@azure/identity";
const client = new WorkspaceClient("<workspace-endpoint>", new DefaultAzureCredential());
for await (const task of client.tasks.list("<project-name>", "<investigation-name>")) {
console.log(task.name);
}
故障排除
森林伐木業
啟用記錄可能有助於找出有關失敗的實用資訊。 若要查看 HTTP 要求和回應的記錄,請將 AZURE_LOG_LEVEL 環境變數設定為 info。 或者,您可以在運行時間啟用記錄,方法是在 setLogLevel中呼叫 @azure/logger:
import { setLogLevel } from "@azure/logger";
setLogLevel("info");
如需如何啟用記錄的詳細指示,請參閱
下一步
可以看看 package samples 資料夾,裡面有完全可執行的程式碼。
Contributing
如果您想要參與此連結庫,請閱讀 參與指南,以深入瞭解如何建置和測試程序代碼。