Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Semantic Kernel berencana memberikan dukungan untuk bahasa berikut:
- C#
- Python
- Java
Meskipun arsitektur keseluruhan kernel konsisten di semua bahasa, kami memastikan SDK untuk setiap bahasa mengikuti paradigma dan gaya umum dalam setiap bahasa untuk membuatnya terasa asli dan mudah digunakan.
Paket C#
Di C#, ada beberapa paket untuk membantu memastikan bahwa Anda hanya perlu mengimpor fungsionalitas yang Anda butuhkan untuk proyek Anda. Tabel berikut ini memperlihatkan paket yang tersedia di C#.
| Nama paket | Deskripsi |
|---|---|
Microsoft.SemanticKernel |
Paket utama yang mencakup semuanya untuk memulai |
Microsoft.SemanticKernel.Core |
Paket inti yang menyediakan implementasi untuk Microsoft.SemanticKernel.Abstractions |
Microsoft.SemanticKernel.Abstractions |
Abstraksi dasar untuk Kernel Semantik |
Microsoft.SemanticKernel.Connectors.Amazon |
Konektor AI untuk Amazon AI |
Microsoft.SemanticKernel.Connectors.AzureAIInference |
Konektor AI untuk Inferensi Azure AI |
Microsoft.SemanticKernel.Connectors.AzureOpenAI |
Konektor AI untuk Azure OpenAI |
Microsoft.SemanticKernel.Connectors.Google |
Konektor AI untuk model Google (misalnya, Gemini) |
Microsoft.SemanticKernel.Connectors.HuggingFace |
Konektor AI untuk memeluk model Wajah |
Microsoft.SemanticKernel.Connectors.MistralAI |
Konektor AI untuk model Mistral AI |
Microsoft.SemanticKernel.Connectors.Ollama |
Konektor AI untuk Ollama |
Microsoft.SemanticKernel.Connectors.Onnx |
Konektor AI untuk Onnx |
Microsoft.SemanticKernel.Connectors.OpenAI |
Konektor AI untuk OpenAI |
Microsoft.SemanticKernel.Connectors.AzureAISearch |
Konektor penyimpanan vektor untuk Azure AI Search |
Microsoft.SemanticKernel.Connectors.CosmosMongoDB |
Konektor penyimpanan vektor untuk Azure CosmosDB MongoDB |
Microsoft.SemanticKernel.Connectors.CosmosNoSql |
Konektor penyimpanan vektor untuk Azure CosmosDB NoSQL |
Microsoft.SemanticKernel.Connectors.MongoDB |
Konektor penyimpanan vektor untuk MongoDB |
Microsoft.SemanticKernel.Connectors.Pinecone |
Konektor penyimpanan vektor untuk Pinecone |
Microsoft.SemanticKernel.Connectors.Qdrant |
Konektor penyimpanan vektor untuk Qdrant |
Microsoft.SemanticKernel.Connectors.Redis |
Konektor penyimpanan vektor untuk Redis |
Microsoft.SemanticKernel.Connectors.SqliteVec |
Konektor penyimpanan vektor untuk Sqlite |
Microsoft.SemanticKernel.Connectors.Weaviate |
Konektor penyimpanan vektor untuk Weaviate |
Microsoft.SemanticKernel.Plugins.OpenApi (Eksperimental) |
Mengaktifkan pemuatan plugin dari spesifikasi OpenAPI |
Microsoft.SemanticKernel.PromptTemplates.Handlebars |
Mengaktifkan penggunaan templat Handlebars untuk perintah |
Microsoft.SemanticKernel.Yaml |
Menyediakan dukungan untuk menserialisasikan perintah menggunakan file YAML |
Microsoft.SemanticKernel.Prompty |
Menyediakan dukungan untuk menserialisasikan perintah menggunakan file Prompty |
Microsoft.SemanticKernel.Agents.Abstractions |
Menyediakan abstraksi untuk membuat agen |
Microsoft.SemanticKernel.Agents.OpenAI |
Menyediakan dukungan untuk agen Assistant API |
Untuk menginstal salah satu paket ini, Anda dapat menggunakan perintah berikut:
dotnet add package <package-name>
Paket Python
Di Python, ada satu paket yang mencakup semua yang Anda butuhkan untuk mulai menggunakan Semantic Kernel. Untuk menginstal paket, Anda dapat menggunakan perintah berikut:
pip install semantic-kernel
Pada PyPI di bawah Provides-Extra ekstra tambahan yang dapat Anda instal juga tercantum dan ketika digunakan yang akan menginstal paket yang diperlukan untuk menggunakan SK dengan konektor atau layanan tertentu, Anda dapat menginstalnya dengan sintaks kurung siku misalnya:
pip install semantic-kernel[azure]
Ini akan menginstal Semantic Kernel, serta versi tertentu yang diuji dari: azure-ai-inference, , azure-search-documents, azure-coreazure-identity, azure-cosmos dan msgraph-sdk (dan dependensi apa pun dari paket tersebut). Demikian pula ekstra hugging_face akan menginstal transformers dan sentence-transformers.
Paket Java
Untuk Java, Semantic Kernel memiliki paket berikut; semua berada di bawah Id com.microsoft.semantic-kernelgrup , dan dapat diimpor dari maven.
<dependency>
<groupId>com.microsoft.semantic-kernel</groupId>
<artifactId>semantickernel-api</artifactId>
</dependency>
BOM disediakan yang dapat digunakan untuk menentukan versi semua paket Kernel Semantik.
<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β BOM proyek Maven yang dapat digunakan untuk menentukan versi semua paket Kernel Semantik. -
semantickernel-apiβ Paket yang mendefinisikan API publik inti untuk Kernel Semantik untuk proyek Maven. -
semantickernel-aiservices-openaiβMenyediakan konektor yang dapat digunakan untuk berinteraksi dengan OPENAI API.
Di bawah ini adalah contoh XML POM untuk proyek sederhana yang menggunakan 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>
Fitur yang tersedia di setiap SDK
Tabel berikut ini memperlihatkan fitur mana yang tersedia dalam setiap bahasa. Simbol π menunjukkan bahwa fitur diimplementasikan sebagian, silakan lihat kolom catatan terkait untuk detail selengkapnya. Simbol β menunjukkan bahwa fitur belum tersedia dalam bahasa tersebut; jika Anda ingin melihat fitur yang diimplementasikan dalam bahasa, pertimbangkan untuk berkontribusi pada proyek atau membuka masalah.
Kemampuan inti
| Layanan | C# | Python | Java | Catatan |
|---|---|---|---|---|
| Permintaan | β | β | β | Untuk melihat daftar lengkap format templat dan serialisasi yang didukung, lihat tabel di bawah ini |
| Fungsi dan plugin asli | β | β | β | |
| Plugin OpenAPI | β | β | β | Java memiliki sampel yang menunjukkan cara memuat plugin OpenAPI |
| Panggilan fungsi otomatis | β | β | β | |
| Buka log Telemetri | β | β | β | |
| Kait dan filter | β | β | β |
Format templat perintah
Saat menulis permintaan, Semantic Kernel menyediakan berbagai bahasa templat yang memungkinkan Anda menyematkan variabel dan memanggil fungsi. Tabel berikut ini memperlihatkan bahasa templat mana yang didukung dalam setiap bahasa.
| Format | C# | Python | Java | Catatan |
|---|---|---|---|---|
| Bahasa templat Kernel Semantik | β | β | β | |
| Setang | β | β | β | |
| Liquid | β | β | β | |
| Jinja2 | β | β | β |
Format serialisasi perintah
Setelah membuat perintah, Anda dapat membuat serialisasinya sehingga dapat disimpan atau dibagikan di seluruh tim. Tabel berikut ini memperlihatkan format serialisasi mana yang didukung dalam setiap bahasa.
| Format | C# | Python | Java | Catatan |
|---|---|---|---|---|
| YAML | β | β | β | |
| Prompty | β | β | β |
Modalitas Layanan AI
| Layanan | C# | Python | Java | Catatan |
|---|---|---|---|---|
| Pembuatan Teks | β | β | β | Contoh: Text-Davinci-003 |
| Penyelesaian Obrolan | β | β | β | Contoh: GPT4, Chat-GPT |
| Penyematan Teks (Eksperimental) | β | β | β | Contoh: Text-Embeddings-Ada-002 |
| Teks ke Gambar (Eksperimental) | β | β | β | Contoh: Dall-E |
| Gambar ke Teks (Eksperimental) | β | β | β | Contoh: Pix2Struct |
| Teks ke Audio (Eksperimental) | β | β | β | Contoh: Teks ke ucapan |
| Audio ke Teks (Eksperimental) | β | β | β | Contoh: Berbisik |
Konektor Layanan AI
| Titik akhir | C# | Python | Java | Catatan |
|---|---|---|---|---|
| Amazon Bedrock | β | β | β | |
| Antropik | β | β | β | |
| Inferensi dari Azure AI | β | β | β | |
| Azure OpenAI | β | β | β | |
| β | β | β | ||
| Memeluk API Inferensi Wajah | β | β | β | |
| Mistral | β | β | β | |
| Ollama | β | β | β | |
| ONNX | β | β | β | |
| OpenAI | β | β | β | |
| Titik akhir lain yang mendukung API OpenAI | β | β | β | Termasuk LLM Studio, dll. |
Konektor Penyimpanan Vektor (Eksperimental)
Peringatan
Fungsionalitas Penyimpanan Vektor Semantic Kernel saat ini sedang dalam tahap pratinjau, dan perbaikan yang memerlukan perubahan signifikan mungkin masih terjadi dalam keadaan terbatas sebelum peluncuran resmi.
Untuk daftar konektor penyimpanan vektor di luar kotak dan dukungan bahasa untuk masing-masing konektor, lihat konektor out of the box.
Konektor Penyimpanan Memori (Warisan)
Penting
Konektor Penyimpanan Memori adalah warisan dan telah digantikan oleh konektor Vector Store. Untuk informasi selengkapnya, lihat Penyimpanan Memori Warisan.
| Konektor Memori | C# | Python | Java | Catatan |
|---|---|---|---|---|
| Pencarian Azure AI | β | β | β | |
| Chroma | β | β | β | |
| DuckDB | β | β | β | |
| Milvus | β | β | β | |
| Pinecone | β | β | β | |
| Postgres | β | β | β | |
| Qdrant | β | β | β | |
| Redis | β | β | β | |
| Sqlite | β | β | π | |
| Weaviate | β | β | β |