Установка LLM-прокси¶
LLM-прокси — HTTP-сервис между Staffcop и языковой моделью. Принимает запросы от Staffcop, проверяет API-ключ, при необходимости ограничивает поток запросов, формирует промпт и передает его на LLM-сервер. Полученные от модели метаданные временно хранит и передает в Staffcop.
Требования¶
Ubuntu 22.04 / 24.04 (amd64);
пакеты: sudo, python3, locales, lsb-release, tzdata, curl;
deb-пакет: llm-proxy-*.deb.
Примечание
Управление сервисом работает только в системах с systemd.
Установка¶
Скопируйте deb-пакет на целевой сервер.
Установите зависимости:
sudo apt-get update && sudo apt-get install -y python3 locales lsb-release tzdata curl sudo
Установите пакет:
sudo dpkg -i llm-proxy-*.deb
Обработайте зависимости:
sudo apt-get install -f -y
Настройте конфиг /etc/llm-proxy/config — см. Конфигурационный файл.
Запустите сервис.
llm-proxy start
Конфигурационный файл¶
Конфигурация LLM-прокси хранится в файле /etc/llm-proxy/config. Изменения применяются после перезапуска сервиса командой
sudo systemctl restart llm-proxy. Шаблон конфигурации — /etc/llm-proxy/config.template.
Переменная |
Тип |
По умолчанию |
Описание |
|---|---|---|---|
|
|
|
Адрес привязки HTTP-сервера |
|
|
|
Порт HTTP-сервера |
|
|
|
Уровень логирования ( |
|
|
|
Формат логов ( |
|
|
|
Включить HTTPS |
|
|
|
Путь к SSL-сертификату |
|
|
|
Путь к закрытому ключу SSL |
|
|
|
API-ключ для авторизации запросов к прокси |
|
|
|
Порог минимальной доли сохраненных значений после объединения чанков. |
Предупреждение
Не рекомендуется использовать ключ по умолчанию. Чтобы его сменить, выполните команду:
llm-proxy set-api-key
Управление сервисом¶
Командная строка¶
Примечание
Команды start, stop, restart и status работают только в системах с systemd.
Команда |
Описание |
|---|---|
|
Запустить сервис |
|
Остановить сервис |
|
Перезапустить сервис |
|
Показать статус |
|
Запустить в foreground (без systemd, Docker, отладка) |
|
Инициализация |
|
Установить API-ключ |
Опасно
При перезапуске LLM-прокси данные в обработке будут утеряны.
Systemd¶
sudo systemctl start llm-proxy
sudo systemctl stop llm-proxy
sudo systemctl restart llm-proxy
sudo systemctl enable llm-proxy # автозапуск при загрузке
Файлы и пути¶
Путь |
Описание |
|---|---|
/etc/llm-proxy/config |
Конфигурационный файл |
/etc/llm-proxy/config.template |
Шаблон конфигурации |
/var/log/llm-proxy/ |
Логи сервиса |
/var/run/llm-proxy/ |
PID-файл |
/var/lib/llm-proxy/ |
Данные |
/usr/share/llm-proxy/ |
Файлы программы |
/usr/share/llm-proxy/env/ |
Python virtualenv |
/usr/bin/llm-proxy |
Командная строка (symlink) |
Логирование¶
Логи хранятся в /var/log/llm-proxy/:
process.log — обработка батчей;
server.log — запуск и остановка сервиса;
uvicorn.log — вывод веб-сервера uvicorn: HTTP-запросы, ошибки уровня веб-сервера.
Logrotate ежедневно создает новый файл лога, хранит пять последних копий. Дополнительно создает новый файл, если текущий превысил 200 МБ.
Каждая строка лога помечена trace_id — идентификатором запроса. Он берется из заголовка X-Trace-Id,
который присылает Staffcop. По этому идентификатору можно найти все строки одного запроса.
В строках об упавших заданиях (process.task) и о начале, отмене и конце батча есть дополнительные поля:
task_id— идентификатор батча;description— кто прислал задание (например, политика). У строк самого батча вместоdescriptionстоит прочерк.
Логи можно смотреть двумя способами. Первый — через журнал systemd:
journalctl -u llm-proxy -f
Второй — напрямую через файлы логов:
tail -f /var/log/llm-proxy/*.log
Устранение проблем¶
Сервис не запускается. Проверить синтаксис конфига:
python3 -c "exec(open('/etc/llm-proxy/config').read())"
Команды start/stop/restart требуют systemd. Для запуска без systemd используйте llm-proxy run.
Порт занят. Изменить PORT в конфиге.
HTTPS не работает. Проверить пути к сертификатам и права доступа.
Что дальше¶
После установки и настройки LLM-прокси подключите его к Staffcop и включите LLM-политики — см. раздел Подключение Staffcop к LLM-серверу.
Последнее обновление: 12.11.26