Chroma

resmi

Penyematan, pencarian vektor, penyimpanan dokumen, dan pencarian teks lengkap dengan basis data aplikasi AI sumber terbuka

Apa yang bisa Anda lakukan dengan Chroma MCP?

  • Mendaftar dan menjelajahi koleksi — Gunakan chroma_list_collections untuk menelusuri koleksi yang tersedia dan chroma_peek_collection untuk melihat pratinjau contoh dokumen di dalamnya.
  • Membuat koleksi dengan model embedding yang dipilih — Jalankan chroma_create_collection untuk menyiapkan koleksi baru menggunakan embedding default, openai, cohere, jina, voyageai, atau roboflow.
  • Menambahkan dokumen dengan metadata — Sisipkan teks melalui chroma_add_documents, dengan opsi melampirkan metadata dan ID kustom untuk pemfilteran nanti.
  • Mencari berdasarkan makna atau kata kunci — Lakukan kueri dengan chroma_query_documents untuk pencarian vektor semantik atau gunakan pencarian teks lengkap untuk menemukan dokumen yang relevan.
  • Memfilter dan mengambil dokumen tertentu — Ambil dokumen berdasarkan ID atau filter metadata menggunakan chroma_get_documents, dengan dukungan paginasi.
  • Memperbarui atau menghapus dokumen — Ubah konten dokumen, metadata, atau embedding dengan chroma_update_documents, atau hapus melalui chroma_delete_documents.

Dokumentasi

Chroma logo

Chroma - basis data embedding sumber terbuka.
Cara tercepat untuk membangun aplikasi LLM Python atau JavaScript dengan memori!

Discord | License | Dokumen | Beranda

Server MCP Chroma

smithery badge

Model Context Protocol (MCP) adalah protokol terbuka yang dirancang untuk integrasi mudah antara aplikasi LLM dan sumber data atau alat eksternal, menawarkan kerangka kerja terstandarisasi untuk menyediakan konteks yang dibutuhkan LLM secara mulus.

Server ini menyediakan kemampuan pengambilan data yang didukung oleh Chroma, memungkinkan model AI untuk membuat koleksi dari data yang dihasilkan dan masukan pengguna, serta mengambil data tersebut menggunakan pencarian vektor, pencarian teks lengkap, penyaringan metadata, dan lainnya.

Ini adalah server MCP untuk menghosting sendiri akses Anda ke Chroma. Jika Anda mencari Pencarian Paket, Anda dapat menemukan repositorinya di sini.

Fitur

  • Tipe Klien Fleksibel

    • Ephemeral (dalam memori) untuk pengujian dan pengembangan
    • Persisten untuk penyimpanan berbasis file
    • Klien HTTP untuk instans Chroma yang dihosting sendiri
    • Klien Cloud untuk integrasi Chroma Cloud (otomatis terhubung ke api.trychroma.com)
  • Manajemen Koleksi

    • Membuat, mengubah, dan menghapus koleksi
    • Mendaftar semua koleksi dengan dukungan paginasi
    • Mendapatkan informasi dan statistik koleksi
    • Mengonfigurasi parameter HNSW untuk pencarian vektor yang dioptimalkan
    • Memilih fungsi embedding saat membuat koleksi
  • Operasi Dokumen

    • Menambahkan dokumen dengan metadata opsional dan ID kustom
    • Mencari dokumen menggunakan pencarian semantik
    • Penyaringan lanjutan menggunakan metadata dan konten dokumen
    • Mengambil dokumen berdasarkan ID atau filter
    • Kemampuan pencarian teks lengkap

Alat yang Didukung

  • chroma_list_collections - Mendaftar semua koleksi dengan dukungan paginasi
  • chroma_create_collection - Membuat koleksi baru dengan konfigurasi HNSW opsional
  • chroma_peek_collection - Melihat sampel dokumen dalam sebuah koleksi
  • chroma_get_collection_info - Mendapatkan informasi detail tentang sebuah koleksi
  • chroma_get_collection_count - Mendapatkan jumlah dokumen dalam sebuah koleksi
  • chroma_modify_collection - Memperbarui nama atau metadata koleksi
  • chroma_delete_collection - Menghapus sebuah koleksi
  • chroma_add_documents - Menambahkan dokumen dengan metadata opsional dan ID kustom
  • chroma_query_documents - Mencari dokumen menggunakan pencarian semantik dengan penyaringan lanjutan
  • chroma_get_documents - Mengambil dokumen berdasarkan ID atau filter dengan paginasi
  • chroma_update_documents - Memperbarui konten, metadata, atau embedding dokumen yang ada
  • chroma_delete_documents - Menghapus dokumen tertentu dari sebuah koleksi

Fungsi Embedding

Chroma MCP mendukung beberapa fungsi embedding: default, cohere, openai, jina, voyageai, dan roboflow.

Fungsi embedding memanfaatkan konfigurasi koleksi Chroma, yang menyimpan fungsi embedding yang dipilih dari sebuah koleksi untuk pengambilan. Setelah koleksi dibuat menggunakan konfigurasi koleksi, pada pengambilan untuk kueri dan penyisipan di masa mendatang, fungsi embedding yang sama akan digunakan, tanpa perlu menentukan fungsi embedding lagi. Persistensi fungsi embedding ditambahkan di v1.0.0 Chroma, jadi jika Anda membuat koleksi menggunakan versi <=0.6.3, fitur ini tidak didukung.

Saat mengakses fungsi embedding yang menggunakan API eksternal, pastikan untuk menambahkan variabel lingkungan untuk kunci API dengan format yang benar, yang dapat ditemukan di Variabel Lingkungan Fungsi Embedding

Penggunaan dengan Claude Desktop

  1. Untuk menambahkan klien ephemeral, tambahkan berikut ini ke file claude_desktop_config.json Anda:
"chroma": {
    "command": "uvx",
    "args": [
        "chroma-mcp"
    ]
}
  1. Untuk menambahkan klien persisten, tambahkan berikut ini ke file claude_desktop_config.json Anda:
"chroma": {
    "command": "uvx",
    "args": [
        "chroma-mcp",
        "--client-type",
        "persistent",
        "--data-dir",
        "/full/path/to/your/data/directory"
    ]
}

Ini akan membuat klien persisten yang akan menggunakan direktori data yang ditentukan.

  1. Untuk terhubung ke Chroma Cloud, tambahkan berikut ini ke file claude_desktop_config.json Anda:
"chroma": {
    "command": "uvx",
    "args": [
        "chroma-mcp",
        "--client-type",
        "cloud",
        "--tenant",
        "your-tenant-id",
        "--database",
        "your-database-name",
        "--api-key",
        "your-api-key"
    ]
}

Ini akan membuat klien cloud yang otomatis terhubung ke api.trychroma.com menggunakan SSL.

Catatan: Menambahkan kunci API dalam argumen aman di perangkat lokal, tetapi untuk keamanan, Anda juga dapat menentukan jalur kustom untuk file konfigurasi lingkungan Anda menggunakan argumen --dotenv-path dalam daftar args, contohnya: "args": ["chroma-mcp", "--dotenv-path", "/custom/path/.env"].

  1. Untuk terhubung ke [instans Chroma yang dihosting sendiri di penyedia cloud Anda sendiri](https://docs.trychroma.com/ production/deployment), tambahkan berikut ini ke file claude_desktop_config.json Anda:
"chroma": {
    "command": "uvx",
    "args": [
      "chroma-mcp", 
      "--client-type", 
      "http", 
      "--host", 
      "your-host", 
      "--port", 
      "your-port", 
      "--custom-auth-credentials",
      "your-custom-auth-credentials",
      "--ssl",
      "true"
    ]
}

Ini akan membuat klien HTTP yang terhubung ke instans Chroma yang dihosting sendiri.

Demo

Temukan penggunaan referensi, seperti basis pengetahuan bersama & menambahkan memori ke jendela konteks di Dokumen Chroma MCP

Menggunakan Variabel Lingkungan

Anda juga dapat menggunakan variabel lingkungan untuk mengonfigurasi klien. Server akan otomatis memuat variabel dari file .env yang terletak di jalur yang ditentukan oleh --dotenv-path (defaultnya .chroma_env di direktori kerja) atau dari variabel lingkungan sistem. Argumen baris perintah lebih diutamakan daripada variabel lingkungan.

# 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" 

Variabel Lingkungan Fungsi Embedding

Saat menggunakan fungsi embedding eksternal yang mengakses kunci API, ikuti konvensi penamaan CHROMA_<>_API_KEY="<key>". Jadi untuk mengatur kunci API Cohere, atur variabel lingkungan CHROMA_COHERE_API_KEY="". Kami merekomendasikan menambahkan ini ke file .env di suatu tempat dan menggunakan variabel lingkungan CHROMA_DOTENV_PATH atau flag --dotenv-path untuk mengatur lokasi tersebut demi keamanan.