Add recipe Gemini proxy service

This commit is contained in:
“Naeel”
2026-08-29 02:17:25 +03:00
parent df5afcec8f
commit 17def7789b
7 changed files with 149 additions and 0 deletions
+28
View File
@@ -383,6 +383,34 @@ Proxy изменён: `POST /gemini` теперь принимает multipart-
Usage проверки: prompt 1117, image 1102, text 15, candidate output 80,
thoughts 1760, total 2957. Ключ в журнал не записывался.
## Минимальный recipe-сервис на ВМ 213
По команде пользователя создан отдельный Flask-сервис
`recipe_service/`. Его назначение на текущем этапе: принять картинку и prompt,
передать их в Gemini с ключом и JSON-настройками из серверного EnvironmentFile,
вернуть `text` и `usage`. Разбор рецепта и дополнительная логика пока не
реализуются.
Развёрнуты отдельные каталог `/opt/recipe`, пользователь `recipe`, virtualenv,
systemd-юнит `recipe.service` и внутренний bind `127.0.0.1:8770`. Порт 8769
был занят существующим процессом, поэтому выбран 8770; внешний URL от этого не
меняется.
Ключ и настройки записаны только на ВМ в `/etc/recipe/recipe.env` с правами
`0640`, без хардкода в коде и без записи в HISTORY. В конфигурации задана
модель `gemini-3.6-flash`, лимит 300 токенов и `thinkingLevel=minimal`.
Добавлен отдельный nginx location `https://obdai.ru/recipe/`, проксирующий на
`127.0.0.1:8770`. `nginx -t` успешен, внешний `GET /recipe/health` вернул
`{"status":"ok"}`.
Ошибки и исправления: первая команда деплоя использовала путь к ключу,
существующий только на локальной машине, и получила `No such file`; ключ затем
передан через stdin. Первая health-проверка обращалась к занятому старому
порту/в момент старта; после переноса на 8770 сервис работает. Первый внешний
health сразу после reload дал кратковременный 404, повторная проверка вернула
200.
## Проверка `PLAN/lekar1.png` с минимальным thinking
Предыдущий тест использовал ошибочный crop из `lekar.png`. По уточнению