你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

Azure AI Discovery client library for JavaScript - 版本 1.0.0

该包包含一个同构的 SDK(既可在 Node.js 上运行,也可在浏览器中运行),用于 Azure AI 发现服务。

图书馆暴露了两个客户:

  • WorkspaceClient ——在发现工作区中处理对话、调查、任务和工具。
  • BookshelfClient —— 管理和查询 Discovery 书架中的知识库。

每个客户端针对自己的服务端点。

关键链接:

入门

目前支持的环境

有关更多详细信息,请参阅我们的支持政策

先决条件

安装 @azure/ai-discovery

安装JavaScript的Discovery客户端库,使用:npm

npm install @azure/ai-discovery

创建并认证客户端

要创建客户端对象,你需要服务和 endpoint 一个 credential. Azure AI 发现客户端使用 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

WorkspaceClient 提供访问Discovery工作区功能:对话、调查、任务和工具。 探索本客户端中如何处理发现工作区中的资源。

书架客户端

BookshelfClient 提供访问Discovery书架功能:管理和查询知识库。 探索该客户端如何处理Discovery书架中的知识库。

示例

列表知识库

在Discovery书架资源中列出知识库,包含 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");

有关如何启用日志的更详细说明,可以查看 @azure/记录器包文档

后续步骤

看看package samples文件夹,里面包含了完全可运行的代码。

贡献

若要参与此库,请阅读 贡献指南 了解有关如何生成和测试代码的详细信息。