Serge - 让LLaMA变得简单 🦙
Serge是一个使用llama.cpp制作的聊天界面,用于运行GGUF模型。无需API密钥,完全自托管!
🎥 演示:
⚡️ 快速开始
🐳 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 Compose:
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:
然后,只需访问 http://localhost:8008 ,您可以在 http://localhost:8008/api/docs 找到API文档
🌍 环境变量
以下环境变量可用:
变量名 | 描述 | 默认值 |
---|---|---|
SERGE_DATABASE_URL | 数据库连接字符串 | sqlite:////data/db/sql_app.db |
SERGE_JWT_SECRET | 用于认证令牌加密的密钥。使用随机字符串 | uF7FGN5uzfGdFiPzR |
SERGE_SESSION_EXPIRY | 用户需要重新认证的时间(分钟) | 60 |
NODE_ENV | Node.js运行环境 | production |
🖥️ Windows
确保您已安装Docker Desktop,配置了WSL2,并有足够的可用RAM来运行模型。
☁️ Kubernetes
在wiki中可以找到在Kubernetes上设置Serge的说明。
🧠 支持的模型
类别 | 模型 |
---|---|
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 |
Gemma | 2B, 1.1-2B-Instruct, 7B, 1.1-7B-Instruct |
Gorilla | Falcon-7B-HF-v0, 7B-HF-v1, Openfunctions-v1, Openfunctions-v2 |
Falcon | 7B, 7B-Instruct, 40B, 40B-Instruct |
LLaMA 2 | 7B, 7B-Chat, 7B-Coder, 13B, 13B-Chat, 70B, 70B-Chat, 70B-OASST |
LLaMA 3 | 11B-Instruct, 13B-Instruct, 16B-Instruct |
LLaMA Pro | 8B, 8B-Instruct |
Med42 | 70B |
Medalpaca | 13B |
Medicine | Chat, LLM |
Meditron | 7B, 7B-Chat, 70B |
Meta-LlaMA-3 | 8B, 8B-Instruct, 70B, 70B-Instruct |
Mistral | 7B-V0.1, 7B-Instruct-v0.2, 7B-OpenOrca |
MistralLite | 7B |
Mixtral | 8x7B-v0.1, 8x7B-Dolphin-2.7, 8x7B-Instruct-v0.1 |
Neural-Chat | 7B-v3.3 |
Notus | 7B-v1 |
Notux | 8x7b-v1 |
Nous-Hermes 2 | Mistral-7B-DPO, Mixtral-8x7B-DPO, Mistral-8x7B-SFT |
OpenChat | 7B-v3.5-1210 |
OpenCodeInterpreter | DS-6.7B, DS-33B, CL-7B, CL-13B, CL-70B |
OpenLLaMA | 3B-v2, 7B-v2, 13B-v2 |
Orca 2 | 7B, 13B |
Phi 2 | 2.7B |
Phi 3 | mini-4k-instruct, medium-4k-instruct, medium-128k-instruct |
Python Code | 13B, 33B |
PsyMedRP | 13B-v1, 20B-v1 |
Starling LM | 7B-Alpha |
SOLAR | 10.7B-v1.0, 10.7B-instruct-v1.0 |
TinyLlama | 1.1B |
Vicuna | 7B-v1.5, 13B-v1.5, 33B-v1.3, 33B-Coder |
WizardLM | 2-7B, 13B-v1.2, 70B-v1.0 |
Zephyr | 3B, 7B-Alpha, 7B-Beta |
可以通过提交GitHub问题来请求额外的模型。其他模型也可在Serge Models获取。
⚠️ 内存使用
如果没有足够的可用内存用于模型,LLaMA将会崩溃
💬 支持
需要帮助?加入我们的Discord
🧾 许可证
Nathan Sarrazin和贡献者。Serge
是根据MIT许可证和Apache-2.0授权的免费开源软件。
🤝 贡献
如果你发现了bug或有功能想法,欢迎提出问题或PR。
要在开发模式下运行Serge:
git clone https://github.com/serge-chat/serge.git
cd serge/
docker compose -f docker-compose.dev.yml up --build
该解决方案将在端口5678上接受Python调试器会话。VSCode的示例launch.json:
{
"version": "0.2.0",
"configurations": [
{
"name": "远程调试",
"type": "python",
"request": "attach",
"connect": {
"host": "localhost",
"port": 5678
},
"pathMappings": [
{
"localRoot": "${workspaceFolder}/api",
"remoteRoot": "/usr/src/app/api/"
}
],
"justMyCode": false
}
]
}