
configs/ folder.Open Server adalah upaya saya untuk membuat ulang server yang kompatibel dengan OpenAI untuk menghasilkan teks, gambar, embeddings, dan menyimpannya di database vektor. Ini juga termasuk fungsi obrolan.
Permintaan dan tanggapan server sangat mirip dengan API Openai dengan bidang tambahan yang diperlukan untuk penyedia yang berbeda. Ini menggunakan Langchain untuk bagian LLM (kuat dan kuat dengan callbacks) dan penyedia SDK untuk pembuatan gambar dan banyak lagi.
Untuk menginstal paket yang diperlukan:
pip install -r requirements.txt
Untuk menjalankan server:
python -m openserver.main
Catatan : Untuk dukungan GPU, Anda perlu menginstal pytorch dan llama-cpp-python secara manual, berdasarkan jenis GPU Anda (CUDA & ROCM).
Bagian ini mencantumkan fitur utama yang diimplementasikan di server terbuka:
configs/ folder.File ini digunakan untuk menyimpan kunci API, URL, dan informasi serupa lainnya. Ini memiliki struktur YAML dan dapat digunakan untuk mengonfigurasi berbagai aspek server.
Contoh 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...Konfigurasi ini disimpan dalam file terpisah untuk organisasi dan modularitas yang lebih baik. Setiap file konfigurasi mengikuti struktur YAML.
Contoh llm config ( llm_config.yaml ):
chat_providers :
palm :
name : palm
models :
- " models/text-bison-001 "
available : true
# Add more LLM configs as needed... Contoh gambar config ( 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... Contoh konfigurasi prompt ( prompts_config.yaml ):
prompts :
function_call :
name : " function_call "
file : " /prompts/function_call.txt "
# Add more prompt configs as needed... Contoh konfigurasi database vektor ( 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...Jangan ragu untuk memodifikasi dan memperluas konfigurasi ini sesuai dengan kebutuhan spesifik Anda.
| Penyedia | Penyelesaian | Mengobrol | Panggilan fungsi | Mengalir | ||
|---|---|---|---|---|---|---|
| ------------- | ------------- | ------------- | ------------- | ------------- | ||
| Openai | ✅ | ✅ | ✅ | ✅ | ||
| berpadu | ✅ | ✅ | ✅ | |||
| Huggingface | ✅ | ✅ | ||||
| Bersama-ai | ✅ | ✅ | ✅* | ✅ | ||
| Google-Palm | ✅ | ✅ | ✅ | ✅ | ||
| AI21 | ✅ | ✅ | ✅ | |||
| kembang api | ✅ | ✅ | ✅* | ✅ | ||
| llama-cpp-python | ✅ | ✅ | ✅ |
| Penyedia | Txt2img | Img2img | Kelas atas | ||
|---|---|---|---|---|---|
| ------------- | ------------- | ------------- | ------------- | ||
| Openai | ✅ | ✅ | |||
| Bersama-ai | ✅ | ||||
| Novita | ✅ | ✅ | ✅ | ||
| SegMind | ✅ | ✅ |
Palm, Huggingface, Openai, Gradient, Cohere
Chromadb, Lancedb, Milvus, Pinecone, Qdrant, Redis, Weaviate
Untuk berkontribusi: Kloning repo secara lokal -> buat perubahan -> kirimkan PR dengan perubahan.
Inilah cara memodifikasi repo secara lokal: Langkah 1: Kloning repo
git clone https://github.com/mj23978/openserver.git
Langkah 2: Navigasikan ke dalam proyek, dan instal dependensi:
cd openserver
pip install -r requirements.txt
Langkah 3: Kirim PR dengan perubahan Anda!