Serge est une interface de chat conçue avec llama.cpp pour exécuter des modèles GGUF. Pas de clé API, entièrement auto-hébergé !
? Démo :
? 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
? Docker Composer :
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 :
Ensuite, visitez simplement http://localhost:8008, vous pouvez trouver la documentation de l'API sur http://localhost:8008/api/docs
Les variables d'environnement suivantes sont disponibles :
Nom de la variable | Description | Valeur par défaut |
---|---|---|
SERGE_DATABASE_URL | Chaîne de connexion à la base de données | sqlite:////data/db/sql_app.db |
SERGE_JWT_SECRET | Clé pour le cryptage du jeton d'authentification. Utiliser une chaîne aléatoire | uF7FGN5uzfGdFiPzR |
SERGE_SESSION_EXPIRY | Durée en minutes avant qu'un utilisateur doive se réauthentifier | 60 |
NODE_ENV | Environnement d'exécution Node.js | production |
Assurez-vous que Docker Desktop est installé, que WSL2 est configuré et que suffisamment de RAM libre est disponible pour exécuter des modèles.
Les instructions pour configurer Serge sur Kubernetes peuvent être trouvées dans le wiki.
Catégorie | Modèles |
---|---|
Alfred | 40B-1023 |
BioMistral | 7B |
Code | 13B, 33B |
CodeLLaMA | 7B, 7B-Instruct, 7B-Python, 13B, 13B-Instruct, 13B-Python, 34B, 34B-Instruct, 34B-Python |
Codestral | 22B v0.1 |
Gemme | 2B, 1.1-2B-Instruct, 7B, 1.1-7B-Instruct, 2-9B, 2-9B-Instruct, 2-27B, 2-27B-Instruct |
Gorille | Falcon-7B-HF-v0, 7B-HF-v1, Openfunctions-v1, Openfunctions-v2 |
Faucon | 7B, 7B-Instruct, 11B, 40B, 40B-Instruct |
LLaMA2 | 7B, 7B-Chat, 7B-Codeur, 13B, 13B-Chat, 70B, 70B-Chat, 70B-OASST |
LLaMA 3 | 11B-Instruct, 13B-Instruct, 16B-Instruct |
LLaMA Pro | 8B, 8B-Instruire |
Mathstral | 7B |
Med42 | 70B, v2-8B, v2-70B |
Médaillepaca | 13B |
Médecine | Chat, LLM |
Méditron | 7B, 7B-Chat, 70B, 3-8B |
Méta-LlaMA-3 | 3-8B, 3.1-8B, 3.2-1B-Instruct, 3-8B-Instruct, 3.1-8B-Instruct, 3.2-3B-Instruct, 3-70B, 3.1-70B, 3-70B-Instruct, 3.1-70B- Instruire |
Mistral | 7B-V0.1, 7B-Instruct-v0.2, 7B-OpenOrca, Nemo-Instruct |
MistralLite | 7B |
Mixtral | 8x7B-v0.1, 8x7B-Dolphin-2.7, 8x7B-Instruct-v0.1 |
Chat neuronal | 7B-v3.3 |
Notus | 7B-v1 |
Notux | 8x7b-v1 |
Nous-Hermès 2 | Mistral-7B-DPO, Mixtral-8x7B-DPO, Mistral-8x7B-SFT |
Chat ouvert | 7B-v3.5-1210 ? 8B-v3.6-20240522 |
OpenCodeInterpreter | DS-6.7B, DS-33B, CL-7B, CL-13B, CL-70B |
OuvrirLLaMA | 3B-v2, 7B-v2, 13B-v2 |
Orque 2 | 7B, 13B |
Phi | 2-2.7B, 3-mini-4k-instruction, 3.1-mini-4k-instruction, 3.1-mini-128k-instruction, 3.5-mini-instruction, 3-moyenne-4k-instruction, 3-moyenne-128k-instruction |
Code Python | 13B, 33B |
PsyMedRP | 13B-v1, 20B-v1 |
Étourneau LM | 7B-Alpha |
SOLAIRE | 10.7B-v1.0, 10.7B-instruct-v1.0 |
Petit Lama | 1.1B |
Vigogne | 7B-v1.5, 13B-v1.5, 33B-v1.3, 33B-Codeur |
AssistantLM | 2-7B, 13B-v1.2, 70B-v1.0 |
Zéphyr | 3B, 7B-Alpha, 7B-Bêta |
Des modèles supplémentaires peuvent être demandés en ouvrant un problème GitHub. D'autres modèles sont également disponibles chez Serge Models.
LLaMA plantera si vous n'avez pas assez de mémoire disponible pour le modèle
Besoin d'aide ? Rejoignez notre Discord
Nathan Sarrazin et contributeurs. Serge
est un logiciel gratuit et open source sous licence MIT et Apache-2.0.
Si vous découvrez un bug ou avez une idée de fonctionnalité, n'hésitez pas à ouvrir un problème ou un PR.
Pour exécuter Serge en mode développement :
git clone https://github.com/serge-chat/serge.git
cd serge/
docker compose -f docker-compose.dev.yml up --build
La solution acceptera une session de débogueur python sur le port 5678. Exemple launch.json pour 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
}
]
}