Sdílet prostřednictvím


Podporované sémantické jazyky jádra

Sémantické plány jádra poskytují podporu pro následující jazyky:

  • jazyk C#
  • Python
  • Java

I když je celková architektura jádra konzistentní ve všech jazycích, zajistili jsme, aby sada SDK pro každý jazyk používala běžná paradigmata a styly, aby se cítila jako nativní a snadno použitelná.

Balíčky jazyka C#

V jazyce C# existuje několik balíčků, které vám pomůžou zajistit, že potřebujete importovat jenom funkce, které potřebujete pro svůj projekt. Následující tabulka uvádí dostupné balíčky v jazyce C#.

Název balíčku Popis
Microsoft.SemanticKernel Hlavní balíček, který obsahuje všechno, co chcete začít
Microsoft.SemanticKernel.Core Základní balíček, který poskytuje implementace pro Microsoft.SemanticKernel.Abstractions
Microsoft.SemanticKernel.Abstractions Základní abstrakce pro sémantické jádro
Microsoft.SemanticKernel.Connectors.Amazon Konektor AI pro Amazon AI
Microsoft.SemanticKernel.Connectors.AzureAIInference Konektor AI pro odvozování Azure AI
Microsoft.SemanticKernel.Connectors.AzureOpenAI Konektor AI pro Azure OpenAI
Microsoft.SemanticKernel.Connectors.Google Konektor AI pro modely Google (např. Gemini)
Microsoft.SemanticKernel.Connectors.HuggingFace Konektor AI pro modely Hugging Face
Microsoft.SemanticKernel.Connectors.MistralAI Konektor AI pro modely Mistral AI
Microsoft.SemanticKernel.Connectors.Ollama Konektor AI pro Ollama
Microsoft.SemanticKernel.Connectors.Onnx Konektor AI pro Onnx
Microsoft.SemanticKernel.Connectors.OpenAI Konektor AI pro OpenAI
Microsoft.SemanticKernel.Connectors.AzureAISearch Konektor pro vektorové úložiště pro Azure AI Search
Microsoft.SemanticKernel.Connectors.CosmosMongoDB Konektor pro vektorové úložiště pro Azure CosmosDB MongoDB
Microsoft.SemanticKernel.Connectors.CosmosNoSql Konektor pro vektorové úložiště pro Azure CosmosDB NoSQL
Microsoft.SemanticKernel.Connectors.MongoDB Konektor pro vektorové úložiště pro MongoDB
Microsoft.SemanticKernel.Connectors.Pinecone Spojnice vektorového úložiště pro Pinecone
Microsoft.SemanticKernel.Connectors.Qdrant Konektor úložiště vektorů pro Qdrant
Microsoft.SemanticKernel.Connectors.Redis Konektor úložiště vektorů pro Redis
Microsoft.SemanticKernel.Connectors.SqliteVec Konektor pro vektorové úložiště pro Sqlite
Microsoft.SemanticKernel.Connectors.Weaviate Spojnice vektorového úložiště pro weaviate
Microsoft.SemanticKernel.Plugins.OpenApi (Experimentální) Umožňuje načítání modulů plug-in ze specifikací OpenAPI.
Microsoft.SemanticKernel.PromptTemplates.Handlebars Povolí použití šablon úchytů pro výzvy.
Microsoft.SemanticKernel.Yaml Poskytuje podporu pro serializaci výzev pomocí souborů YAML.
Microsoft.SemanticKernel.Prompty Poskytuje podporu pro serializaci výzev pomocí souborů prompty.
Microsoft.SemanticKernel.Agents.Abstractions Poskytuje abstrakce pro vytváření agentů.
Microsoft.SemanticKernel.Agents.OpenAI Poskytuje podporu pro agenty rozhraní API pomocníka.

K instalaci některého z těchto balíčků můžete použít následující příkaz:

dotnet add package <package-name>

Balíčky Pythonu

V Pythonu je jeden balíček, který obsahuje vše, co potřebujete, abyste mohli začít se sémantickým jádrem. K instalaci balíčku můžete použít následující příkaz:

pip install semantic-kernel

Na PyPI v rámci Provides-Extra dalších extra, které můžete nainstalovat, jsou uvedeny také a při použití, které nainstaluje balíčky potřebné pro použití SKU s konkrétním konektorem nebo službou, můžete je nainstalovat se syntaxí hranatých závorek, například:

pip install semantic-kernel[azure]

Tím se nainstaluje sémantické jádro a také konkrétní otestované verze: azure-ai-inference, azure-search-documentsazure-core, , azure-identityazure-cosmosa msgraph-sdk (a všechny závislosti těchto balíčků). Podobně se nainstaluje hugging_facetransformers a sentence-transformers.

Balíčky Java

Pro Javu má sémantické jádro následující balíčky; všechny jsou pod ID com.microsoft.semantic-kernelskupiny a lze je importovat z mavenu.

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

Poskytuje se kusovník, který lze použít k definování verzí všech sémantických balíčků jádra.

    <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 – Kusovník projektu Maven, který lze použít k definování verzí všech balíčků sémantického jádra.
  • semantickernel-api – Balíček, který definuje základní veřejné rozhraní API pro sémantické jádro projektu Maven.
  • semantickernel-aiservices-openai –Poskytuje konektor, který lze použít k interakci s rozhraním OpenAI API.

Níže je příklad XML POM pro jednoduchý projekt, který používá OpenAI.

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

Dostupné funkce v každé sadě SDK

Následující tabulky ukazují, které funkce jsou dostupné v jednotlivých jazycích. Symbol 🔄 označuje, že je funkce částečně implementovaná, další podrobnosti najdete v přidruženém sloupci poznámek. Symbol ❌ označuje, že tato funkce ještě není v tomto jazyce dostupná. Pokud chcete vidět funkci implementovanou v jazyce, zvažte příspěvek k projektu nebo otevření problému.

Základní funkce

Služby jazyk C# Python Java Notes
Výzvy Úplný seznam podporovaných formátů šablon a serializace najdete v následujících tabulkách.
Nativní funkce a moduly plug-in
Moduly plug-in OpenAPI Java obsahuje ukázku, jak načíst moduly plug-in OpenAPI.
Automatické volání funkcí
Otevření protokolů telemetrie
Háky a filtry

Formáty šablon výzvy

Při vytváření výzev poskytuje sémantické jádro řadu jazyků šablon, které umožňují vkládat proměnné a volat funkce. Následující tabulka ukazuje, které jazyky šablon jsou podporovány v jednotlivých jazycích.

Formáty jazyk C# Python Java Notes
Sémantický jazyk šablony jádra
Handlebars
Liquid
Jinja2

Formáty serializace výzvy

Po vytvoření výzvy ji můžete serializovat, aby se mohly ukládat nebo sdílet napříč týmy. Následující tabulka uvádí, které formáty serializace jsou podporovány v jednotlivých jazycích.

Formáty jazyk C# Python Java Notes
YAML
Výzva

Způsoby poskytování služeb AI

Služby jazyk C# Python Java Notes
Generování textu Příklad: Text-Davinci-003
Dokončení chatu Příklad: GPT4, Chat-GPT
Vkládání textu (experimentální) Příklad: Text-Embeddings-Ada-002
Text na obrázek (experimentální) Příklad: Dall-E
Obrázek k textu (experimentální) Příklad: Pix2 – struktura
Text na zvuk (experimentální) Příklad: Převod textu na řeč
Zvuk na text (experimentální) Příklad: Šeptej

Konektory služby AI

Koncové body jazyk C# Python Java Notes
Amazon Bedrock
Anthropic
Inferenční služba Azure AI
Azure OpenAI
Google
Rozhraní API pro odvozování tváří
Mistral
Ollama
ONNX
OpenAI
Další koncové body, které podporují rozhraní OPENAI API Zahrnuje LLM Studio atd.

Konektory služby Vector Store (experimentální)

Výstraha

Funkce sémantického úložiště vektorů jádra je ve verzi Preview a vylepšení, která vyžadují zásadní změny, se můžou vyskytovat za omezených okolností před vydáním.

Seznam předepisovaných konektorů vektorového úložiště a podporu jazyka pro každý z nich najdete v části Odsadové spojnice.

Konektory úložiště paměti (starší verze)

Důležité

Konektory úložiště paměti jsou starší verze a byly nahrazeny konektory služby Vector Store. Další informace naleznete v tématu Starší úložiště paměti.

Konektory paměti jazyk C# Python Java Notes
Azure AI Vyhledávač
Sytost barvy
DuckDB
Milvus
Pinecone
Postgres
Qdrant
Redis
Sqlite 🔄
Weaviate