Chroma
chính thứcNhúng, tìm kiếm vector, lưu trữ tài liệu và tìm kiếm toàn văn với cơ sở dữ liệu ứng dụng AI mã nguồn mở
Bạn có thể làm gì với Chroma MCP?
- Liệt kê và duyệt các bộ sưu tập — Sử dụng
chroma_list_collectionsđể xem qua các bộ sưu tập có sẵn vàchroma_peek_collectionđể xem trước các tài liệu mẫu bên trong một bộ sưu tập. - Tạo một bộ sưu tập với mô hình embedding đã chọn — Chạy
chroma_create_collectionđể thiết lập một bộ sưu tập mới sử dụng các embeddingdefault,openai,cohere,jina,voyageaihoặcroboflow. - Thêm tài liệu có siêu dữ liệu — Chèn văn bản qua
chroma_add_documents, tùy chọn đính kèm siêu dữ liệu và ID tùy chỉnh để lọc sau này. - Tìm kiếm theo ngữ nghĩa hoặc từ khóa — Truy vấn với
chroma_query_documentsđể tìm kiếm vector ngữ nghĩa hoặc sử dụng tìm kiếm toàn văn bản để tìm các tài liệu liên quan. - Lọc và truy xuất các tài liệu cụ thể — Lấy tài liệu theo ID hoặc bộ lọc siêu dữ liệu bằng
chroma_get_documents, có hỗ trợ phân trang. - Cập nhật hoặc xóa tài liệu — Sửa đổi nội dung tài liệu, siêu dữ liệu hoặc embedding bằng
chroma_update_documents, hoặc xóa chúng quachroma_delete_documents.
Tài liệu
Chroma - cơ sở dữ liệu embedding mã nguồn mở.
Cách nhanh nhất để xây dựng ứng dụng LLM Python hoặc JavaScript có bộ nhớ!
Máy chủ Chroma MCP
Giao thức Ngữ cảnh Mô hình (MCP) là một giao thức mở được thiết kế để tích hợp dễ dàng giữa các ứng dụng LLM và các nguồn dữ liệu hoặc công cụ bên ngoài, cung cấp một khuôn khổ chuẩn hóa để cung cấp liền mạch cho LLM ngữ cảnh mà chúng cần.
Máy chủ này cung cấp khả năng truy xuất dữ liệu được hỗ trợ bởi Chroma, cho phép các mô hình AI tạo các bộ sưu tập từ dữ liệu được tạo và đầu vào của người dùng, đồng thời truy xuất dữ liệu đó bằng tìm kiếm vector, tìm kiếm toàn văn, lọc siêu dữ liệu và nhiều hơn nữa.
Đây là máy chủ MCP để tự lưu trữ quyền truy cập Chroma của bạn. Nếu bạn đang tìm kiếm Tìm kiếm Gói, bạn có thể tìm thấy kho lưu trữ cho điều đó tại đây.
Tính năng
-
Các loại Máy khách Linh hoạt
- Tạm thời (trong bộ nhớ) để kiểm thử và phát triển
- Bền vững để lưu trữ dựa trên tệp
- Máy khách HTTP cho các phiên bản Chroma tự lưu trữ
- Máy khách Đám mây để tích hợp Chroma Cloud (tự động kết nối với api.trychroma.com)
-
Quản lý Bộ sưu tập
- Tạo, sửa đổi và xóa bộ sưu tập
- Liệt kê tất cả bộ sưu tập với hỗ trợ phân trang
- Lấy thông tin và thống kê bộ sưu tập
- Cấu hình tham số HNSW để tối ưu hóa tìm kiếm vector
- Chọn hàm embedding khi tạo bộ sưu tập
-
Thao tác Tài liệu
- Thêm tài liệu với siêu dữ liệu tùy chọn và ID tùy chỉnh
- Truy vấn tài liệu bằng tìm kiếm ngữ nghĩa
- Lọc nâng cao sử dụng siêu dữ liệu và nội dung tài liệu
- Truy xuất tài liệu theo ID hoặc bộ lọc
- Khả năng tìm kiếm toàn văn
Công cụ được Hỗ trợ
chroma_list_collections- Liệt kê tất cả bộ sưu tập với hỗ trợ phân trangchroma_create_collection- Tạo bộ sưu tập mới với cấu hình HNSW tùy chọnchroma_peek_collection- Xem mẫu tài liệu trong bộ sưu tậpchroma_get_collection_info- Lấy thông tin chi tiết về bộ sưu tậpchroma_get_collection_count- Lấy số lượng tài liệu trong bộ sưu tậpchroma_modify_collection- Cập nhật tên hoặc siêu dữ liệu của bộ sưu tậpchroma_delete_collection- Xóa bộ sưu tậpchroma_add_documents- Thêm tài liệu với siêu dữ liệu tùy chọn và ID tùy chỉnhchroma_query_documents- Truy vấn tài liệu bằng tìm kiếm ngữ nghĩa với lọc nâng caochroma_get_documents- Truy xuất tài liệu theo ID hoặc bộ lọc với phân trangchroma_update_documents- Cập nhật nội dung, siêu dữ liệu hoặc embedding của tài liệu hiện cóchroma_delete_documents- Xóa tài liệu cụ thể khỏi bộ sưu tập
Hàm Embedding
Chroma MCP hỗ trợ một số hàm embedding: default, cohere, openai, jina, voyageai và roboflow.
Các hàm embedding sử dụng cấu hình bộ sưu tập của Chroma, giúp lưu trữ hàm embedding đã chọn của bộ sưu tập để truy xuất. Khi một bộ sưu tập được tạo bằng cấu hình bộ sưu tập, trong các lần truy xuất, truy vấn và chèn sau này, cùng một hàm embedding sẽ được sử dụng mà không cần chỉ định lại. Tính năng lưu trữ hàm embedding được thêm vào từ phiên bản v1.0.0 của Chroma, vì vậy nếu bạn tạo bộ sưu tập bằng phiên bản <=0.6.3, tính năng này không được hỗ trợ.
Khi truy cập các hàm embedding sử dụng API bên ngoài, vui lòng đảm bảo thêm biến môi trường cho khóa API với định dạng chính xác, được tìm thấy trong Biến Môi trường Hàm Embedding
Sử dụng với Claude Desktop
- Để thêm máy khách tạm thời, thêm nội dung sau vào tệp
claude_desktop_config.jsoncủa bạn:
"chroma": {
"command": "uvx",
"args": [
"chroma-mcp"
]
}
- Để thêm máy khách bền vững, thêm nội dung sau vào tệp
claude_desktop_config.jsoncủa bạn:
"chroma": {
"command": "uvx",
"args": [
"chroma-mcp",
"--client-type",
"persistent",
"--data-dir",
"/full/path/to/your/data/directory"
]
}
Điều này sẽ tạo một máy khách bền vững sử dụng thư mục dữ liệu được chỉ định.
- Để kết nối với Chroma Cloud, thêm nội dung sau vào tệp
claude_desktop_config.jsoncủa bạn:
"chroma": {
"command": "uvx",
"args": [
"chroma-mcp",
"--client-type",
"cloud",
"--tenant",
"your-tenant-id",
"--database",
"your-database-name",
"--api-key",
"your-api-key"
]
}
Điều này sẽ tạo một máy khách đám mây tự động kết nối với api.trychroma.com bằng SSL.
Lưu ý: Việc thêm khóa API trong các đối số là ổn trên thiết bị cục bộ, nhưng để an toàn, bạn cũng có thể chỉ định đường dẫn tùy chỉnh cho tệp cấu hình môi trường của mình bằng đối số --dotenv-path trong danh sách args, ví dụ: "args": ["chroma-mcp", "--dotenv-path", "/custom/path/.env"].
- Để kết nối với [phiên bản Chroma tự lưu trữ trên nhà cung cấp đám mây của riêng bạn](https://docs.trychroma.com/
production/deployment), thêm nội dung sau vào tệp
claude_desktop_config.jsoncủa bạn:
"chroma": {
"command": "uvx",
"args": [
"chroma-mcp",
"--client-type",
"http",
"--host",
"your-host",
"--port",
"your-port",
"--custom-auth-credentials",
"your-custom-auth-credentials",
"--ssl",
"true"
]
}
Điều này sẽ tạo một máy khách HTTP kết nối với phiên bản Chroma tự lưu trữ của bạn.
Bản demo
Tìm các cách sử dụng tham khảo, chẳng hạn như cơ sở tri thức chia sẻ và thêm bộ nhớ vào cửa sổ ngữ cảnh trong Tài liệu Chroma MCP
Sử dụng Biến Môi trường
Bạn cũng có thể sử dụng biến môi trường để cấu hình máy khách. Máy chủ sẽ tự động tải biến từ tệp .env nằm tại đường dẫn được chỉ định bởi --dotenv-path (mặc định là .chroma_env trong thư mục làm việc) hoặc từ biến môi trường hệ thống. Các đối số dòng lệnh được ưu tiên hơn biến môi trường.
# Common variables
export CHROMA_CLIENT_TYPE="http" # or "cloud", "persistent", "ephemeral"
# For persistent client
export CHROMA_DATA_DIR="/full/path/to/your/data/directory"
# For cloud client (Chroma Cloud)
export CHROMA_TENANT="your-tenant-id"
export CHROMA_DATABASE="your-database-name"
export CHROMA_API_KEY="your-api-key"
# For HTTP client (self-hosted)
export CHROMA_HOST="your-host"
export CHROMA_PORT="your-port"
export CHROMA_CUSTOM_AUTH_CREDENTIALS="your-custom-auth-credentials"
export CHROMA_SSL="true"
# Optional: Specify path to .env file (defaults to .chroma_env)
export CHROMA_DOTENV_PATH="/path/to/your/.env"
Biến Môi trường Hàm Embedding
Khi sử dụng các hàm embedding bên ngoài truy cập khóa API, tuân theo quy ước đặt tên
CHROMA_<>_API_KEY="<key>".
Vì vậy, để đặt khóa API Cohere, hãy đặt biến môi trường CHROMA_COHERE_API_KEY="". Chúng tôi khuyên bạn nên thêm điều này vào tệp .env ở đâu đó và sử dụng biến môi trường CHROMA_DOTENV_PATH hoặc cờ --dotenv-path để đặt vị trí đó nhằm bảo quản an toàn.
