LangChain.Databases
Database abstractions and vector store backends for the LangChain.NET ecosystem.
Philosophy
This project aligns with the Microsoft.Extensions ecosystem. For vector search, we use Microsoft.Extensions.VectorData.Abstractions (MEVA) — the industry-standard .NET vector data abstraction. For backends that have official Semantic Kernel connectors, consumers should reference those packages directly rather than using wrappers.
Packages
Vector stores (MEVA implementations)
These packages implement VectorStore / VectorStoreCollection<TKey, TRecord> from Microsoft.Extensions.VectorData:
| Package | Backend | NuGet |
|---|---|---|
LangChain.Databases.Postgres |
PostgreSQL + pgvector | |
LangChain.Databases.OpenSearch |
OpenSearch k-NN |
Chat message history
| Package | Backend | NuGet |
|---|---|---|
LangChain.Databases.Abstractions |
In-memory, file-based | |
LangChain.Databases.Redis |
Redis | |
LangChain.Databases.Mongo |
MongoDB |
Use SK connectors for other backends
For backends with official Semantic Kernel connectors, use those packages directly:
| Backend | SK Connector Package |
|---|---|
| In-Memory | Microsoft.SemanticKernel.Connectors.InMemory |
| SQLite | Microsoft.SemanticKernel.Connectors.Sqlite |
| Chroma | Microsoft.SemanticKernel.Connectors.Chroma |
| Qdrant | Microsoft.SemanticKernel.Connectors.Qdrant |
| Pinecone | Microsoft.SemanticKernel.Connectors.Pinecone |
| Weaviate | Microsoft.SemanticKernel.Connectors.Weaviate |
| Milvus | Microsoft.SemanticKernel.Connectors.Milvus |
| DuckDB | Microsoft.SemanticKernel.Connectors.DuckDB |
| Azure AI Search | Microsoft.SemanticKernel.Connectors.AzureAISearch |
| Redis (vector) | Microsoft.SemanticKernel.Connectors.Redis |
| MongoDB (vector) | Microsoft.SemanticKernel.Connectors.MongoDB |
Quick start
1. Define a record type
1 2 3 4 5 6 7 8 9 10 11 12 13 | |
2. Create a store and collection
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | |
3. Upsert and search
1 2 3 4 5 6 7 8 9 10 11 | |
Migration from IVectorDatabase
The legacy IVectorDatabase / IVectorCollection interfaces have been removed in favor of MEVA. See the migration guide for detailed before/after examples.
License
This project is licensed under the MIT License.