Serge é uma interface de chat criada com llama.cpp para executar modelos GGUF. Sem chaves de API, totalmente auto-hospedado!
? Demonstração:
? Docker:
docker run -d
--name serge
-v weights:/usr/src/app/weights
-v datadb:/data/db/
-p 8008:8008
ghcr.io/serge-chat/serge:latest
? Composição do Docker:
services :
serge :
image : ghcr.io/serge-chat/serge:latest
container_name : serge
restart : unless-stopped
ports :
- 8008:8008
volumes :
- weights:/usr/src/app/weights
- datadb:/data/db/
volumes :
weights :
datadb :
Depois, basta visitar http://localhost:8008, você pode encontrar a documentação da API em http://localhost:8008/api/docs
As seguintes variáveis de ambiente estão disponíveis:
Nome da variável | Descrição | Valor padrão |
---|---|---|
SERGE_DATABASE_URL | Cadeia de conexão do banco de dados | sqlite:////data/db/sql_app.db |
SERGE_JWT_SECRET | Chave para criptografia de token de autenticação. Use uma string aleatória | uF7FGN5uzfGdFiPzR |
SERGE_SESSION_EXPIRY | Duração em minutos antes que um usuário precise se autenticar novamente | 60 |
NODE_ENV | Ambiente de execução Node.js. | production |
Certifique-se de ter o Docker Desktop instalado, o WSL2 configurado e RAM livre suficiente para executar modelos.
Instruções para configurar o Serge no Kubernetes podem ser encontradas no wiki.
Categoria | Modelos |
---|---|
Alfredo | 40B-1023 |
BioMistral | 7B |
Código | 13B, 33B |
CódigoLLaMA | 7B, 7B-Instruir, 7B-Python, 13B, 13B-Instruir, 13B-Python, 34B, 34B-Instruir, 34B-Python |
Codestral | 22B v0.1 |
Gema | 2B, 1.1-2B-Instruir, 7B, 1.1-7B-Instruir, 2-9B, 2-9B-Instruir, 2-27B, 2-27B-Instruir |
Gorila | Falcon-7B-HF-v0, 7B-HF-v1, Openfunctions-v1, Openfunctions-v2 |
Falcão | 7B, 7B-Instruir, 11B, 40B, 40B-Instruir |
Lhama 2 | 7B, 7B-Chat, 7B-Codificador, 13B, 13B-Chat, 70B, 70B-Chat, 70B-OASST |
Lhama 3 | 11B-Instruir, 13B-Instruir, 16B-Instruir |
LLaMA Pro | 8B, 8B-Instruir |
Matemático | 7B |
Med42 | 70B, v2-8B, v2-70B |
Medalpaca | 13B |
Medicamento | Bate-papo, LLM |
Meditron | 7B, 7B-Bate-papo, 70B, 3-8B |
Meta-LlaMA-3 | 3-8B, 3,1-8B, 3,2-1B-Instruir, 3-8B-Instruir, 3,1-8B-Instruir, 3,2-3B-Instruir, 3-70B, 3,1-70B, 3-70B-Instruir, 3,1-70B- Instruir |
Mistral | 7B-V0.1, 7B-Instruct-v0.2, 7B-OpenOrca, Nemo-Instruct |
MistralLite | 7B |
Mixtral | 8x7B-v0.1, 8x7B-Dolphin-2.7, 8x7B-Instruir-v0.1 |
Bate-papo Neural | 7B-v3.3 |
Noto | 7B-v1 |
Notux | 8x7b-v1 |
Nous-Hermes 2 | Mistral-7B-DPO, Mixtral-8x7B-DPO, Mistral-8x7B-SFT |
OpenChat | 7B-v3.5-1210? 8B-v3.6-20240522 |
OpenCodeInterpreter | DS-6.7B, DS-33B, CL-7B, CL-13B, CL-70B |
OpenLLaMA | 3B-v2, 7B-v2, 13B-v2 |
Orca 2 | 7B, 13B |
Fi | 2-2,7B, 3-mini-4k-instrução, 3,1-mini-4k-instrução, 3,1-mini-128k-instrução, 3,5-mini-instrução, 3-médio-4k-instrução, 3-médio-128k-instrução |
Código Python | 13B, 33B |
PsyMedRP | 13B-v1, 20B-v1 |
Estorninho LM | 7B-Alfa |
SOLAR | 10.7B-v1.0, 10.7B-instruir-v1.0 |
TinyLlama | 1.1B |
Vicunha | 7B-v1.5, 13B-v1.5, 33B-v1.3, 33B-Codificador |
WizardLM | 2-7B, 13B-v1.2, 70B-v1.0 |
Zéfiro | 3B, 7B-Alfa, 7B-Beta |
Modelos adicionais podem ser solicitados abrindo um problema no GitHub. Outros modelos também estão disponíveis na Serge Models.
LLaMA irá travar se você não tiver memória disponível suficiente para o modelo
Precisar de ajuda? Junte-se ao nosso Discord
Nathan Sarrazin e colaboradores. Serge
é um software gratuito e de código aberto licenciado sob a licença MIT e Apache-2.0.
Se você descobrir um bug ou tiver uma ideia de recurso, sinta-se à vontade para abrir um problema ou PR.
Para executar Serge em modo de desenvolvimento:
git clone https://github.com/serge-chat/serge.git
cd serge/
docker compose -f docker-compose.dev.yml up --build
A solução aceitará uma sessão de depurador python na porta 5678. Exemplo launch.json para VSCode:
{
"version" : " 0.2.0 " ,
"configurations" : [
{
"name" : " Remote Debug " ,
"type" : " python " ,
"request" : " attach " ,
"connect" : {
"host" : " localhost " ,
"port" : 5678
},
"pathMappings" : [
{
"localRoot" : " ${workspaceFolder}/api " ,
"remoteRoot" : " /usr/src/app/api/ "
}
],
"justMyCode" : false
}
]
}