Chroma

chính thức

Nhú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 embedding default, openai, cohere, jina, voyageai hoặc roboflow.
  • 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 qua chroma_delete_documents.

Tài liệu

Chroma logo

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ớ!

Discord | License | Tài liệu | Trang chủ

Máy chủ Chroma MCP

smithery badge

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 trang
  • chroma_create_collection - Tạo bộ sưu tập mới với cấu hình HNSW tùy chọn
  • chroma_peek_collection - Xem mẫu tài liệu trong bộ sưu tập
  • chroma_get_collection_info - Lấy thông tin chi tiết về bộ sưu tập
  • chroma_get_collection_count - Lấy số lượng tài liệu trong bộ sưu tập
  • chroma_modify_collection - Cập nhật tên hoặc siêu dữ liệu của bộ sưu tập
  • chroma_delete_collection - Xóa bộ sưu tập
  • chroma_add_documents - Thêm tài liệu với siêu dữ liệu tùy chọn và ID tùy chỉnh
  • chroma_query_documents - Truy vấn tài liệu bằng tìm kiếm ngữ nghĩa với lọc nâng cao
  • chroma_get_documents - Truy xuất tài liệu theo ID hoặc bộ lọc với phân trang
  • chroma_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, voyageairoboflow.

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

  1. Để thêm máy khách tạm thời, thêm nội dung sau vào tệp claude_desktop_config.json của bạn:
"chroma": {
    "command": "uvx",
    "args": [
        "chroma-mcp"
    ]
}
  1. Để thêm máy khách bền vững, thêm nội dung sau vào tệp claude_desktop_config.json củ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.

  1. Để kết nối với Chroma Cloud, thêm nội dung sau vào tệp claude_desktop_config.json củ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"].

  1. Để 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.json củ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.