Megosztás a következőn keresztül:


Támogatott szemantikai kernelnyelvek

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.

Elérhető SDK-csomagok

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.OpenAI Az OpenAI összekötője
Microsoft.SemanticKernel.Connectors.HuggingFace Az összekötő a Face-modellek öleléséhez
Microsoft.SemanticKernel.Connectors.Google A Google-modellek összekötője (pl. Gemini)
Microsoft.SemanticKernel.Connectors.MistralAI A Mistral AI-modellek ö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

Vannak más csomagok is (például a memória-összekötők), de még kísérleti jellegűek, és még nem ajánlottak éles használatra.

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

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
Kéri 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

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ásvégpontok

Végpontok C# Python Java Jegyzetek
OpenAI
Azure OpenAI
Egyéb végpontok, amelyek az OpenAI API-kat fölérendelik Tartalmazza az Ollama, az LLM Studio, az Azure Model as-a-service stb.
A Face Inference API ölelésében 🔄 Hamarosan megjelenik a Python, nem minden forgatókönyvet fed le a .NET

Memória-összekötők (kísérleti)

Fontos

Az összes meglévő memória-összekötő jelenleg kísérleti jellegű, és aktív fejlesztés alatt áll a használatuk élményének javítása érdekében. Ha visszajelzést szeretne küldeni a legújabb javaslatról, tekintse meg az aktív keresési és memória-összekötői ADR-eket.

Memória-összekötők C# Python Java Jegyzetek
Azure AI Keresés
Chroma
DuckDB
Milvus 🔄
Pinecone
Postgres
Qdrant 🔄
Redis 🔄
Sqlite 🔄
Weaviate