Home
Login

قاعدة بيانات متجهات مفتوحة المصدر وأصلية للذكاء الاصطناعي، مصممة خصيصًا لحلول الاسترجاع المعزز بالتوليد (RAG) لتطبيقات نماذج اللغة الكبيرة.

Apache-2.0Rust 20.6kchroma-core Last Updated: 2025-06-21

Chroma - قاعدة بيانات المتجهات الأصلية مفتوحة المصدر للذكاء الاصطناعي

نظرة عامة على المشروع

Chroma هي قاعدة بيانات مفتوحة المصدر لتطبيقات الذكاء الاصطناعي، مصممة خصيصًا لتخزين واسترجاع تضمينات المتجهات (embeddings). إنها قاعدة بيانات تضمينات (تُعرف أيضًا بقاعدة بيانات المتجهات) يمكنها العثور على البيانات من خلال البحث عن أقرب جار بدلاً من البحث عن السلاسل الفرعية في قواعد البيانات التقليدية.

عنوان GitHub: https://github.com/chroma-core/chroma

الميزات الأساسية

1. قاعدة بيانات متجهات كاملة الميزات

تدمج Chroma وظائف متعددة، بما في ذلك التضمين، والبحث عن المتجهات، وتخزين المستندات، والبحث عن النص الكامل، وتصفية البيانات الوصفية، والاسترجاع متعدد الوسائط، وكل ذلك في منصة واحدة.

2. دعم متعدد اللغات

  • Python: لغة التطوير الرئيسية
  • JavaScript: دعم الواجهة الأمامية و Node.js
  • Rust: مكونات أساسية عالية الأداء

3. دعم مرن لنماذج التضمين

بشكل افتراضي، تستخدم Chroma محولات الجملة (Sentence Transformers) للتضمين، ولكن يمكنها أيضًا استخدام تضمينات OpenAI و Cohere (متعددة اللغات) ونماذج تضمين أخرى.

4. أوضاع نشر متعددة

تدعم أوضاع نشر متعددة، بما في ذلك وضع الذاكرة ووضع تخزين الملفات ووضع الخادم.

5. قابلة للتطوير بدرجة كبيرة

تدعم خلفيات تخزين مختلفة، مثل DuckDB للاستخدام المحلي و ClickHouse لتوسيع التطبيقات الكبيرة.

سيناريوهات التطبيق الرئيسية

1. أنظمة الاسترجاع المعزز بالتوليد (RAG)

في أنظمة RAG، يتم أولاً تضمين المستندات وتخزينها في مجموعة ChromaDB، ثم يتم تشغيل الاستعلامات من خلال ChromaDB للعثور على المحتوى ذي الصلة دلاليًا.

2. البحث الدلالي

في البحث الدلالي، يمكن لـ ChromaDB العثور على نقاط البيانات المتشابهة بناءً على تضمينات المتجهات، وهو أمر مفيد جدًا لتحديد المستندات أو الصور أو أنواع البيانات الأخرى القابلة للمقارنة من خلال تحليل المحتوى أو المعنى.

3. البحث عن التشابه

من خلال حساب المسافة في فضاء المتجهات، يمكن العثور بسرعة على المحتوى الأكثر تشابهًا مع الاستعلام.

البنية التقنية

خلفية التخزين

  • DuckDB: نشر محلي خفيف الوزن
  • ClickHouse: نشر موزّع واسع النطاق
  • تخزين الذاكرة: تطوير سريع للنماذج الأولية

معالجة التضمين

  • توليد التضمين التلقائي
  • دعم وظائف التضمين المخصصة
  • قدرة المعالجة المجمعة

إدارة البيانات الوصفية

  • وظائف تصفية بيانات وصفية غنية
  • دعم الاستعلامات المنظمة
  • قدرات البحث المختلط

التثبيت والاستخدام

تثبيت Python

pip install chromadb

مثال على الاستخدام الأساسي

import chromadb


client = chromadb.Client()


collection = client.create_collection("my_collection")

collection.add(
    documents=["This is document 1", "This is document 2"],
    metadatas=[{"source": "doc1"}, {"source": "doc2"}],
    ids=["id1", "id2"]
)

results = collection.query(
    query_texts=["search query"],
    n_results=2
)

التكامل مع النظام البيئي

تكامل LangChain

تم دمج Chroma بعمق مع LangChain، ويمكن استخدامه كمكون تخزين متجه.

تكامل OpenAI

تم دمج Chroma مع وظائف التضمين الخاصة بـ OpenAI، مما يدعم تخزين وتصفية البيانات الوصفية التعسفية.

مزايا المشروع

  1. جاهز للاستخدام: البطاريات مشمولة، وجميع الوظائف مدمجة مسبقًا
  2. سهل الاستخدام: تصميم API بسيط، بداية سريعة
  3. أداء عالي: خوارزميات بحث متجهات محسنة
  4. قابل للتطوير: توسيع سلس من النموذج الأولي إلى بيئة الإنتاج
  5. مفتوح المصدر: دعم مجتمعي نشط وتطوير مستمر

ملخص

Chroma هو مكون أساسي لا غنى عنه في تطوير تطبيقات الذكاء الاصطناعي الحديثة، وهو مناسب بشكل خاص لسيناريوهات التطبيقات التي تتطلب البحث الدلالي وأنظمة RAG ومطابقة تشابه المتجهات. إن واجهة برمجة التطبيقات (API) البسيطة والوظائف القوية والتكامل الجيد مع النظام البيئي تجعله الحل المفضل لقاعدة بيانات المتجهات للمطورين.