-
Notifications
You must be signed in to change notification settings - Fork 4.5k
Closed
Labels
.NETIssue or Pull requests regarding .NET codeIssue or Pull requests regarding .NET codeenhancementmemorymemory connectorsk team issueA tag to denote issues that where created by the Semantic Kernel team (i.e., not the community)A tag to denote issues that where created by the Semantic Kernel team (i.e., not the community)
Description
Tasks
- Create ADR
- Azure AI Search POC
- Redis POC
- Qadrant POC
Context and Problem Statement
Semantic Kernel has a collection of connectors to popular Vector databases e.g. Azure AI Search, Chroma, Milvus, ...
Each Memory connector implements a memory abstraction defined by Semantic Kernel and allows developers to easily intergrate Vector databases into their applications.
The current abstractions are experimental and the purpose of this ADR is to progress the design of the abstractions so that they can graduate to non experimental status.
Decision Drivers
- API surface must be easy to use and intuitive
- Alignment with other patterns in the SK
- Design must allow Memory Plugins to be easily instantiated with any connector
- Design must support all Kernel content types
- Design must allow for database specific configuration
- All NFR's to be production ready are implemented
- Basic CRUD operations must be supported so that connectors can be used in a polymorphic manner
- Official Database Clients must be used where available
- Dynamic database schema must be supported
- Dependency injection must be supported
- Azure-ML YAML format must be supported
- Breaking glass scenarios must be supported
Questions
- Primary use cases are described in the RAG document.
- Prioritised list of Memory connectors
- P1: Azure AI Search, Weaviate, Redis
- P2: Cosmos dB, Kusto, SQL Server, LlamaIndex*
- P3: Milvus, Pinecone, Chroma
- Remove database that do not support vector similarity search
- For LlamaIndex this is an integration story with their service offering
Resources
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
.NETIssue or Pull requests regarding .NET codeIssue or Pull requests regarding .NET codeenhancementmemorymemory connectorsk team issueA tag to denote issues that where created by the Semantic Kernel team (i.e., not the community)A tag to denote issues that where created by the Semantic Kernel team (i.e., not the community)
Type
Projects
Status
Sprint: Done