Aracılığıyla paylaş


Microsoft.Extensions.AI kütüphaneleri

.NET geliştiricilerinin uygulamalarında giderek büyüyen çeşitli yapay zeka (AI) hizmetlerini tümleştirmesi ve bunlarla etkileşim kurması gerekir. Kitaplıklar Microsoft.Extensions.AI , üretken yapay zeka bileşenlerini temsil etmek için birleşik bir yaklaşım sağlar ve çeşitli yapay zeka hizmetleriyle sorunsuz tümleştirme ve birlikte çalışabilirlik sağlar. Bu makale kitaplıkları tanıtır ve kullanmaya başlamanıza yardımcı olacak ayrıntılı kullanım örnekleri sağlar.

Paketler

📦 Microsoft.Extensions.AI.Abstractions paketi, IChatClient ve IEmbeddingGenerator<TInput,TEmbedding> dahil olmak üzere temel değişim türlerini sağlar. Herhangi bir .NET kütüphanesi, LLM istemcisi sağlayarak IChatClient arabirimini uygulayabilir ve bu sayede tüketen kodla sorunsuz bir tümleştirme sağlar.

📦 Microsoft.Extensions.AI paketinin Microsoft.Extensions.AI.Abstractions paketine örtük bir bağımlılığı vardır. Bu paket, tanıdık bağımlılık ekleme ve ara yazılım desenlerini kullanarak otomatik işlev aracı çağırma, telemetri ve önbelleğe alma gibi bileşenleri uygulamalarınızla kolayca tümleştirmenizi sağlar. Örneğin, sohbet istemci işlem hattına OpenTelemetry desteği ekleyen UseOpenTelemetry(ChatClientBuilder, ILoggerFactory, String, Action<OpenTelemetryChatClient>) uzantısı yöntemini sağlar.

Hangi pakete başvurulacak?

Üretken yapay zeka bileşenleriyle çalışmaya yönelik daha üst düzey araçlara erişmek için onun yerine Microsoft.Extensions.AI paketine başvurun (ki bu da Microsoft.Extensions.AI.Abstractions paketine başvurur). Çoğu uygulama ve hizmetin, soyutlamaların somut uygulamalarını sağlayan bir veya daha fazla kütüphane ile birlikte Microsoft.Extensions.AI paketine başvurması gerekir.

Soyutlamaların uygulamalarını sağlayan kitaplıklar genellikle yalnızca Microsoft.Extensions.AI.Abstractionsöğesine başvurur.

Paketleri yükleme

NuGet paketlerini yükleme hakkında bilgi için bkz. dotnet paket ekleme veya .NET uygulamalarında paket bağımlılıklarını yönetme.

API'ler ve işlevsellik

IChatClient arabirimi

IChatClient arabirimi, sohbet özellikleri sağlayan yapay zeka hizmetleriyle etkileşimden sorumlu bir istemci soyutlaması tanımlar. Çok modlu içeriğe (metin, görüntü ve ses gibi) sahip iletileri tam bir küme olarak veya sürekli akışla artımlı gönderme ve alma yöntemlerini içerir.

Daha fazla bilgi ve ayrıntılı kullanım örnekleri için bkz. IChatClient arabirimini kullanma.

IEmbeddingGenerator arabirimi

IEmbeddingGenerator arabirimi, eklemelerin genel bir oluşturucusunu temsil eder. Genel tür parametreleri için, TInput katıştırılan giriş değerlerinin türüdür ve TEmbedding sınıfından devralan Embedding ise oluşturulan katıştırma türüdür.

Daha fazla bilgi ve ayrıntılı kullanım örnekleri için bkz. IEmbeddingGenerator arabirimini kullanma.

IImageGenerator arabirimi (deneysel)

Arabirim, IImageGenerator metin istemlerinden veya diğer girişlerden görüntü oluşturmak için bir oluşturucuyu temsil eder. Bu arabirim, uygulamaların tutarlı bir API aracılığıyla çeşitli yapay zeka hizmetlerinden görüntü oluşturma özelliklerini tümleştirmesini sağlar. Arabirim, görüntü boyutu ve biçimi için metinden görüntüye oluşturmayı (çağırarak GenerateAsync(ImageGenerationRequest, ImageGenerationOptions, CancellationToken)) ve yapılandırma seçeneklerini destekler. Kitaplıktaki diğer arabirimler gibi, önbelleğe alma, telemetri ve diğer kapsamlar arası endişeler için ara yazılımla birlikte kullanılabilir.

Daha fazla bilgi için bkz. Yapay zeka kullanarak metinden görüntü oluşturma.

Microsoft.Extensions.AI kullanarak geliştirme

Microsoft.Extensions.AI ile oluşturmaya aşağıdaki yollarla başlayabilirsiniz:

  • Kitaplık geliştiricileri: Yapay zeka hizmetleri için istemci sağlayan kitaplıklarınız varsa, kitaplıklarınızda arabirimleri uygulamayı göz önünde bulundurun. Bu, kullanıcıların özetler aracılığıyla NuGet paketinizi kolayca tümleştirmesine olanak tanır. Örnekler için bkz . IChatClient uygulama örnekleri ve IEmbeddingGenerator uygulama örnekleri.
  • Hizmet tüketicileri: Yapay zeka hizmetlerini kullanan kitaplıklar geliştiriyorsanız, belirli bir yapay zeka hizmetine katı bir şekilde kodlamak yerine soyutlamaları kullanın. Bu yaklaşım, tüketicilerinize tercih ettikleri sağlayıcıyı seçme esnekliği sağlar.
  • Uygulama geliştiricileri: Uygulamalarınızla tümleştirmeyi basitleştirmek için soyutlamaları kullanın. Bu, modeller ve hizmetler arasında taşınabilirlik kullanmanıza olanak tanır, test ve sahteleme işlemlerini kolaylaştırır, ekosistem tarafından sağlanan ara yazılımdan yararlanır ve uygulamanızda farklı bölümlerde farklı hizmetler kullansanız bile tutarlı bir API sağlar.
  • Ekosisteme katkıda bulunanlar: Ekosisteme katkıda bulunmak istiyorsanız özel ara yazılım bileşenleri yazmayı göz önünde bulundurun.

Daha fazla örnek için dotnet/ai-samples GitHub deposuna bakın. Uçtan uca örnek için bkz. eShopSupport.

Ayrıca bakınız