forked from microsoft/semantic-kernel
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Feature matrix improvements (microsoft#509)
### Motivation and Context With the official publishing of the Python Semantic Kernel, we should be informing the public of feature parity between Python and C#. Python is currently playing catch up. ### Description Removed the FEATURE_PARITY.md file from the python directory and added a FEATURE_MATRIX.md file to the top level of the repo. The main REAME.md now links to this file. Added a stronger breakdown of features that we are tracking for SK.
- Loading branch information
1 parent
72c7616
commit c2b3a6b
Showing
3 changed files
with
67 additions
and
33 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,65 @@ | ||
# Kernel Feature Matrix by Language | ||
|
||
## AI Services | ||
| | C# | Python | Notes | | ||
|---|---|---|---| | ||
| TextGeneration | ✅ | ✅ | Example: Text-Davinci-003 | | ||
| TextEmbeddings | ✅ | ✅ | Example: Text-Embeddings-Ada-002 | | ||
| ChatCompletion | ✅ | ❌ | Example: GPT4, Chapt-GPT | | ||
| Image Generation | ✅ | ❌ | Example: Dall-E | | ||
|
||
## AI Service Endpoints | ||
| | C# | Python | Notes | | ||
|---|---|---|---| | ||
| OpenAI | ✅ | ✅ | | | ||
| AzureOpenAI | ✅ | ✅ | | | ||
| Hugging Face | ✅ | ❌ | Coming soon to Python - both native and web endpoint support | | ||
| Custom | ✅ | ❌ | Requires the user to define the service schema in their application | | ||
|
||
## Tokenizers | ||
| | C# | Python | Notes | | ||
|---|---|---|---| | ||
| GPT2 | ✅ | 🔄 | Can be manually added to Python via `pip install transformers` | | ||
| GPT3 | ✅ | ❌ | | | ||
| tiktoken | 🔄 | ❌ | Coming soon to Python and C#. Can be manually added to Python via `pip install tiktoken` | | ||
|
||
## Core Skills | ||
| | C# | Python | Notes | | ||
|---|---|---|---| | ||
| TextMemorySkill | ✅ | ✅ | | | ||
| PlannerSkill | ✅ | 🔄 | | | ||
| ConversationSummarySkill | ✅ | ❌ | | | ||
| FileIOSkill | ✅ | ✅ | | | ||
| HttpSkill | ✅ | ❌ | | | ||
| MathSkill | ✅ | ❌ | | | ||
| TextSkill | ✅ | ✅ | | | ||
| TimeSkill | ✅ | ✅ | | | ||
|
||
## 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 | | ||
| 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 | ||
|
||
The overall architecture of the core kernel is consistent across Python and C#, | ||
however, the code should follow common paradigms and style of each language. | ||
|
||
During the initial development phase, many Python best practices have been ignored | ||
in the interest of velocity and feature parity. The project is now going through | ||
a refactoring exercise to increase code quality. | ||
|
||
To make the Kernel as lightweight as possible, the core pip package should have | ||
a minimal set of external dependencies. On the other hand, the SDK should not | ||
reinvent mature solutions already available, unless of major concerns. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file was deleted.
Oops, something went wrong.