Add a Chroma provider (CommunityToolkit.VectorData.Chroma)
Đánh giá
- Độ khó
- 4/5
- Thời gian dự kiến
- 3-5 ngày
- Mức phù hợp với người mới
- 52/100
Hướng nghiên cứu
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.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Mô tả
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.
- Ngôn ngữ chính
- C#
- Star
- 8
- Fork
- 8
- Merge trung bình
- 3 ngày 12 giờ
- Pull request đã merge (30 ngày)
- 3
Chuẩn bị môi trường
- Không có Dockerfile hay tệp Docker Compose
- Không có mẫu pull request
- Đọc hướng dẫn đóng góp
Bắt đầu từ đâu
- Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
- Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
- Fork repository và làm thay đổi trên một nhánh.
- Mở pull request có tham chiếu số hiệu của issue.
Issue khác của CommunityToolkit/AI
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 72/100
CommunityToolkit/AI#19 ·
-
Độ khó 5/5 Hơn một tuần Mức phù hợp với người mới 35/100
CommunityToolkit/AI#62 ·
-
Độ khó 5/5 Hơn một tuần Mức phù hợp với người mới 35/100
CommunityToolkit/AI#61 ·
-
Độ khó 4/5 Hơn một tuần Mức phù hợp với người mới 30/100
CommunityToolkit/AI#60 · 1 bình luận ·
-
Độ khó 5/5 Hơn một tuần Mức phù hợp với người mới 35/100
CommunityToolkit/AI#59 ·
Tất cả issue của CommunityToolkit/AI
Issue tương tự
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 68/100
stryker-mutator/stryker-net#3892 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 65/100
MobiFlight/MobiFlight-Connector#3419 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
`Source` with an `avares://` URI and a `#fragment` throws instead of scrolling to the anchorĐang mở
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 82/100
Kryptos-FR/MarkView.Avalonia#105 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
[辞書]Đang mở提案 辞書
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 65/100
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 76/100
microsoft/fluentui-blazor#5410 ·
Maintainer thường phản hồi trong vòng 1 ngày