Aracılığıyla paylaş


Desteklenen Anlam Çekirdeği dilleri

Semantik Çekirdek, aşağıdaki dillere destek sağlamayı planlıyor:

  • C#
  • Python
  • Java

Çekirdeğin genel mimarisi tüm dillerde tutarlı olsa da, yerel ve kullanımı kolay hissettirmek için her dil için SDK'nın her dilde ortak paradigmalar ve stiller izlediğinden emin olduk.

C# paketleri

C# dilinde, yalnızca projeniz için ihtiyacınız olan işlevselliği içeri aktarmanız gerektiğinden emin olmanıza yardımcı olacak birkaç paket vardır. Aşağıdaki tabloda C# dilindeki kullanılabilir paketler gösterilmektedir.

Paket adı Açıklama
Microsoft.SemanticKernel Başlamak için her şeyi içeren ana paket
Microsoft.SemanticKernel.Core için uygulamalar sağlayan çekirdek paket Microsoft.SemanticKernel.Abstractions
Microsoft.SemanticKernel.Abstractions Anlam Çekirdeği için temel soyutlamalar
Microsoft.SemanticKernel.Connectors.Amazon Amazon AI için yapay zeka bağlayıcısı
Microsoft.SemanticKernel.Connectors.AzureAIInference Azure AI Çıkarımı için yapay zeka bağlayıcısı
Microsoft.SemanticKernel.Connectors.AzureOpenAI Azure OpenAI için yapay zeka bağlayıcısı
Microsoft.SemanticKernel.Connectors.Google Google modelleri için yapay zeka bağlayıcısı (örn. gemini)
Microsoft.SemanticKernel.Connectors.HuggingFace Yüz Tanıma modellerini kucaklama için yapay zeka bağlayıcısı
Microsoft.SemanticKernel.Connectors.MistralAI Mistral AI modelleri için yapay zeka bağlayıcısı
Microsoft.SemanticKernel.Connectors.Ollama Ollama için yapay zeka bağlayıcısı
Microsoft.SemanticKernel.Connectors.Onnx Onnx için yapay zeka bağlayıcısı
Microsoft.SemanticKernel.Connectors.OpenAI OpenAI için yapay zeka bağlayıcısı
Microsoft.SemanticKernel.Connectors.AzureAISearch Azure AI Search için vektör deposu bağlayıcısı
Microsoft.SemanticKernel.Connectors.CosmosMongoDB Azure CosmosDB MongoDB için vektör deposu bağlayıcısı
Microsoft.SemanticKernel.Connectors.CosmosNoSql Azure CosmosDB NoSQL için vektör deposu bağlayıcısı
Microsoft.SemanticKernel.Connectors.MongoDB MongoDB için vektör deposu bağlayıcısı
Microsoft.SemanticKernel.Connectors.Pinecone Pinecone için vektör deposu bağlayıcısı
Microsoft.SemanticKernel.Connectors.Qdrant Qdrant için vektör deposu bağlayıcısı
Microsoft.SemanticKernel.Connectors.Redis Redis için vektör deposu bağlayıcısı
Microsoft.SemanticKernel.Connectors.SqliteVec Sqlite için vektör deposu bağlayıcısı
Microsoft.SemanticKernel.Connectors.Weaviate Weaviate için vektör deposu bağlayıcısı
Microsoft.SemanticKernel.Plugins.OpenApi (Deneysel) OpenAPI belirtimlerinden eklentilerin yüklenmesini etkinleştirir
Microsoft.SemanticKernel.PromptTemplates.Handlebars İstemler için Handlebars şablonlarının kullanımını etkinleştirir
Microsoft.SemanticKernel.Yaml YAML dosyalarını kullanarak istemleri seri hale getirme desteği sağlar
Microsoft.SemanticKernel.Prompty Prompty dosyalarını kullanarak istemleri seri hale getirme desteği sağlar
Microsoft.SemanticKernel.Agents.Abstractions Aracı oluşturmaya yönelik soyutlamalar sağlar
Microsoft.SemanticKernel.Agents.OpenAI Yardımcı API aracıları için destek sağlar

Bu paketlerden herhangi birini yüklemek için aşağıdaki komutu kullanabilirsiniz:

dotnet add package <package-name>

Python paketleri

Python'da Anlam Çekirdeği'ne başlamak için ihtiyacınız olan her şeyi içeren tek bir paket vardır. Paketi yüklemek için aşağıdaki komutu kullanabilirsiniz:

pip install semantic-kernel

PyPI'da Provides-Extra yükleyebileceğiniz ek öğeler de listelenir ve SK'yi belirli bir bağlayıcı veya hizmetle kullanmak için gereken paketleri yükleyecek şekilde kullanıldığında, bunları örneğin köşeli ayraç söz dizimiyle yükleyebilirsiniz:

pip install semantic-kernel[azure]

Bu, Anlam Çekirdeği'nin yanı sıra, , azure-ai-inferenceazure-search-documents ve azure-core (ve bu paketlerin azure-identityazure-cosmosmsgraph-sdktüm bağımlılıkları) için test edilmiş belirli sürümleri yükler. Benzer şekilde, ek ve hugging_face yüklenir transformerssentence-transformers.

Java paketleri

Java için Anlam Çekirdeği aşağıdaki paketlere sahiptir; tümü grup kimliği com.microsoft.semantic-kernelaltındadır ve maven'dan içeri aktarılabilir.

    <dependency>
        <groupId>com.microsoft.semantic-kernel</groupId>
        <artifactId>semantickernel-api</artifactId>
    </dependency>

Tüm AnlamSal Çekirdek paketlerinin sürümlerini tanımlamak için kullanılabilecek bir bom sağlanır.

    <dependencyManagement>
        <dependencies>
            <dependency>
                <groupId>com.microsoft.semantic-kernel</groupId>
                <artifactId>semantickernel-bom</artifactId>
                <version>${semantickernel.version}</version>
                <scope>import</scope>
                <type>pom</type>
            </dependency>
        </dependencies>
    </dependencyManagement>
  • semantickernel-bom – Tüm AnlamSal Çekirdek paketlerinin sürümlerini tanımlamak için kullanılabilecek bir Maven proje ürün reçetesi.
  • semantickernel-api – Maven projesi için Anlam Çekirdeği için çekirdek genel API'sini tanımlayan paket.
  • semantickernel-aiservices-openai –OpenAI API'siyle etkileşime geçmek için kullanılabilecek bir bağlayıcı sağlar.

Aşağıda OpenAI kullanan basit bir proje için örnek bir POM XML'i verilmiştir.

<project>
    <dependencyManagement>
        <dependencies>
            <dependency>
                <groupId>com.microsoft.semantic-kernel</groupId>
                <artifactId>semantickernel-bom</artifactId>
                <version>${semantickernel.version}</version>
                <scope>import</scope>
                <type>pom</type>
            </dependency>
        </dependencies>
    </dependencyManagement>
    <dependencies>
        <dependency>
            <groupId>com.microsoft.semantic-kernel</groupId>
            <artifactId>semantickernel-api</artifactId>
        </dependency>
        <dependency>
            <groupId>com.microsoft.semantic-kernel</groupId>
            <artifactId>semantickernel-connectors-ai-openai</artifactId>
        </dependency>
    </dependencies>
</project>

Her SDK'daki kullanılabilir özellikler

Aşağıdaki tablolarda her dilde hangi özelliklerin kullanılabildiği gösterilmektedir. 🔄 Simgesi özelliğin kısmen uygulandığını gösterir. Daha fazla ayrıntı için lütfen ilişkili not sütununa bakın. ❌ Simgesi özelliğin henüz bu dilde kullanılamadığını gösterir. Bir özelliğin bir dilde uygulandığını görmek istiyorsanız, lütfen projeye katkıda bulunmayı veya bir sorun açmayı göz önünde bulundurun.

Temel özellikler

Hizmetler C# Python Java Notlar
İstemler Desteklenen şablon ve serileştirme biçimlerinin tam listesini görmek için aşağıdaki tablolara bakın
Yerel işlevler ve eklentiler
OpenAPI eklentileri Java'da OpenAPI eklentilerinin nasıl yüklendiğini gösteren bir örnek vardır
Otomatik işlev çağrısı
Telemetri günlüklerini açma
Kancalar ve filtreler

Şablon biçimlerini iste

Komut istemleri yazarken Anlam Çekirdeği, değişkenleri eklemenizi ve işlevleri çağırmanızı sağlayan çeşitli şablon dilleri sağlar. Aşağıdaki tabloda, her dilde hangi şablon dillerinin desteklendiği gösterilmektedir.

Biçimler C# Python Java Notlar
Semantik Çekirdek şablon dili
Gidonlar
Liquid
Jinja2

İstem serileştirme biçimleri

İstemi oluşturduktan sonra, ekipler arasında depolanabilmesi veya paylaşılabilmesi için seri hale getirebilirsiniz. Aşağıdaki tabloda her dilde hangi serileştirme biçimlerinin desteklendiği gösterilmektedir.

Biçimler C# Python Java Notlar
YAML
İstem

AI Hizmetleri Modaliteleri

Hizmetler C# Python Java Notlar
Metin Oluşturma Örnek: Text-Davinci-003
Sohbet Tamamlama Örnek: GPT4, Chat-GPT
Metin Ekleme (Deneysel) Örnek: Text-Embeddings-Ada-002
Metinden Görüntüye (Deneysel) Örnek: Dall-E
Görüntüden Metne (Deneysel) Örnek: Pix2 Yapısı
Metinden Sese (Deneysel) Örnek: Metin okuma
Ses-Metin (Deneysel) Örnek: Fısıltı

Yapay Zeka Hizmeti Bağlayıcıları

Uç Noktalar C# Python Java Notlar
Amazon Bedrock
Antropik
Azure AI Sonuç Çıkarımı
Azure OpenAI
Google
Yüz Çıkarımı API'sinde Sarılma
Mistral rüzgarı
Ollama
ONNX
OpenAI
OpenAI API'lerini destekleyen diğer uç noktalar LLM Studio vb. içerir.

Vektör Deposu Bağlayıcıları (Deneysel)

Uyarı

Semantik Çekirdek Vektör Deposu işlevselliği önizleme aşamasındadır ve köklü değişiklikler gerektiren iyileştirmeler, sürümden önce sınırlı durumlarda yine de gerçekleşebilir.

Hazır vektör deposu bağlayıcılarının listesi ve her biri için dil desteği için hazır bağlayıcılara bakın.

Bellek Deposu Bağlayıcıları (Eski)

Önemli

Bellek Deposu bağlayıcıları eskidir ve Vektör Deposu bağlayıcılarıyla değiştirilmiştir. Daha fazla bilgi için bkz. Eski Bellek Depoları.

Bellek Bağlayıcıları C# Python Java Notlar
Azure Yapay Zeka Arama
Chroma
DuckDB
Milvus
Pinecone
Postgres
Qdrant
Redis
Sqlite 🔄
Ağırlaştır