你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
该包包含一个同构的 SDK(既可在 Node.js 上运行,也可在浏览器中运行),用于 Azure AI 发现服务。
图书馆暴露了两个客户:
-
WorkspaceClient——在发现工作区中处理对话、调查、任务和工具。 -
BookshelfClient—— 管理和查询 Discovery 书架中的知识库。
每个客户端针对自己的服务端点。
关键链接:
入门
目前支持的环境
- Node.js的 LTS 版本
- 最新版本的 Safari、Chrome、Edge 和 Firefox。
有关更多详细信息,请参阅我们的支持政策。
先决条件
安装 @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文件夹,里面包含了完全可运行的代码。
贡献
若要参与此库,请阅读 贡献指南 了解有关如何生成和测试代码的详细信息。