
configs/ pasta.O Open Server é minha tentativa de recriar um servidor compatível com o OpenAI para gerar texto, imagens, incorporação e armazená -los em bancos de dados vetoriais. Também inclui uma funcionalidade de bate -papo.
A solicitação e as respostas do servidor são muito semelhantes à API do OpenAI com campos adicionais necessários para diferentes fornecedores. Ele usa Langchain para a parte LLM (robusta e poderosa com retornos de chamada) e SDKs fornecedores para geração de imagens e muito mais.
Para instalar os pacotes necessários:
pip install -r requirements.txt
Para executar o servidor:
python -m openserver.main
Nota : Para suporte à GPU, você precisa instalar manualmente o Pytorch e o LLAMA-CPP-Python , com base no seu tipo GPU (CUDA & ROCM).
Esta seção lista os principais recursos implementados no servidor aberto:
configs/ pasta.Este arquivo é usado para armazenar teclas de API, URLs e outras informações semelhantes. Ele possui uma estrutura YAML e pode ser usado para configurar vários aspectos do servidor.
Exemplo 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...Essas configurações são armazenadas em arquivos separados para melhor organização e modularidade. Cada arquivo de configuração segue a estrutura YAML.
Exemplo LLM Config ( llm_config.yaml ):
chat_providers :
palm :
name : palm
models :
- " models/text-bison-001 "
available : true
# Add more LLM configs as needed... Exemplo de imagem 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... Exemplo Prompt Config ( prompts_config.yaml ):
prompts :
function_call :
name : " function_call "
file : " /prompts/function_call.txt "
# Add more prompt configs as needed... Exemplo de banco de dados vetorial 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...Sinta -se à vontade para modificar e estender essas configurações de acordo com suas necessidades específicas.
| Provedor | Conclusão | Bater papo | Chamada de função | Transmissão | ||
|---|---|---|---|---|---|---|
| ------------- | ------------- | ------------- | ------------- | ------------- | ||
| Openai | ✅ | ✅ | ✅ | ✅ | ||
| coere | ✅ | ✅ | ✅ | |||
| huggingface | ✅ | ✅ | ||||
| juntos-ai | ✅ | ✅ | ✅* | ✅ | ||
| Google-Palm | ✅ | ✅ | ✅ | ✅ | ||
| AI21 | ✅ | ✅ | ✅ | |||
| fogos de artifício | ✅ | ✅ | ✅* | ✅ | ||
| llama-cpp-python | ✅ | ✅ | ✅ |
| Provedor | Txt2img | Img2img | Sofisticado | ||
|---|---|---|---|---|---|
| ------------- | ------------- | ------------- | ------------- | ||
| Openai | ✅ | ✅ | |||
| juntos-ai | ✅ | ||||
| Novita | ✅ | ✅ | ✅ | ||
| Segmind | ✅ | ✅ |
palmeira, huggingface, open, gradiente, coere
Chromadb, LancedB, Milvus, Pinecone, Qdrant, Redis, tevando
Para contribuir: clone o repo localmente -> faça uma alteração -> envie um PR com a alteração.
Veja como modificar o repositório localmente: Etapa 1: Clone the Repo
git clone https://github.com/mj23978/openserver.git
Etapa 2: Navegue pelo projeto e instale dependências:
cd openserver
pip install -r requirements.txt
Etapa 3: envie um PR com suas alterações!