このパッケージには、Azure AI Discoveryサービス用の同型SDKが含まれており(Node.js およびブラウザの両方で動作します)。
図書館は2つの顧客を露出させています。
-
WorkspaceClientディスカバリーワークスペース内での会話、調査、タスク、ツールに取り組むことができます。 -
BookshelfClient— ディスカバリーのブックシェルフ内のナレッジベースを管理・クエリすること。
各クライアントはそれぞれ独自のサービスエンドポイントをターゲットにしています。
主要なリンク:
作業の開始
現在サポートされている環境
- Node.js の LTS バージョン
- Safari、Chrome、Edge、Firefox の最新バージョン。
詳細については、サポート ポリシーの を参照してください。
前提条件
@azure/ai-discovery パッケージをインストールする
JavaScript用のDiscoveryクライアントライブラリを npmインストールしてください:
npm install @azure/ai-discovery
クライアントの作成と認証
クライアントオブジェクトを作成するには、サービス endpoint と credentialが必要です。 Azure AI DiscoveryクライアントはMicrosoft Entraの認証情報を使って認証します。
WorkspaceClient そしてそれぞれが自分のエンドポイントをターゲットにする BookshelfClient 、対応するエンドポイントで必要なクライアントを作成します。 ディスカバリーリソースのエンドポイントはAzure portalで見つけることができます。
Microsoft Entra IDで認証するには、@azure/identityライブラリの認証情報や既存のMicrosoft Entraトークンを使って認証できます。
以下に示す DefaultAzureCredential プロバイダー、または Azure SDK で提供されているその他の資格情報プロバイダーを使用するには、@azure/identity パッケージをインストールしてください。
npm install @azure/identity
また、新しいMicrosoft Entra申請を登録し、適切な役割をサービスプリンシパルに割り当ててAzure AI Discoveryへのアクセスを許可する必要があります(注:"Owner"のようなロールは必要な権限を与えません)。
Microsoft Entraアプリケーションの作成方法についての詳細は、このガイドをご覧ください。
Node.js やNodeのような環境を使えば、 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 ディスカバリーワークスペースの機能:会話、調査、タスク、ツールへのアクセスを提供します。 このクライアントでディスカバリーワークスペース内のリソースを扱う手法を探ってみましょう。
BookshelfClient
BookshelfClient 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);
}
Troubleshooting
ログの記録
ログ記録を有効にすると、エラーに関する有用な情報を明らかにするのに役立つ場合があります。 HTTP 要求と応答のログを表示するには、AZURE_LOG_LEVEL 環境変数を infoに設定します。 または、setLogLevelで @azure/logger を呼び出すことによって、実行時にログを有効にすることもできます。
import { setLogLevel } from "@azure/logger";
setLogLevel("info");
ログを有効にする方法の詳細な手順については、 @azure/logger パッケージのドキュメントを参照してください。
次のステップ
完全に実行可能なコードが入っているpackage samplesフォルダを見てみてください。
投稿
このライブラリに投稿する場合は、コードをビルドしてテストする方法の詳細については、投稿ガイド を参照してください。
関連プロジェクト
- Microsoft Azure SDK for JavaScript の
Azure SDK for JavaScript