
configs/フォルダーに保存されます。Open Serverは、テキスト、画像、埋め込みを生成し、ベクトルデータベースに保存するためのOpenAI互換サーバーを再作成しようとする私の試みです。また、チャット機能も含まれています。
サーバーの要求と応答は、さまざまなプロバイダーに必要な追加のフィールドを備えたOpenaiのAPIに非常に似ています。 LLM部品にLangchain (コールバックを使用して堅牢で強力)と、画像生成などにプロバイダーSDKを使用します。
必要なパッケージをインストールするには:
pip install -r requirements.txt
サーバーを実行するには:
python -m openserver.main
注:GPUサポートの場合、GPUタイプ(CUDA&ROCM)に基づいて、 PytorchとLlama-CPP-Pythonを手動でインストールする必要があります。
このセクションには、Open Serverに実装されている重要な機能をリストします。
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... Example Prompt config( prompts_config.yaml ):
prompts :
function_call :
name : " function_call "
file : " /prompts/function_call.txt "
# Add more prompt configs as needed...例ベクトルデータベースconfig( 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 | ✅ | ✅ | ✅ | ✅ | ||
| 協力します | ✅ | ✅ | ✅ | |||
| ハギングフェイス | ✅ | ✅ | ||||
| 一緒に | ✅ | ✅ | ✅* | ✅ | ||
| Google-Palm | ✅ | ✅ | ✅ | ✅ | ||
| AI21 | ✅ | ✅ | ✅ | |||
| 花火 | ✅ | ✅ | ✅* | ✅ | ||
| llama-cpp-python | ✅ | ✅ | ✅ |
| プロバイダー | txt2img | img2img | 高級 | ||
|---|---|---|---|---|---|
| --------------- | --------------- | --------------- | --------------- | ||
| Openai | ✅ | ✅ | |||
| 一緒に | ✅ | ||||
| ノビタ | ✅ | ✅ | ✅ | ||
| Segmind | ✅ | ✅ |
手のひら、ハギングフェイス、オープン、グラデーション、coも
Chromadb、LancedB、Milvus、Pinecone、Qdrant、Redis、Weaviate
貢献するには、リポジトリをローカルにクローン - >変更 - >変更を受けてPRを送信します。
ローカルにレポを変更する方法は次のとおりです。ステップ1:リポジトリをクローンします
git clone https://github.com/mj23978/openserver.git
ステップ2:プロジェクトに移動し、依存関係をインストールします。
cd openserver
pip install -r requirements.txt
ステップ3:変更を加えたPRを提出してください!