Delen via


Ondersteunde Semantische kerneltalen

Semantische kernelplannen voor het bieden van ondersteuning aan de volgende talen:

  • C#
  • Python
  • Java

Hoewel de algehele architectuur van de kernel consistent is in alle talen, hebben we ervoor gezorgd dat de SDK voor elke taal algemene paradigma's en stijlen volgt om het systeemeigen en gebruiksvriendelijk te maken.

C#-pakketten

In C# zijn er verschillende pakketten om ervoor te zorgen dat u alleen de functionaliteit hoeft te importeren die u nodig hebt voor uw project. In de volgende tabel ziet u de beschikbare pakketten in C#.

Naam van het pakket Beschrijving
Microsoft.SemanticKernel Het hoofdpakket dat alles bevat om aan de slag te gaan
Microsoft.SemanticKernel.Core Het kernpakket dat implementaties biedt voor Microsoft.SemanticKernel.Abstractions
Microsoft.SemanticKernel.Abstractions De basisabstracties voor Semantische kernel
Microsoft.SemanticKernel.Connectors.Amazon De AI-connector voor Amazon AI
Microsoft.SemanticKernel.Connectors.AzureAIInference De AI-connector voor Azure AI-deductie
Microsoft.SemanticKernel.Connectors.AzureOpenAI De AI-connector voor Azure OpenAI
Microsoft.SemanticKernel.Connectors.Google De AI-connector voor Google-modellen (bijvoorbeeld Gemini)
Microsoft.SemanticKernel.Connectors.HuggingFace De AI-connector voor Hugging Face-modellen
Microsoft.SemanticKernel.Connectors.MistralAI De AI-connector voor Mistral AI-modellen
Microsoft.SemanticKernel.Connectors.Ollama De AI-connector voor Ollama
Microsoft.SemanticKernel.Connectors.Onnx De AI-connector voor Onnx
Microsoft.SemanticKernel.Connectors.OpenAI De AI-connector voor OpenAI
Microsoft.SemanticKernel.Connectors.AzureAISearch De vector store-connector voor AzureAISearch
Microsoft.SemanticKernel.Connectors.CosmosMongoDB De vector store-connector voor AzureCosmosDBMongoDB
Microsoft.SemanticKernel.Connectors.CosmosNoSql De vector store-connector voor AzureAISearch
Microsoft.SemanticKernel.Connectors.MongoDB De vector store-connector voor MongoDB
Microsoft.SemanticKernel.Connectors.Pinecone De vector store-connector voor Pinecone
Microsoft.SemanticKernel.Connectors.Qdrant De vector store-connector voor Qdrant
Microsoft.SemanticKernel.Connectors.Redis De vector store-connector voor Redis
Microsoft.SemanticKernel.Connectors.SqliteVec De vector store-connector voor Sqlite
Microsoft.SemanticKernel.Connectors.Weaviate De vector store-connector voor Weaviate
Microsoft.SemanticKernel.Plugins.OpenApi (Experimenteel) Hiermee kunt u invoegtoepassingen laden vanuit OpenAPI-specificaties
Microsoft.SemanticKernel.PromptTemplates.Handlebars Hiermee schakelt u het gebruik van handlebarssjablonen in voor prompts
Microsoft.SemanticKernel.Yaml Biedt ondersteuning voor het serialiseren van prompts met behulp van YAML-bestanden
Microsoft.SemanticKernel.Prompty Biedt ondersteuning voor het serialiseren van prompts met Prompty-bestanden
Microsoft.SemanticKernel.Agents.Abstractions Biedt abstracties voor het maken van agents
Microsoft.SemanticKernel.Agents.OpenAI Biedt ondersteuning voor assistent-API-agents

Als u een van deze pakketten wilt installeren, kunt u de volgende opdracht gebruiken:

dotnet add package <package-name>

Python-pakketten

In Python is er één pakket dat alles bevat wat u nodig hebt om aan de slag te gaan met Semantic Kernel. Als u het pakket wilt installeren, kunt u de volgende opdracht gebruiken:

pip install semantic-kernel

Op PyPI onder Provides-Extra de extra extra's die u kunt installeren, worden ook vermeld en wanneer deze worden gebruikt om de pakketten te installeren die nodig zijn voor het gebruik van SK met die specifieke connector of service, kunt u deze bijvoorbeeld installeren met de syntaxis van vierkante haken:

pip install semantic-kernel[azure]

Hiermee installeert u Semantische kernel, evenals specifieke geteste versies van: azure-ai-inference, azure-search-documents, azure-core, azure-identityen azure-cosmosmsgraph-sdk (en eventuele afhankelijkheden van deze pakketten). Op dezelfde manier wordt de extra hugging_face geïnstalleerd transformers en sentence-transformers.

Java-pakketten

Voor Java heeft Semantic Kernel de volgende pakketten; alle bevinden zich onder de groeps-id com.microsoft.semantic-kernelen kunnen worden geïmporteerd uit maven.

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

Er wordt een bom geleverd die kan worden gebruikt om de versies van alle Semantische Kernel-pakketten te definiëren.

    <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 – Een Maven-projectlijst die kan worden gebruikt om de versies van alle Semantische Kernel-pakketten te definiëren.
  • semantickernel-api – Pakket dat de kern openbare API definieert voor de Semantische kernel voor een Maven-project.
  • semantickernel-aiservices-openai –Biedt een connector die kan worden gebruikt om te communiceren met de OpenAI-API.

Hieronder ziet u een voorbeeld van POM XML voor een eenvoudig project dat gebruikmaakt van 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>

Beschikbare functies in elke SDK

In de volgende tabellen ziet u welke functies beschikbaar zijn in elke taal. Het 🔄 symbool geeft aan dat de functie gedeeltelijk is geïmplementeerd. Zie de bijbehorende notitiekolom voor meer informatie. Het ❌ symbool geeft aan dat de functie nog niet beschikbaar is in die taal. Als u een functie wilt zien die in een taal is geïmplementeerd, kunt u overwegen bij te dragen aan het project of een probleem te openen.

Kernmogelijkheden

Services C# Python Java Opmerkingen
Prompts Raadpleeg de onderstaande tabellen voor een volledige lijst met ondersteunde sjabloon- en serialisatie-indelingen
Systeemeigen functies en invoegtoepassingen
OpenAPI-invoegtoepassingen Java heeft een voorbeeld waarin wordt gedemonstreerd hoe u OpenAPI-invoegtoepassingen laadt
Automatische functie-aanroepen
Telemetrielogboeken openen
Haken en filters

Sjabloonindelingen vragen

Bij het ontwerpen van prompts biedt Semantische kernel diverse sjabloontalen waarmee u variabelen kunt insluiten en functies kunt aanroepen. In de volgende tabel ziet u welke sjabloontalen in elke taal worden ondersteund.

Notaties C# Python Java Opmerkingen
Semantische kernelsjabloontaal
Sturen
Liquid
Jinja2

Serialisatie-indelingen vragen

Nadat u een prompt hebt gemaakt, kunt u deze serialiseren zodat deze kan worden opgeslagen of gedeeld tussen teams. In de volgende tabel ziet u welke serialisatie-indelingen in elke taal worden ondersteund.

Notaties C# Python Java Opmerkingen
YAML
Prompty

AI Services-modaliteiten

Services C# Python Java Opmerkingen
Tekstgeneratie Voorbeeld: Text-Davinci-003
Chatvoltooiing Voorbeeld: GPT4, Chat-GPT
Tekst insluiten (experimenteel) Voorbeeld: Text-Embeddings-Ada-002
Tekst naar afbeelding (experimenteel) Voorbeeld: Dall-E
Afbeelding naar tekst (experimenteel) Voorbeeld: Pix2Struct
Tekst naar audio (experimenteel) Voorbeeld: Tekst-naar-spraak
Audio naar tekst (experimenteel) Voorbeeld: Fluisteren

AI-serviceconnectors

Eindpunten C# Python Java Opmerkingen
Amazon Bedrock
Antropisch
Azure AI Inference
Azure OpenAI
Google
Face-deductie-API knuffelen
Mistral
Ollama
ONNX
OpenAI
Andere eindpunten die Ondersteuning bieden voor OpenAI-API's Bevat LLM Studio, enzovoort.

Vector Store-connectors (experimenteel)

Waarschuwing

De Semantic Kernel Vector Store-functionaliteit is in preview en verbeteringen die ingrijpende wijzigingen vereisen, kunnen nog steeds in beperkte omstandigheden plaatsvinden voordat ze worden uitgebracht.

Raadpleeg out of the box connectors (out of the box vector store) en de taalondersteuning voor elke connector.

Connectors voor geheugenopslag (verouderd)

Belangrijk

Geheugenopslagconnectors zijn verouderd en zijn vervangen door Vector Store-connectors. Zie Verouderde geheugenarchieven voor meer informatie.

Geheugenconnectors C# Python Java Opmerkingen
Azure AI Search
Chroma
DuckDB
Milvus
Pinecone
Postgres
Qdrant
Redis
Sqlite 🔄
Weaviaat