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.

Kullanılabilir SDK paketleri

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.OpenAI OpenAI bağlayıcısı
Microsoft.SemanticKernel.Connectors.HuggingFace Yüz Tanıma modellerini kucaklama bağlayıcısı
Microsoft.SemanticKernel.Connectors.Google Google modelleri için bağlayıcı (örn. İkizler)
Microsoft.SemanticKernel.Connectors.MistralAI Mistral AI modelleri için bağlayıcı
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

Kullanılabilir başka paketler de vardır (örneğin, bellek bağlayıcıları), ancak bunlar hala deneyseldir ve henüz üretim kullanımı için önerilmez.

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

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
Ister 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

Yapay Zeka Hizmetleri

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 hizmet uç noktaları

Uç Noktalar C# Python Java Notlar
OpenAI
Azure OpenAI
OpenAI API'lerini destekleyen diğer uç noktalar Ollama, LLM Studio, Hizmet olarak Azure Modeli vb. içerir.
Yüz Çıkarımı API'sinde Sarılma 🔄 Python'a çok yakında geliyor, .NET için tüm senaryolar ele alınmamıştır

Bellek Bağlayıcıları (Deneysel)

Önemli

Mevcut tüm bellek bağlayıcıları şu anda deneyseldir ve bunları kullanma deneyimini geliştirmek için etkin geliştirme aşamasındadır. En son teklif hakkında geri bildirim sağlamak için lütfen etkin Arama ve Bellek Bağlayıcısı ADR'lerine bakın.

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