Add a Chroma provider (CommunityToolkit.VectorData.Chroma)
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 4/5
- Tempo stimato
- 3-5 giorni
- Idoneità per principianti
- 52/100
Direzione di ricerca
Start by comparing the existing Qdrant provider structure in this repository with the reference implementation at ChromaDotNet/ChromaDB.VectorData. Then read the conformance-test requirements in the issue and the mevd.yml matrix; the requested additions are MEVD/src/Chroma, MEVD/test/Chroma.UnitTests, and MEVD/test/Chroma.ConformanceTests. Done means the provider and tests are included in the matrix and the conformance tests run against Chroma with Testcontainers.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
Summary
Add a Chroma provider for Microsoft.Extensions.VectorData as CommunityToolkit.VectorData.Chroma, in MEVD/src/Chroma with its unit and conformance tests, like the other providers of this repository.
Chroma is listed as planned for .NET in the vector store tables of Semantic Kernel and Agent Framework.
Background
In microsoft/semantic-kernel#12510, @roji wrote that a Chroma provider first needed an up-to-date low-level .NET client. ChromaDotNet.Client (repository) continues ChromaDB.Client and is tested against Chroma 0.4.10 to 1.5.9 and Chroma Cloud.
The provider
A working provider is at ChromaDotNet/ChromaDB.VectorData, published as ChromaDotNet.VectorData. It started as a copy of the Qdrant provider of this repository and keeps its structure.
- The Microsoft.Extensions.VectorData conformance tests pass against Chroma 1.5.0, 1.5.9 and the latest release, and on Chroma Cloud, hybrid search included. The test bases for multiple vectors and records without vectors are excluded: Chroma stores exactly one embedding per record.
- Limits that come from Chroma: metadata has no null values, so filtering on null is not supported;
GetAsyncwith a filter does not support ordering; comparisons work on numbers only.
Change
A pull request that adds MEVD/src/Chroma, MEVD/test/Chroma.UnitTests and MEVD/test/Chroma.ConformanceTests with the namespaces, package metadata and test layout of the other providers. The conformance tests start Chroma with Testcontainers, so the mevd.yml matrix runs them with the other providers.
Once CommunityToolkit.VectorData.Chroma is published, ChromaDotNet.VectorData is deprecated in its favor on NuGet. We keep maintaining the provider here.
- Lingua principale
- C#
- Stelle
- 8
- Fork
- 6
- Merge medio
- 3g 12h
- PR unite (30g)
- 3
Preparare l'ambiente
- Nessun Dockerfile né file Docker Compose
- Nessun modello di pull request
- Leggi la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di CommunityToolkit/AI
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
CommunityToolkit/AI#19 ·
-
Report all Cosmos DB emulator issuesForse di nuovo libera @adamsitnik l’ha presa 90 giorni fa e non c’è nessuna pull request aperta. Aperta
CommunityToolkit/AI#23 · 1 assegnatario ·
-
Difficoltà 4/5 3-5 giorni Idoneità per principianti 45/100
CommunityToolkit/AI#20 ·
-
Difficoltà 5/5 Più di una settimana Idoneità per principianti 38/100
CommunityToolkit/AI#13 ·
-
Difficoltà 5/5 Più di una settimana Idoneità per principianti 25/100
CommunityToolkit/AI#9 ·
Tutte le issue di CommunityToolkit/AI
Issue simili
-
S: Untriaged
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
space-wizards/space-station-14#46357 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 66/100
MicrosoftLearning/PL-400_Microsoft-Power-Platform-Developer#231 ·
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 66/100
joinrpg/joinrpg-net#5313 ·
I maintainer di solito rispondono entro 1 giorno
-
[12.x] FixIncorrectOwnerIdRelationships can delete legitimate library roots when UserView shares the same pathForse già presa Una pull request collegata a questa issue è aperta o già unita. Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
I maintainer di solito rispondono entro 1 giorno