mirror of
https://github.com/microsoft/semantic-kernel.git
synced 2026-10-12 02:19:06 +00:00
Feature Matrix for the Java SK (Experimental) (#1189)
Co-authored-by: Mark Wallace <[email protected]>
This commit is contained in:
co-authored by
Mark Wallace
parent
35cb1bf76a
commit
1ee6461007
+59
-47
@@ -1,66 +1,78 @@
|
||||
# Kernel Feature Matrix by Language
|
||||
|
||||
**Legend**
|
||||
|
||||
- ✅: Supported
|
||||
- 🔄: Work in progress
|
||||
- ❌: Not supported _yet_
|
||||
|
||||
## AI Services
|
||||
| | C# | Python | Notes |
|
||||
|---|---|---|---|
|
||||
| TextGeneration | ✅ | ✅ | Example: Text-Davinci-003 |
|
||||
| TextEmbeddings | ✅ | ✅ | Example: Text-Embeddings-Ada-002 |
|
||||
| ChatCompletion | ✅ | ✅ | Example: GPT4, Chat-GPT |
|
||||
| Image Generation | ✅ | ❌ | Example: Dall-E |
|
||||
|
||||
| | C# | Python | Java | Notes |
|
||||
|---|---|---|---|---|
|
||||
| TextGeneration | ✅ | ✅ | ✅ | Example: Text-Davinci-003 |
|
||||
| TextEmbeddings | ✅ | ✅ | ✅ | Example: Text-Embeddings-Ada-002 |
|
||||
| ChatCompletion | ✅ | ✅ | ❌ | Example: GPT4, Chat-GPT |
|
||||
| Image Generation | ✅ | ❌ | ❌ | Example: Dall-E |
|
||||
|
||||
## AI Service Endpoints
|
||||
| | C# | Python | Notes |
|
||||
|---|---|---|---|
|
||||
| OpenAI | ✅ | ✅ | |
|
||||
| AzureOpenAI | ✅ | ✅ | |
|
||||
| Hugging Face Inference API | 🔄 | ❌ | Coming soon to Python, not all scenarios are covered for .NET |
|
||||
| Hugging Face Local | ❌ | ✅ | |
|
||||
| Custom | ✅ | 🔄 | Requires the user to define the service schema in their application |
|
||||
|
||||
| | C# | Python | Java| Notes |
|
||||
|---|---|---|---|---|
|
||||
| OpenAI | ✅ | ✅ | ✅ | |
|
||||
| AzureOpenAI | ✅ | ✅ | ✅ | |
|
||||
| Hugging Face Inference API | 🔄 | ❌ | ❌ | Coming soon to Python, not all scenarios are covered for .NET |
|
||||
| Hugging Face Local | ❌ | ✅ | ❌ | |
|
||||
| Custom | ✅ | 🔄 | ❌ | Requires the user to define the service schema in their application |
|
||||
|
||||
## Tokenizers
|
||||
| | C# | Python | Notes |
|
||||
|---|---|---|---|
|
||||
| GPT2 | ✅ | ✅ | |
|
||||
| GPT3 | ✅ | ❌ | |
|
||||
|
||||
| | C# | Python | Java | Notes |
|
||||
|---|---|---|---|---|
|
||||
| GPT2 | ✅ | ✅ | ✅ | |
|
||||
| GPT3 | ✅ | ❌ | ❌ | |
|
||||
| tiktoken | 🔄 | ❌ | Coming soon to Python and C#. Can be manually added to Python via `pip install tiktoken` |
|
||||
|
||||
## Core Skills
|
||||
| | C# | Python | Notes |
|
||||
|---|---|---|---|
|
||||
| TextMemorySkill | ✅ | ✅ | |
|
||||
| ConversationSummarySkill | ✅ | ✅ | |
|
||||
| FileIOSkill | ✅ | ✅ | |
|
||||
| HttpSkill | ✅ | ✅ | |
|
||||
| MathSkill | ✅ | ✅ | |
|
||||
| TextSkill | ✅ | ✅ | |
|
||||
| TimeSkill | ✅ | ✅ | |
|
||||
|
||||
| | C# | Python | Java | Notes |
|
||||
|---|---|---|---|---|
|
||||
| TextMemorySkill | ✅ | ✅ | 🔄 | |
|
||||
| ConversationSummarySkill | ✅ | ✅ | ❌ | |
|
||||
| FileIOSkill | ✅ | ✅ | ❌ | |
|
||||
| HttpSkill | ✅ | ✅ | ❌ | |
|
||||
| MathSkill | ✅ | ✅ | ❌ | |
|
||||
| TextSkill | ✅ | ✅ | 🔄 | |
|
||||
| TimeSkill | ✅ | ✅ | 🔄 | |
|
||||
|
||||
## Planning
|
||||
| | C# | Python | Notes |
|
||||
|---|---|---|---|
|
||||
| Plan | ✅ | ❌ | |
|
||||
| SequentialPlanner | ✅ | ❌ | |
|
||||
|
||||
| | C# | Python | Java | Notes |
|
||||
|---|---|---|---|---|
|
||||
| Plan | ✅ | ❌ | ❌ | |
|
||||
| SequentialPlanner | ✅ | ❌ | ❌ | |
|
||||
|
||||
## Connectors and Skill Libraries
|
||||
| | C# | Python | Notes |
|
||||
|---|---|---|---|
|
||||
| Qdrant (Memory) | ✅ | ❌ | Vector optimized |
|
||||
| ChromaDb (Memory) | ❌ | 🔄 | |
|
||||
| Milvus (Memory) | ❌ | ❌ | Vector optimized |
|
||||
| Pinecone (Memory) | ✅ | ❌ | Vector optimized |
|
||||
| Weaviate (Memory) | ❌ | ❌ | Vector optimized |
|
||||
| CosmosDB (Memory) | ✅ | ❌ | CosmosDB is not optimized for vector storage |
|
||||
| Sqlite (Memory) | ✅ | ❌ | Sqlite is not optimized for vector storage |
|
||||
| Postgres (Memory) | ✅ | ❌ | Vector optimized (required the [pgvector](https://github.com/pgvector/pgvector) extension) |
|
||||
| Azure Cognitive Search | ❌ | ❌ | |
|
||||
| MsGraph | ✅ | ❌ | Contains connectors for OneDrive, Outlook, ToDos, and Organization Hierarchies |
|
||||
| Document Skills | ✅ | ❌ | Currently only supports Word documents |
|
||||
| OpenAPI | ✅ | ❌ | |
|
||||
| Web Skills | ✅ | ❌ | |
|
||||
|
||||
# Design Choices
|
||||
| | C# | Python | Java | Notes |
|
||||
|---|---|---|---|---|
|
||||
| Qdrant (Memory) | ✅ | ❌ | ❌ | Vector optimized |
|
||||
| ChromaDb (Memory) | ❌ | 🔄 | ❌ | |
|
||||
| Milvus (Memory) | ❌ | ❌ | ❌ | Vector optimized |
|
||||
| Pinecone (Memory) | ✅ | ❌ | ❌ | Vector optimized |
|
||||
| Weaviate (Memory) | ❌ | ❌ | ❌ | Vector optimized |
|
||||
| CosmosDB (Memory) | ✅ | ❌ | ❌ | CosmosDB is not optimized for vector storage |
|
||||
| Sqlite (Memory) | ✅ | ❌ | ❌ | Sqlite is not optimized for vector storage |
|
||||
| Postgres (Memory) | ✅ | ❌ | ❌ | Vector optimized (required the [pgvector](https://github.com/pgvector/pgvector) extension) |
|
||||
| Azure Cognitive Search | ❌ | ❌ | ❌ | |
|
||||
| MsGraph | ✅ | ❌ | ❌ | Contains connectors for OneDrive, Outlook, ToDos, and Organization Hierarchies |
|
||||
| Document Skills | ✅ | ❌ | ❌ | Currently only supports Word documents |
|
||||
| OpenAPI | ✅ | ❌ | ❌ | |
|
||||
| Web Skills | ✅ | ❌ | ❌ | |
|
||||
|
||||
The overall architecture of the core kernel is consistent across Python and C#,
|
||||
## Design Choices
|
||||
|
||||
The overall architecture of the core kernel is consistent across all languages,
|
||||
however, the code should follow common paradigms and style of each language.
|
||||
|
||||
During the initial development phase, many Python best practices have been ignored
|
||||
|
||||
Reference in New Issue
Block a user