chatchat-space/Langchain-ChatchatView GitHub Homepage for Latest Official Releases

مشروع تطبيق مفتوح المصدر وقابل للنشر دون اتصال بالإنترنت RAG و Agent يعتمد على نماذج لغوية كبيرة مثل ChatGLM و Qwen و Llama وإطار عمل Langchain.

Apache-2.0TypeScriptLangchain-Chatchatchatchat-space 35.9k Last Updated: March 25, 2025

نظرة عامة على مشروع Langchain-Chatchat

Langchain-Chatchat (الاسم الأصلي Langchain-ChatGLM) هو مشروع مفتوح المصدر وقابل للنشر دون اتصال بالإنترنت يعتمد على نماذج لغوية كبيرة وأطر تطبيق مثل Langchain، ويقوم بتنفيذ تطبيقات RAG (جيل معزز بالاسترجاع) و Agent. يهدف هذا المشروع إلى إنشاء مجموعة من حلول الإجابة على الأسئلة المستندة إلى قاعدة المعرفة الصديقة للسيناريوهات الصينية والنماذج مفتوحة المصدر، والقابلة للتشغيل دون اتصال بالإنترنت.

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

1. دعم نماذج متعددة

يدعم المشروع النماذج اللغوية الكبيرة مفتوحة المصدر السائدة في السوق:

  • سلسلة GLM: GLM-4-Chat, ChatGLM، إلخ.
  • سلسلة Qwen: Qwen2-Instruct, Qwen-VL-Chat، إلخ.
  • سلسلة Llama: Llama3، إلخ.
  • واجهات برمجة تطبيقات (API) عبر الإنترنت: يدعم استدعاء OpenAI GPT API

2. أطر نشر متعددة

يدعم أطر نشر نماذج متعددة، مما يوفر طرق وصول مرنة:

الإطار Xinference LocalAI Ollama FastChat
توافق واجهة OpenAI API
محرك الاستدلال المتسارع GPTQ, GGML, vLLM, TensorRT, mlx GPTQ, GGML, vLLM, TensorRT GGUF, GGML vLLM
أنواع النماذج المدعومة LLM, Embedding, Rerank, Text-to-Image, Vision, Audio LLM, Embedding, Rerank, Text-to-Image, Vision, Audio LLM, Text-to-Image, Vision LLM, Vision

3. وظائف حوار غنية

يوفر الإصدار 0.3.x أوضاع حوار متعددة:

الوظيفة 0.2.x 0.3.x
حوار LLM
حوار قاعدة المعرفة
حوار محرك البحث
حوار الملفات ✅ استرجاع متجهي فقط ✅ موحد كوظيفة File RAG، يدعم طرق استرجاع متعددة مثل BM25+KNN
حوار قاعدة البيانات
حوار الصور متعدد الوسائط ✅ يوصى باستخدام qwen-vl-chat
حوار وثائق ARXIV
حوار Wolfram
توليد الصور من النص
Agent ❌ غير مستقر ✅ مُحسَّن لـ ChatGLM3 و Qwen

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

مبدأ تنفيذ RAG

تعتمد التقنية الأساسية للمشروع على بنية RAG (جيل معزز بالاسترجاع):

تحميل المستند ← قراءة النص ← تقسيم النص ← تحويل النص إلى متجه ← تحويل سؤال إلى متجه ←
مطابقة التشابه (Top-K) ← بناء السياق ← LLM توليد الإجابة

وظيفة Agent

يتم تنفيذ الوظائف الأساسية للإصدار 0.3.x بواسطة Agent، مما يوفر ثلاثة أوضاع تشغيل:

طريقة التشغيل وظيفة التنفيذ السيناريو المناسب
تمكين Agent + أدوات متعددة استدعاء أداة LLM تلقائيًا نماذج ChatGLM3/Qwen وما إلى ذلك التي لديها قدرات Agent
تمكين Agent + أداة واحدة LLM يحلل معلمات الأداة فقط نماذج ذات قدرة Agent عامة، اختيار الوظيفة يدويًا
عدم تمكين Agent + أداة واحدة إدخال المعلمات يدويًا نماذج لا تملك قدرات Agent

التثبيت والنشر

1. تثبيت مكتبة Python

pip install langchain-chatchat -U

pip install "langchain-chatchat[xinference]" -U

2. متطلبات البيئة

  • إصدار Python: 3.8-3.11
  • نظام التشغيل: Windows, macOS, Linux
  • دعم الأجهزة: CPU, GPU, NPU, MPS

3. خطوات التكوين

تعيين الدليل الجذر (اختياري)

# Linux/macOS
export CHATCHAT_ROOT=/path/to/chatchat_data

# Windows
set CHATCHAT_ROOT=/path/to/chatchat_data

تهيئة المشروع

chatchat init

تعديل ملف التكوين

تشمل ملفات التكوين الرئيسية:

  • model_settings.yaml: تكوين النموذج
  • basic_settings.yaml: تكوين المسار الأساسي
  • kb_settings.yaml: تكوين قاعدة المعرفة

تهيئة قاعدة المعرفة

chatchat kb -r

بدء الخدمة

chatchat start -a

4. نشر Docker

docker pull chatimage/chatchat:0.3.1.3-93e2c87-20240829

docker pull ccr.ccs.tencentyun.com/langchain-chatchat/chatchat:0.3.1.3-93e2c87-20240829

سيناريوهات الاستخدام

1. الإجابة على أسئلة قاعدة المعرفة المؤسسية

  • إدارة المستندات واسترجاعها
  • مشاركة المعرفة الداخلية
  • أتمتة خدمة العملاء

2. البحث الأكاديمي

  • استرجاع وتحليل الأدبيات
  • حوار الأوراق الأكاديمية
  • تنظيم مواد البحث

3. إدارة المعرفة الشخصية

  • تنظيم المستندات الشخصية
  • استرجاع الملاحظات الدراسية
  • إدارة أرشفة المواد

الميزات والمزايا

  1. مفتوح المصدر بالكامل: يتبع بروتوكول Apache-2.0، الكود مفتوح بالكامل
  2. نشر دون اتصال بالإنترنت: يدعم التشغيل الكامل دون اتصال بالإنترنت، وحماية خصوصية البيانات
  3. صديق للغة الصينية: مُحسَّن للسيناريوهات الصينية، ويدعم النماذج الصينية
  4. إطار عمل مرن: يدعم أطر نشر نماذج متعددة
  5. وظائف غنية: يوفر RAG و Agent والوسائط المتعددة ووظائف أخرى
  6. سهولة النشر: يوفر تثبيت pip وطرق نشر Docker

المكدس التقني

  • الإطار الأساسي: Langchain
  • إطار عمل الويب: FastAPI, Streamlit
  • قاعدة بيانات المتجهات: FAISS، إلخ.
  • الاستدلال النموذجي: Xinference, Ollama, LocalAI, FastChat
  • الوصول إلى واجهة برمجة التطبيقات (API): One API يدعم واجهات برمجة تطبيقات متعددة عبر الإنترنت

يوفر هذا المشروع حلاً كاملاً للمستخدمين الذين يحتاجون إلى بناء نظام إجابة على الأسئلة لقاعدة المعرفة المحلية، وهو مناسب بشكل خاص للمؤسسات والمستخدمين الأفراد الذين لديهم متطلبات صارمة لخصوصية البيانات.

Star History Chart