다음을 통해 공유


Microsoft.Extensions.AI 라이브러리

.NET 개발자는 앱에서 점점 더 다양한 AI(인공 지능) 서비스를 통합하고 상호 작용해야 합니다. 라이브러리는 Microsoft.Extensions.AI 생성 AI 구성 요소를 나타내기 위한 통합된 접근 방식을 제공하고 다양한 AI 서비스와의 원활한 통합 및 상호 운용성을 가능하게 합니다. 이 문서에서는 라이브러리를 소개하고 시작하는 데 도움이 되는 자세한 사용 예제를 제공합니다.

패키지

Microsoft.Extensions.AI.Abstractions 패키지는📦 다음을 비롯한 IChatClientIEmbeddingGenerator<TInput,TEmbedding>핵심 교환 유형을 제공합니다. LLM 클라이언트를 제공하는 모든 .NET 라이브러리는 인터페이스를 IChatClient 구현하여 소비 코드와 원활하게 통합할 수 있습니다.

📦 Microsoft.Extensions.AI 패키지에는 Microsoft.Extensions.AI.Abstractions 패키지에 대한 암시적 종속성이 있습니다. 이 패키지를 사용하면 친숙한 종속성 주입 및 미들웨어 패턴을 사용하여 자동 함수 도구 호출, 원격 분석 및 캐싱과 같은 구성 요소를 애플리케이션에 쉽게 통합할 수 있습니다. 예를 들어 채팅 클라이언트 파이프라인에 OpenTelemetry 지원을 추가하는 UseOpenTelemetry(ChatClientBuilder, ILoggerFactory, String, Action<OpenTelemetryChatClient>) 확장 메서드를 제공합니다.

참조할 패키지

생성 AI 구성 요소로 작업하기 위한 상위 수준의 유틸리티에 액세스하려면 Microsoft.Extensions.AI 패키지를 참조하세요(더 나은 대안으로, Microsoft.Extensions.AI는 를 참조합니다). 대부분의 소비 애플리케이션 및 서비스는 추상화의 Microsoft.Extensions.AI 구체적인 구현을 제공하는 하나 이상의 라이브러리와 함께 패키지를 참조해야 합니다.

추상화 구현을 제공하는 라이브러리는 일반적으로 Microsoft.Extensions.AI.Abstractions만 참조합니다.

패키지 설치

NuGet 패키지를 설치하는 방법에 대한 자세한 내용은 .NET 애플리케이션에서 dotnet 패키지 추가 또는 패키지 종속성 관리를 참조하세요.

API 및 기능

IChatClient 인터페이스

IChatClient 인터페이스는 채팅 기능을 제공하는 AI 서비스와 상호 작용하는 클라이언트 추상화 작업을 정의합니다. 이 방법에는 텍스트, 이미지 및 오디오와 같은 다중 모달 콘텐츠를 사용하여 메시지를 보내고 받는 기능이 포함되며, 이는 전체 집합으로 또는 점진적 스트리밍으로 이루어질 수 있습니다.

자세한 내용 및 자세한 사용 예제는 IChatClient 인터페이스 사용을 참조하세요.

IEmbeddingGenerator 인터페이스

IEmbeddingGenerator 인터페이스는 임베딩의 일반적인 생성기를 나타냅니다. 제네릭 타입 매개변수의 경우, TInput는 포함되는 입력 값의 타입이고, TEmbeddingEmbedding 클래스를 상속받는 생성된 포함의 타입입니다.

자세한 내용 및 자세한 사용 예제는 IEmbeddingGenerator 인터페이스 사용을 참조하세요.

IImageGenerator 인터페이스(실험적)

인터페이스는 IImageGenerator 텍스트 프롬프트 또는 기타 입력에서 이미지를 만들기 위한 생성기를 나타냅니다. 이 인터페이스를 사용하면 애플리케이션이 일관된 API를 통해 다양한 AI 서비스의 이미지 생성 기능을 통합할 수 있습니다. 인터페이스는 텍스트-이미지 생성(호출 GenerateAsync(ImageGenerationRequest, ImageGenerationOptions, CancellationToken))과 이미지 크기 및 형식에 대한 구성 옵션을 지원합니다. 라이브러리의 다른 인터페이스와 마찬가지로 캐싱, 원격 분석 및 기타 교차 절단 문제를 위한 미들웨어로 구성할 수 있습니다.

자세한 내용은 AI를 사용하여 텍스트에서 이미지 생성을 참조하세요.

Microsoft.Extensions.AI 사용하여 빌드

다음과 같은 방법으로 Microsoft.Extensions.AI을(를) 빌드하는 것을 시작할 수 있습니다.

  • 라이브러리 개발자: AI 서비스에 대한 클라이언트를 제공하는 라이브러리를 소유한 경우 라이브러리에서 인터페이스를 구현하는 것이 좋습니다. 이를 통해 사용자는 추상화로 NuGet 패키지를 쉽게 통합할 수 있습니다. 예제는 IChatClient 구현 예제 및IEmbeddingGenerator 구현 예제를 참조하세요.
  • 서비스 소비자: AI 서비스를 사용하는 라이브러리를 개발하는 경우 특정 AI 서비스에 대한 하드코딩 대신 추상화 기능을 사용합니다. 이 접근 방식을 통해 소비자는 선호하는 공급자를 유연하게 선택할 수 있습니다.
  • 애플리케이션 개발자: 추상화로 앱 통합을 간소화합니다. 이렇게 하면 모델 및 서비스 전반에서 이식성을 구현하고, 테스트 및 모의 작업을 용이하게 하고, 에코시스템에서 제공하는 미들웨어를 활용하며, 애플리케이션의 여러 부분에서 다른 서비스를 사용하더라도 앱 전체에서 일관된 API를 유지 관리합니다.
  • 에코시스템 기여자는: 에코시스템에 기여하려는 경우 사용자 지정 미들웨어 구성 요소를 작성하는 것이 좋습니다.

자세한 샘플은 dotnet/ai-samples GitHub 리포지토리를 참조하세요. 엔드 투 엔드 샘플은 eShopSupport를 참조하세요.

참고하십시오