Chroma
आधिकारिकएम्बेडिंग, वेक्टर खोज, दस्तावेज़ भंडारण, और ओपन-सोर्स AI एप्लिकेशन डेटाबेस के साथ पूर्ण-पाठ खोज
Chroma MCP के साथ आप क्या कर सकते हैं?
- सूची बनाएं और संग्रह ब्राउज़ करें — उपलब्ध संग्रहों को पृष्ठांकित करने के लिए
chroma_list_collectionsऔर एक संग्रह के अंदर नमूना दस्तावेज़ देखने के लिएchroma_peek_collectionका उपयोग करें। - चुने हुए एम्बेडिंग मॉडल के साथ एक संग्रह बनाएं —
default,openai,cohere,jina,voyageai, याroboflowएम्बेडिंग का उपयोग करके एक नया संग्रह सेट करने के लिएchroma_create_collectionचलाएं। - मेटाडेटा के साथ दस्तावेज़ जोड़ें —
chroma_add_documentsके माध्यम से टेक्स्ट डालें, वैकल्पिक रूप से बाद में फ़िल्टर करने के लिए मेटाडेटा और कस्टम आईडी संलग्न करें। - अर्थ या कीवर्ड द्वारा खोजें — सिमैंटिक वेक्टर खोज के लिए
chroma_query_documentsसे क्वेरी करें या प्रासंगिक दस्तावेज़ खोजने के लिए पूर्ण-पाठ खोज का उपयोग करें। - विशिष्ट दस्तावेज़ फ़िल्टर करें और प्राप्त करें — पेजिनेशन समर्थन के साथ
chroma_get_documentsका उपयोग करके आईडी या मेटाडेटा फ़िल्टर द्वारा दस्तावेज़ प्राप्त करें। - दस्तावेज़ अपडेट या हटाएं —
chroma_update_documentsके साथ दस्तावेज़ सामग्री, मेटाडेटा या एम्बेडिंग को संशोधित करें, याchroma_delete_documentsके माध्यम से उन्हें हटाएं।
दस्तावेज़
Chroma - ओपन-सोर्स एम्बेडिंग डेटाबेस।
मेमोरी के साथ Python या JavaScript LLM ऐप्स बनाने का सबसे तेज़ तरीका!
Chroma MCP सर्वर
मॉडल कॉन्टेक्स्ट प्रोटोकॉल (MCP) एक खुला प्रोटोकॉल है जिसे LLM अनुप्रयोगों और बाहरी डेटा स्रोतों या उपकरणों के बीच सहज एकीकरण के लिए डिज़ाइन किया गया है, जो LLM को आवश्यक संदर्भ प्रदान करने के लिए एक मानकीकृत ढांचा प्रदान करता है।
यह सर्वर Chroma द्वारा संचालित डेटा पुनर्प्राप्ति क्षमताएँ प्रदान करता है, जो AI मॉडल को उत्पन्न डेटा और उपयोगकर्ता इनपुट पर संग्रह बनाने और वेक्टर खोज, पूर्ण पाठ खोज, मेटाडेटा फ़िल्टरिंग और अधिक का उपयोग करके उस डेटा को पुनर्प्राप्त करने में सक्षम बनाता है।
यह Chroma तक अपनी पहुँच को स्व-होस्ट करने के लिए एक MCP सर्वर है। यदि आप पैकेज खोज ढूँढ रहे हैं तो आप उसके लिए रिपॉजिटरी यहाँ पा सकते हैं।
विशेषताएँ
-
लचीले क्लाइंट प्रकार
- परीक्षण और विकास के लिए अल्पकालिक (इन-मेमोरी)
- फ़ाइल-आधारित भंडारण के लिए स्थायी
- स्व-होस्टेड Chroma इंस्टेंस के लिए HTTP क्लाइंट
- Chroma क्लाउड एकीकरण के लिए क्लाउड क्लाइंट (स्वचालित रूप से api.trychroma.com से जुड़ता है)
-
संग्रह प्रबंधन
- संग्रह बनाएँ, संशोधित करें और हटाएँ
- पृष्ठांकन समर्थन के साथ सभी संग्रह सूचीबद्ध करें
- संग्रह की जानकारी और आँकड़े प्राप्त करें
- अनुकूलित वेक्टर खोज के लिए HNSW पैरामीटर कॉन्फ़िगर करें
- संग्रह बनाते समय एम्बेडिंग फ़ंक्शन चुनें
-
दस्तावेज़ संचालन
- वैकल्पिक मेटाडेटा और कस्टम IDs के साथ दस्तावेज़ जोड़ें
- सिमेंटिक खोज का उपयोग करके दस्तावेज़ क्वेरी करें
- मेटाडेटा और दस्तावेज़ सामग्री का उपयोग करके उन्नत फ़िल्टरिंग
- IDs या फ़िल्टर द्वारा दस्तावेज़ पुनर्प्राप्त करें
- पूर्ण पाठ खोज क्षमताएँ
समर्थित उपकरण
chroma_list_collections- पृष्ठांकन समर्थन के साथ सभी संग्रह सूचीबद्ध करेंchroma_create_collection- वैकल्पिक HNSW कॉन्फ़िगरेशन के साथ एक नया संग्रह बनाएँchroma_peek_collection- किसी संग्रह में दस्तावेज़ों का एक नमूना देखेंchroma_get_collection_info- किसी संग्रह के बारे में विस्तृत जानकारी प्राप्त करेंchroma_get_collection_count- किसी संग्रह में दस्तावेज़ों की संख्या प्राप्त करेंchroma_modify_collection- किसी संग्रह का नाम या मेटाडेटा अपडेट करेंchroma_delete_collection- किसी संग्रह को हटाएँchroma_add_documents- वैकल्पिक मेटाडेटा और कस्टम IDs के साथ दस्तावेज़ जोड़ेंchroma_query_documents- उन्नत फ़िल्टरिंग के साथ सिमेंटिक खोज का उपयोग करके दस्तावेज़ क्वेरी करेंchroma_get_documents- पृष्ठांकन के साथ IDs या फ़िल्टर द्वारा दस्तावेज़ पुनर्प्राप्त करेंchroma_update_documents- मौजूदा दस्तावेज़ों की सामग्री, मेटाडेटा या एम्बेडिंग अपडेट करेंchroma_delete_documents- किसी संग्रह से विशिष्ट दस्तावेज़ हटाएँ
एम्बेडिंग फ़ंक्शन
Chroma MCP कई एम्बेडिंग फ़ंक्शन का समर्थन करता है: default, cohere, openai, jina, voyageai, और roboflow।
एम्बेडिंग फ़ंक्शन Chroma के संग्रह कॉन्फ़िगरेशन का उपयोग करते हैं, जो पुनर्प्राप्ति के लिए किसी संग्रह के चयनित एम्बेडिंग फ़ंक्शन को बनाए रखता है। एक बार संग्रह कॉन्फ़िगरेशन का उपयोग करके संग्रह बन जाने के बाद, भविष्य की क्वेरीज़ और इंसर्ट के लिए पुनर्प्राप्ति पर, उसी एम्बेडिंग फ़ंक्शन का उपयोग किया जाएगा, बिना फिर से एम्बेडिंग फ़ंक्शन निर्दिष्ट करने की आवश्यकता के। एम्बेडिंग फ़ंक्शन स्थायित्व Chroma के v1.0.0 में जोड़ा गया था, इसलिए यदि आपने संस्करण <=0.6.3 का उपयोग करके कोई संग्रह बनाया है, तो यह सुविधा समर्थित नहीं है।
बाहरी APIs का उपयोग करने वाले एम्बेडिंग फ़ंक्शन तक पहुँचने पर, कृपया एम्बेडिंग फ़ंक्शन पर्यावरण चर में पाए जाने वाले सही प्रारूप के साथ API कुंजी के लिए पर्यावरण चर जोड़ना सुनिश्चित करें।
Claude डेस्कटॉप के साथ उपयोग
- एक अल्पकालिक क्लाइंट जोड़ने के लिए, अपनी
claude_desktop_config.jsonफ़ाइल में निम्नलिखित जोड़ें:
"chroma": {
"command": "uvx",
"args": [
"chroma-mcp"
]
}
- एक स्थायी क्लाइंट जोड़ने के लिए, अपनी
claude_desktop_config.jsonफ़ाइल में निम्नलिखित जोड़ें:
"chroma": {
"command": "uvx",
"args": [
"chroma-mcp",
"--client-type",
"persistent",
"--data-dir",
"/full/path/to/your/data/directory"
]
}
यह एक स्थायी क्लाइंट बनाएगा जो निर्दिष्ट डेटा निर्देशिका का उपयोग करेगा।
- Chroma क्लाउड से कनेक्ट करने के लिए, अपनी
claude_desktop_config.jsonफ़ाइल में निम्नलिखित जोड़ें:
"chroma": {
"command": "uvx",
"args": [
"chroma-mcp",
"--client-type",
"cloud",
"--tenant",
"your-tenant-id",
"--database",
"your-database-name",
"--api-key",
"your-api-key"
]
}
यह एक क्लाउड क्लाइंट बनाएगा जो SSL का उपयोग करके स्वचालित रूप से api.trychroma.com से जुड़ता है।
नोट: स्थानीय उपकरणों पर तर्कों में API कुंजी जोड़ना ठीक है, लेकिन सुरक्षा के लिए, आप args सूची के भीतर --dotenv-path तर्क का उपयोग करके अपनी पर्यावरण कॉन्फ़िगरेशन फ़ाइल के लिए एक कस्टम पथ भी निर्दिष्ट कर सकते हैं, उदाहरण के लिए: "args": ["chroma-mcp", "--dotenv-path", "/custom/path/.env"]।
- [अपने स्वयं के क्लाउड प्रदाता पर स्व-होस्टेड Chroma इंस्टेंस](https://docs.trychroma.com/
production/deployment) से कनेक्ट करने के लिए, अपनी
claude_desktop_config.jsonफ़ाइल में निम्नलिखित जोड़ें:
"chroma": {
"command": "uvx",
"args": [
"chroma-mcp",
"--client-type",
"http",
"--host",
"your-host",
"--port",
"your-port",
"--custom-auth-credentials",
"your-custom-auth-credentials",
"--ssl",
"true"
]
}
यह एक HTTP क्लाइंट बनाएगा जो आपके स्व-होस्टेड Chroma इंस्टेंस से जुड़ता है।
डेमो
Chroma MCP दस्तावेज़ में साझा ज्ञान आधार और संदर्भ विंडो में मेमोरी जोड़ने जैसे संदर्भ उपयोग खोजें।
पर्यावरण चर का उपयोग करना
आप क्लाइंट को कॉन्फ़िगर करने के लिए पर्यावरण चर का भी उपयोग कर सकते हैं। सर्वर स्वचालित रूप से --dotenv-path द्वारा निर्दिष्ट पथ पर स्थित .env फ़ाइल से चर लोड करेगा (कार्यशील निर्देशिका में .chroma_env पर डिफ़ॉल्ट) या सिस्टम पर्यावरण चर से। कमांड-लाइन तर्क पर्यावरण चर पर प्राथमिकता लेते हैं।
# 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"
एम्बेडिंग फ़ंक्शन पर्यावरण चर
API कुंजी तक पहुँचने वाले बाहरी एम्बेडिंग फ़ंक्शन का उपयोग करते समय, नामकरण परिपाटी का पालन करें
CHROMA_<>_API_KEY="<key>"।
इसलिए Cohere API कुंजी सेट करने के लिए, पर्यावरण चर CHROMA_COHERE_API_KEY="" सेट करें। हम इसे कहीं .env फ़ाइल में जोड़ने और सुरक्षित रखने के लिए उस स्थान को सेट करने हेतु CHROMA_DOTENV_PATH पर्यावरण चर या --dotenv-path फ़्लैग का उपयोग करने की अनुशंसा करते हैं।
