Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
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-identity
en azure-cosmos
msgraph-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-kernel
en 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 | ✅ | ✅ | ✅ | |
✅ | ✅ | ✅ | ||
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 | ✅ | ✅ | ❌ |