aris-ai
[الإنجليزية | 简体中文]
مقدمة
هذا هو المشروع الذي يوفر خدمات طراز اللغة الكبيرة الخاصة ، يهدف إلى الوصول بسرعة إلى الخدمات العامة الكبيرة (GPT3.5 ، GPT4) والموديلات الخاصة (QWEN1.5 ، ChatGLM3 ، LLAMA2 ، Baichuan2 ، إلخ) ، وتوفير واجهة واجهة برمجة تطبيقات موحدة. بالاعتماد على إطار Langchain لتوفير خدمات حوار متعددة (الدردشة) وخدمات الجيل المعزز للاسترجاع (RAG) ، يأتي اسم المشروع من ARIs في الأرشيف الأزرق ، كما هو موضح في الشكل أدناه
ARIS: الأرشيف الأزرق 中的角色
تغيير السجل
[2024-07-13] نحن نفتح المصدر لخادم ARIS-AAI-MODEL ، الذي يدمج خدمات نشر LLM ، التضمين ونشر Reranker ، ويوفر واجهة API متوافقة مع OpenAI لتسهيل المستخدمين لنشر نماذج خاصة.
[2024-06-23] نقوم بإصدار نموذج سلسلة ARIS-14B-Chat الذي SFT و DPO بواسطة QWEN1.5-14B-Chat على مجموعة البيانات الخاصة بنا. يرجى إطاعة اتفاقية Qwen Open Source أثناء استخدامه.
[2024-06-15] استخدم neo4j كقاعدة بيانات لتخزين قواعد المعرفة
مكدس التكنولوجيا
الكون المثالى
- محولات
- PEFT
- Pytorch
- السرعة العميقة
نشر النموذج الخاص
- llama.cpp
- Llama-CPP-Python
خدمة نموذج اللغة الكبيرة
API الخلفية
- fastapi
- Sqlalchemy
- JWT
- MySQL
- redis
- neo4j
ويب واجهة المستخدم
نشر المشروع
تنفيذ الوظيفة
API ذات الصلة
- تسجيل المستخدم ، تسجيل الدخول ، إدارة الإذن
- إدارة الحوار ، إدارة التاريخ
- إدارة النموذج (LLM ، التضمين) ، الإدارة المسبقة (النظام)
- إدارة قاعدة بيانات المتجهات ، إدراج قاعدة بيانات المتجهات ، الدعم:
- الملفات: PDF ، Markdown ، HTML ، Jupyter ، TXT ، Python ، C ++ ، Java وملفات التعليمات البرمجية الأخرى
- الروابط: arxiv ، git ، URL غير مصادقة (يدعم الزحف العودية ، الزحف الآلي للأدوات)
خدمة النموذج ذات الصلة
- الدردشة: يدعم الحوار متعدد الجولة
- Retriever QA: يدعم الإجابة على سؤال (RAG)
واجهة الويب
- توفير واجهة لتحميل قواعد المعرفة
- تقديم واجهة حوار
هيكل المشروع
.
├── assets
├── confs
│ ├── deployment
│ └── local
├── docker
│ ├── deployment
│ └── local
├── envs
│ ├── deployment
│ └── local
├── kubernetes
├── logs
├── pages
└── src
├── api
│ ├── auth
│ ├── model
│ └── router
│ └── v1
│ ├── model
│ └── oauth2
├── config
├── langchain_aris
├── logger
├── middleware
│ ├── jwt
│ ├── logger
│ ├── mysql
│ │ └── models
│ └── redis
└── webui
النشر المحلي
استنساخ المستودع
git clone https://github.com/hcd233/Aris-AI
cd Aris-AI
إنشاء بيئة افتراضية (اختيارية)
يمكنك تخطي هذه الخطوة ، ولكن تحتاج إلى التأكد من أن بيئة بيثون هي 3.11
conda create -n aris python=3.11.0
conda activate aris
تثبيت التبعيات
pip install poetry
poetry install
تكوين conf و env (تم حذفه)
انظر ملف القالب
ابدأ mysql و redis
docker-compose -f docker/local/docker-compose.yml up -d
ابدأ خادم API
لاحظ أنك تحتاج إلى تحديد محلي/API.ENV كمتغير البيئة في IDE
بدء webui
لاحظ أنك تحتاج إلى تحديد محلي/webui.env كمتغير للبيئة في IDE
streamlit run aris_webui.py
الوصول إلى Swaggerui و Webui
- Swaggerui: http: // localhost: $ {api_port}/docs
- Webui: http: // localhost: 8501
نشر Docker
تكوين conf و env (على النحو الوارد أعلاه)
انظر ملف القالب
إنشاء مجلدات
docker volume create mysql-data
docker volume create redis-data
docker volume create neo4j-data
ابدأ الحاوية
docker-compose -f docker/deployment/docker-compose.yml up -d --no-build
تعليمات العملية
تشغيل المستخدم
- بالنسبة لعمليات تسجيل الدخول ، قمت فقط بالتحقق من اسم المستخدم وكلمة المرور البسيطة ، ولم أقم بتوفير وظيفة تسجيل في WebUI. يرجى الاتصال بواجهة API بنفسك ، وتعيين حالة المسؤول (IS_ADMIN = 1) في عملية قاعدة البيانات للوصول إلى النماذج الخاصة
- بعد تسجيل الدخول ، تحتاج إلى حمل رمز JWT لتشغيل المفتاح السري ، والذي يستخدم للاتصال بخدمة النموذج الخاص
تشغيل النموذج
- اتصل بخدمة General الكبيرة النموذجية ، التي تدعم حاليًا فقط نماذج Series Openai (أو الوكلاء مع واجهات تشبه Openai). يمكنك الوصول إليها مباشرة في API. تحتاج إلى تخزين معلومات مثل Base و Key و Max_Tokens في قاعدة البيانات ، ويمكنك تخصيص موجه النظام
- اتصل بخدمة النموذج الخاص ، يرجى نشر النموذج كخدمة API باستخدام واجهة برمجة تطبيقات تشبه Openai (يمكنك استخدام ARIS-AI-Model-Server) ، وتكوينه وفقًا لذلك.
Outlook Project
الأهداف
- دعم الوصول إلى المزيد من الطرز (Azureopenai ، Gemini ، HuggingFaceNdPoint ، llama.cpp)
- المزيد من استراتيجيات الخرقة (دمج خرقة ، إعادة ترتيب ، استدعاء متعدد المسارات ، إلخ)
- دعم الدردشة متعددة الوسائط
- دعم الحفاظ على تجمع المفاتيح لنفس النموذج لتحقيق موازنة التحميل
- وكيل الدعم ومكالمات الأدوات
- الافراج عن نماذج خاصة صعبة
حالة المؤلف
نظرًا لجدول العمل المزدحم ، قد يكون تقدم المشروع بطيئًا نسبيًا ، وسأقوم بتحديثه من حين لآخر. PRS والقضايا موضع ترحيب