
configs/ folderOpen Server เป็นความพยายามของฉันในการสร้าง เซิร์ฟเวอร์ที่เข้ากันได้ OpenAI ใหม่สำหรับการสร้างข้อความรูปภาพการฝังและจัดเก็บไว้ในฐานข้อมูลเวกเตอร์ นอกจากนี้ยังมีฟังก์ชั่นการแชท
คำขอและการตอบสนองของเซิร์ฟเวอร์นั้นคล้ายกับ API ของ OpenAI ที่มีฟิลด์เพิ่มเติมที่จำเป็นสำหรับผู้ให้บริการที่แตกต่างกัน มันใช้ Langchain สำหรับส่วน LLM (แข็งแกร่งและทรงพลังด้วยการเรียกกลับ) และผู้ให้บริการ SDKs สำหรับการสร้างภาพและอื่น ๆ
ในการติดตั้งแพ็คเกจที่ต้องการ:
pip install -r requirements.txt
เพื่อเรียกใช้เซิร์ฟเวอร์:
python -m openserver.main
หมายเหตุ : สำหรับการสนับสนุน GPU คุณต้องติดตั้ง Pytorch และ Llama-CPP-Python ด้วยตนเองตามประเภท GPU ของคุณ (CUDA & ROCM)
ส่วนนี้แสดงรายการคุณสมบัติหลักที่ใช้ใน Open Server:
configs/ folderไฟล์นี้ใช้เพื่อจัดเก็บคีย์ 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 | ||||||
| กัน | ||||||
| กอด | ||||||
| ร่วมกัน-AI | * | |||||
| Google-Palm | ||||||
| AI21 | ||||||
| ดอกไม้ไฟ | * | |||||
| llama-cpp-python |
| ผู้ให้บริการ | txt2img | img2img | หรูหรา | ||
|---|---|---|---|---|---|
| - | - | - | - | ||
| Openai | |||||
| ร่วมกัน-AI | |||||
| ใหม่ | |||||
| segmind |
ปาล์ม, Huggingface, Openai, การไล่ระดับสี, Cohere
Chromadb, LancingB, Milvus, Pinecone, Qdrant, Redis, Weaviate
เพื่อมีส่วนร่วม: โคลน repo ในท้องถิ่น -> ทำการเปลี่ยนแปลง -> ส่ง PR พร้อมกับการเปลี่ยนแปลง
นี่คือวิธีแก้ไข repo ในพื้นที่: ขั้นตอนที่ 1: โคลน repo
git clone https://github.com/mj23978/openserver.git
ขั้นตอนที่ 2: นำทางไปยังโครงการและติดตั้งการพึ่งพา:
cd openserver
pip install -r requirements.txt
ขั้นตอนที่ 3: ส่ง PR พร้อมกับการเปลี่ยนแปลงของคุณ!