Jegyzet
Az oldalhoz való hozzáférés engedélyezést igényel. Próbálhatod be jelentkezni vagy könyvtárat váltani.
Az oldalhoz való hozzáférés engedélyezést igényel. Megpróbálhatod a könyvtár váltását.
A Szemantic Kernel a következő nyelvek támogatását tervezi:
- C#
- Python
- Java
Bár a kernel teljes architektúrája minden nyelven egységes, gondoskodtunk arról, hogy az egyes nyelvekhez tartozó SDK az egyes nyelvek általános paradigmáit és stílusait kövesse, hogy natívnak és könnyen használhatónak érezze magát.
C#-csomagok
A C#-ban számos csomag segíti annak biztosítását, hogy csak a projekthez szükséges funkciókat kell importálnia. Az alábbi táblázat a C#-ban elérhető csomagokat mutatja be.
| Csomag neve | Leírás |
|---|---|
Microsoft.SemanticKernel |
A fő csomag, amely mindent tartalmaz az első lépésekhez |
Microsoft.SemanticKernel.Core |
Az alapvető csomag, amely implementációkat biztosít a Microsoft.SemanticKernel.Abstractions |
Microsoft.SemanticKernel.Abstractions |
A Szemantikus Kernel alap absztrakciói |
Microsoft.SemanticKernel.Connectors.Amazon |
Az Amazon AI AI-összekötője |
Microsoft.SemanticKernel.Connectors.AzureAIInference |
Az Azure AI-következtetés AI-összekötője |
Microsoft.SemanticKernel.Connectors.AzureOpenAI |
Az Azure OpenAI AI-összekötője |
Microsoft.SemanticKernel.Connectors.Google |
A Google-modellek AI-összekötője (pl. Gemini) |
Microsoft.SemanticKernel.Connectors.HuggingFace |
A Face-modellek öleléséhez használható AI-összekötő |
Microsoft.SemanticKernel.Connectors.MistralAI |
Mistral AI-modellek AI-összekötője |
Microsoft.SemanticKernel.Connectors.Ollama |
Az Ollama AI-összekötője |
Microsoft.SemanticKernel.Connectors.Onnx |
Az Onnx AI-összekötője |
Microsoft.SemanticKernel.Connectors.OpenAI |
Az OpenAI AI-összekötője |
Microsoft.SemanticKernel.Connectors.AzureAISearch |
Az Azure AI Search vektortároló-összekötője |
Microsoft.SemanticKernel.Connectors.CosmosMongoDB |
Az Azure CosmosDB MongoDB vektortároló-összekötője |
Microsoft.SemanticKernel.Connectors.CosmosNoSql |
Az Azure CosmosDB NoSQL vektortároló-összekötője |
Microsoft.SemanticKernel.Connectors.MongoDB |
A MongoDB vektortároló-összekötője |
Microsoft.SemanticKernel.Connectors.Pinecone |
A Pinecone vektortároló-összekötője |
Microsoft.SemanticKernel.Connectors.Qdrant |
A Qdrant vektortároló-összekötője |
Microsoft.SemanticKernel.Connectors.Redis |
A Redis vektortároló-összekötője |
Microsoft.SemanticKernel.Connectors.SqliteVec |
Az Sqlite vektortároló-összekötője |
Microsoft.SemanticKernel.Connectors.Weaviate |
A Weaviate vektortároló-összekötője |
Microsoft.SemanticKernel.Plugins.OpenApi (Kísérleti) |
Beépülő modulok openAPI-specifikációkból való betöltésének engedélyezése |
Microsoft.SemanticKernel.PromptTemplates.Handlebars |
Handlebars-sablonok használatának engedélyezése kérésekhez |
Microsoft.SemanticKernel.Yaml |
Támogatást nyújt a parancssorok YAML-fájlok használatával történő szerializálásához |
Microsoft.SemanticKernel.Prompty |
Támogatást nyújt a parancssorok parancssori fájlok használatával történő szerializálásához |
Microsoft.SemanticKernel.Agents.Abstractions |
Absztrakciókat biztosít az ügynökök létrehozásához |
Microsoft.SemanticKernel.Agents.OpenAI |
Az Assistant API-ügynökök támogatását biztosítja |
Ezen csomagok bármelyikének telepítéséhez használja a következő parancsot:
dotnet add package <package-name>
Python-csomagok
A Pythonban egyetlen csomag található, amely mindent tartalmaz, ami a Szemantic Kernel használatának megkezdéséhez szükséges. A csomag telepítéséhez használja a következő parancsot:
pip install semantic-kernel
A PyPI-n a további telepíthető extrák is Provides-Extra megjelennek, és ha az adott összekötővel vagy szolgáltatással együtt az SK használatához szükséges csomagokat telepíti, a szögletes zárójel szintaxissal rendelkező csomagokat telepítheti például:
pip install semantic-kernel[azure]
Ez telepíti a Szemantic Kernelt, valamint a következők meghatározott tesztelt verzióit: azure-ai-inference, azure-search-documents, azure-core, azure-identityés azure-cosmosmsgraph-sdk (és a csomagok függőségeit). Hasonlóképpen az extra hugging_face telepíti transformers és sentence-transformers.
Java-csomagok
Java esetén a Szemantic Kernel a következő csomagokkal rendelkezik; az összes a csoportazonosító com.microsoft.semantic-kernelalatt van, és importálható a mavenből.
<dependency>
<groupId>com.microsoft.semantic-kernel</groupId>
<artifactId>semantickernel-api</artifactId>
</dependency>
Rendelkezésre áll egy BOM, amely az összes Szemantic Kernel-csomag verzióinak meghatározására használható.
<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– Maven-projekt BOM, amely az összes Szemantic Kernel-csomag verzióinak meghatározására használható. -
semantickernel-api– Egy Maven-projekt szemantikai kernelének alapvető nyilvános API-ját meghatározó csomag. -
semantickernel-aiservices-openai–Olyan összekötőt biztosít, amely az OpenAI API-val való interakcióhoz használható.
Az alábbiakban egy példa POM XML-et láthat egy egyszerű, OpenAI-t használó projekthez.
<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>
Az egyes SDK-k elérhető funkciói
Az alábbi táblázatok azt mutatják be, hogy mely funkciók érhetők el az egyes nyelveken. A 🔄 szimbólum azt jelzi, hogy a funkció részben implementálva van, további részletekért tekintse meg a kapcsolódó jegyzetoszlopot. A ❌ szimbólum azt jelzi, hogy a funkció még nem érhető el ezen a nyelven; ha egy nyelven implementált funkciót szeretne látni, fontolja meg a projekthez való hozzájárulást vagy a probléma megnyitását.
Alapvető képességek
| Szolgáltatások | C# | Python | Java | Jegyzetek |
|---|---|---|---|---|
| Felszólítások | ✅ | ✅ | ✅ | A támogatott sablon- és szerializálási formátumok teljes listájának megtekintéséhez tekintse meg az alábbi táblázatokat |
| Natív függvények és beépülő modulok | ✅ | ✅ | ✅ | |
| OpenAPI beépülő modulok | ✅ | ✅ | ✅ | A Java egy minta, amely bemutatja, hogyan tölthet be OpenAPI beépülő modulokat |
| Automatikus függvényhívás | ✅ | ✅ | ✅ | |
| Telemetriai naplók megnyitása | ✅ | ✅ | ❌ | |
| Horgok és szűrők | ✅ | ✅ | ✅ |
Sablonformátumok kérése
A kérések létrehozásakor a Szemantic Kernel számos sablonnyelvet biztosít, amelyek lehetővé teszik változók beágyazását és függvények meghívását. Az alábbi táblázat azt mutatja be, hogy az egyes nyelvek mely sablonnyelveket támogatják.
| Formátumok | C# | Python | Java | Jegyzetek |
|---|---|---|---|---|
| Szemantikus kernelsablon nyelve | ✅ | ✅ | ✅ | |
| Kormányok | ✅ | ✅ | ✅ | |
| Liquid | ✅ | ❌ | ❌ | |
| Jinja2 | ❌ | ✅ | ❌ |
Parancssori szerializálási formátumok
Miután létrehozott egy kérést, szerializálhatja, hogy az a csapatok között tárolható vagy megosztható legyen. Az alábbi táblázat azt mutatja be, hogy mely szerializálási formátumok támogatottak az egyes nyelveken.
| Formátumok | C# | Python | Java | Jegyzetek |
|---|---|---|---|---|
| YAML | ✅ | ✅ | ✅ | |
| Rákérdezés | ✅ | ❌ | ❌ |
AI-szolgáltatások módozatai
| Szolgáltatások | C# | Python | Java | Jegyzetek |
|---|---|---|---|---|
| Szöveg létrehozása | ✅ | ✅ | ✅ | Példa: Text-Davinci-003 |
| Csevegés befejezése | ✅ | ✅ | ✅ | Példa: GPT4, Chat-GPT |
| Szövegbeágyazások (kísérleti) | ✅ | ✅ | ✅ | Példa: Text-Embeddings-Ada-002 |
| Szövegről képre (kísérleti) | ✅ | ✅ | ❌ | Példa: Dall-E |
| Képről szövegre (kísérleti) | ✅ | ❌ | ❌ | Példa: Pix2Struct |
| Szövegről hangra (kísérleti) | ✅ | ✅ | ❌ | Példa: Szövegfelolvasás |
| Hangról szövegre (kísérleti) | ✅ | ✅ | ❌ | Példa: Whisper |
AI-szolgáltatás-összekötők
| Végpontok | C# | Python | Java | Jegyzetek |
|---|---|---|---|---|
| Amazon Bedrock | ✅ | ✅ | ❌ | |
| Antropikus | ✅ | ✅ | ❌ | |
| Azure AI-következtetés | ✅ | ✅ | ❌ | |
| Azure OpenAI | ✅ | ✅ | ✅ | |
| ✅ | ✅ | ✅ | ||
| A Face Inference API ölelésében | ✅ | ✅ | ❌ | |
| Misztrál | ✅ | ✅ | ❌ | |
| Ollama | ✅ | ✅ | ❌ | |
| ONNX | ✅ | ✅ | ❌ | |
| OpenAI | ✅ | ✅ | ✅ | |
| Az OpenAI API-kat támogató egyéb végpontok | ✅ | ✅ | ✅ | Tartalmazza az LLM Studio-t stb. |
Vektortároló-összekötők (kísérleti)
Figyelmeztetés
A Szemantic Kernel Vector Store funkció előzetes verzióban érhető el, és a kompatibilitástörő módosításokat igénylő fejlesztések még korlátozott körülmények között előfordulhatnak a kiadás előtt.
A dobozon kívüli vektortároló-összekötők listájáért és az egyes nyelvek támogatásáért tekintse meg a dobozon kívüli összekötőket.
Memóriatároló-összekötők (örökölt)
Fontos
A Memóriatár-összekötők örököltek, és vektortár-összekötők váltották fel. További információ: Régi memóriatárolók.
| Memória-összekötők | C# | Python | Java | Jegyzetek |
|---|---|---|---|---|
| Azure AI Keresés | ✅ | ✅ | ✅ | |
| Chroma | ✅ | ✅ | ❌ | |
| DuckDB | ✅ | ❌ | ❌ | |
| Milvus | ✅ | ✅ | ❌ | |
| Pinecone | ✅ | ✅ | ❌ | |
| Postgres | ✅ | ✅ | ❌ | |
| Qdrant | ✅ | ✅ | ❌ | |
| Redis | ✅ | ✅ | ❌ | |
| Sqlite | ✅ | ❌ | 🔄 | |
| Weaviate | ✅ | ✅ | ❌ |