Skip to content
Aleksandr Gerasimov edited this page Apr 23, 2026 · 1 revision

FAQ

Почему бот пишет “Что-то пошло не так”?

Обычно причины такие:

  • backend не поднялся;
  • нет подключения к БД;
  • неверно заполнен .env;
  • внешний LLM-сервис не ответил;
  • миграции не были применены.

Сначала стоит посмотреть логи:

docker compose logs -f api
docker compose logs -f bot

Почему API не открывается с localhost:8000?

Потому что в текущем docker-compose.yml у сервиса api используется expose, а не ports.

То есть backend доступен контейнерам внутри сети, но не обязательно доступен с хоста.

Если хочется тестировать API вручную, временно добавьте:

ports:
  - "8000:8000"

Почему /today иногда показывает пустой результат?

Потому что за текущий день у пользователя может не быть записей.
Такой случай лучше отдельно обрабатывать на клиенте.

Почему модель может вернуть ошибку 400?

Потому что backend специально фильтрует странные или неедовые запросы.

Например:

  • слишком пустое описание;
  • запрос вообще не про еду;
  • неуверенный ответ модели.

Зачем нужен SECRET_KEY, если есть x-tg-user-id?

x-tg-user-id говорит, для какого пользователя запрос.
SECRET_KEY подтверждает, что запрос вообще пришёл от доверенного клиента, а не от кого угодно.

Где хранятся микронутриенты?

Они приходят в ответе модели и сохраняются в llm_raw.
Потом бот может брать их оттуда и показывать пользователю.

Можно ли использовать backend без Telegram-бота?

Да, можно.
По сути это обычный HTTP API. Просто в текущем проекте основной клиент — Telegram-бот.

Clone this wiki locally