
configs/ المجلد.Open Server هو محاولتي لإعادة إنشاء خادم Openai المتوافق لإنشاء النص والصور والتضمينات وتخزينها في قواعد بيانات المتجهات. ويشمل أيضا وظيفة الدردشة.
تشبه طلب الخادم والاستجابات إلى حد كبير واجهة برمجة تطبيقات Openai مع الحقول الإضافية اللازمة لمقدمي الخدمات المختلفين. يستخدم Langchain لجزء LLM (قوي وقوي مع عمليات الاسترجاعات) ومزود SDKs لتوليد الصور والمزيد.
لتثبيت الحزم المطلوبة:
pip install -r requirements.txt
لتشغيل الخادم:
python -m openserver.main
ملاحظة : لدعم GPU ، تحتاج إلى تثبيت Pytorch و Llama-CPP-Python يدويًا ، بناءً على نوع GPU الخاص بك (CUDA & ROCM).
يسرد هذا القسم الميزات الرئيسية التي تم تنفيذها في الخادم المفتوح:
configs/ المجلد.يستخدم هذا الملف لتخزين مفاتيح API وعنوان URL وغيرها من المعلومات المماثلة. يحتوي على بنية YAML ويمكن استخدامها لتكوين جوانب مختلفة من الخادم.
مثال config.yaml :
OPENAI_API_KEY : YOUR_OPEN_API_KEY
PALM_API_KEY : YOUR_PALM_API_KEY
DB_NAME : test
DB_HOST : localhost
DB_USERNAME : admin
DB_PASSWORD : admin
# Add more configuration options as needed...يتم تخزين هذه التكوينات في ملفات منفصلة لتحسين تنظيم ومعدل. يتبع كل ملف تكوين بنية YAML.
مثال LLM config ( llm_config.yaml ):
chat_providers :
palm :
name : palm
models :
- " models/text-bison-001 "
available : true
# Add more LLM configs as needed... مثال على تكوين الصورة ( image_config.yaml ):
image_models :
novita :
name : novita
models :
- " dynavisionXLAllInOneStylized_release0534bakedvae_129001.safetensors "
available : true
api_key : true
api_key_name : NOVITA_API_KEY
# Add more image configs as needed... مثال على تكوين موجه ( prompts_config.yaml ):
prompts :
function_call :
name : " function_call "
file : " /prompts/function_call.txt "
# Add more prompt configs as needed... مثال على تكوين قاعدة بيانات المتجه ( vectordb_config.yaml ):
embeddings :
cohere :
name : cohere
models :
- " embed-english-light-v2.0 "
- " embed-english-v2.0 "
available : true
api_key : true
vectordbs :
chromadb :
available : true
# Add more vector database configs as needed...لا تتردد في تعديل هذه التكوينات وتوسيعها وفقًا لاحتياجاتك المحددة.
| مزود | انتهاء | محادثة | الدعوة وظيفة | جاري | ||
|---|---|---|---|---|---|---|
| ------------- | ------------- | ------------- | ------------- | ------------- | ||
| Openai | ✅ | ✅ | ✅ | ✅ | ||
| التحم | ✅ | ✅ | ✅ | |||
| luggingface | ✅ | ✅ | ||||
| معا | ✅ | ✅ | ✅* | ✅ | ||
| Google-Palm | ✅ | ✅ | ✅ | ✅ | ||
| AI21 | ✅ | ✅ | ✅ | |||
| ألعاب نارية | ✅ | ✅ | ✅* | ✅ | ||
| Llama-CPP-Python | ✅ | ✅ | ✅ |
| مزود | Txt2Img | IMG2IMG | راقية | ||
|---|---|---|---|---|---|
| ------------- | ------------- | ------------- | ------------- | ||
| Openai | ✅ | ✅ | |||
| معا | ✅ | ||||
| نوفيتا | ✅ | ✅ | ✅ | ||
| Segmind | ✅ | ✅ |
Palm ، Huggingface ، Openai ، التدرج ، coher
chromadb ، locentb ، milvus ، pinecone ، qdrant ، redis ، weaviate
للمساهمة: استنساخ الريبو محليًا -> قم بإجراء تغيير -> إرسال العلاقات العامة مع التغيير.
إليك كيفية تعديل الريبو محليًا: الخطوة 1: استنساخ الريبو
git clone https://github.com/mj23978/openserver.git
الخطوة 2: انتقل إلى المشروع ، وتثبيت التبعيات:
cd openserver
pip install -r requirements.txt
الخطوة 3: إرسال العلاقات العامة مع التغييرات الخاصة بك!