이 패키지에는 Azure AI Discovery 서비스를 위한 동형 SDK가 포함되어 있으며(Node.js와 브라우저 모두에서 실행됩니다).
도서관은 두 명의 고객을 노출시킵니다:
-
WorkspaceClient— 디스커버리 작업 공간에서 대화, 조사, 작업 및 도구들을 다룹니다. -
BookshelfClient— 디스커버리 북쉘프에서 지식 기반을 관리하고 질의할 수 있습니다.
각 클라이언트는 자체 서비스 엔드포인트를 타겟팅합니다.
키 링크:
시작하기
현재 지원되는 환경
- 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 각 엔드포인트가 자신의 엔드포인트를 목표로 하므로, 해당 엔드포인트로 필요한 클라이언트를 생성하세요. Discovery 리소스의 엔드포인트는 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 및 노드 유사 환경을 사용하면 클래스를 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 작업 공간 기능에 접근할 수 있습니다. 이 클라이언트에서 Discovery 작업 공간에서 리소스를 다루는 방법을 탐색해 보세요.
북쉘프 클라이언트
BookshelfClient Discovery 북쉘프 기능에 접근할 수 있도록 지식 베이스 관리 및 쿼리를 제공합니다. 이 클라이언트에서 디스커버리 책장에 있는 지식 기반을 활용하는 방법을 탐색해 보세요.
예제
목록 지식 베이스
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);
}
Troubleshooting
로깅 (로그 기록)
로깅을 사용하도록 설정하면 오류에 대한 유용한 정보를 파악하는 데 도움이 될 수 있습니다. HTTP 요청 및 응답 로그를 보려면 AZURE_LOG_LEVEL 환경 변수를 info설정합니다. 또는 setLogLevel@azure/logger 호출하여 런타임에 로깅을 사용하도록 설정할 수 있습니다.
import { setLogLevel } from "@azure/logger";
setLogLevel("info");
로그를 사용하도록 설정하는 방법에 대한 자세한 지침은 @azure/로거 패키지 문서를 참조하세요.
다음 단계
package samples 폴더를 살펴보세요. 이 폴더에는 완전히 실행 가능한 코드가 들어 있습니다.
기여하기
이 라이브러리에 기여하려면 기여 가이드 읽어 코드를 빌드하고 테스트하는 방법에 대해 자세히 알아보세요.
관련 프로젝트
Azure SDK for JavaScript