Serge — LLaMA, с которой всё просто
Discord-чат поддержки
Serge — это веб-интерфейс для запуска LLM-моделей (LLaMA и совместимых) на базе llama.cpp. Никаких API-ключей, всё работает на вашем собственном сервере.
Особенности
- 🌐 Фронтенд на SvelteKit — лёгкий и отзывчивый интерфейс.
- 💾 Redis — хранение истории чатов и параметров.
- ⚙️ FastAPI + LangChain — бэкенд, который оборачивает вызовы llama.cpp через Python-биндинги llama-cpp-python.
🚀 Быстрый старт
🐳 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. Документация по API доступна по адресу http://localhost:8008/api/docs.
🌍 Переменные окружения
| Имя |
Описание |
Значение по умолчанию |
SERGE_DATABASE_URL |
Строка подключения к БД |
sqlite:////data/db/sql_app.db |
SERGE_JWT_SECRET |
Ключ для шифрования JWT (используйте случайную строку) |
uF7FGN5uzfGdFiPzR |
SERGE_SESSION_EXPIRY |
Время сессии (в минутах) до повторной аутентификации |
60 |
NODE_ENV |
Режим работы Node.js |
production |
💻 Windows
Убедитесь, что установлен Docker Desktop, настроен WSL2 и есть достаточно свободной RAM для выбранной модели.
⚠️ Память
LLaMA может упасть, если у вас недостаточно свободной памяти для загрузки модели. Учитывайте это перед запуском.
🧪 Разработка
Чтобы запустить Serge в режиме разработки:
git clone https://github.com/serge-chat/serge.git
cd serge/
docker compose -f docker-compose.dev.yml up --build
Будет открыт порт для отладчика Python (5678). Пример конфигурации VSCode (launch.json):
{
"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
}
]
}
📄 Лицензия
Автор: Nathan Sarrazin и контрибьюторы. Serge распространяется под двойной лицензией: MIT и Apache-2.0.
🤝 Вклад
Если нашли ошибку или хотите предложить улучшение — открывайте issue или pull request на GitHub.
Комментарии
Комментариев пока нет. Будьте первым.