AI Przepis na Zdjęcia — Vision-bot
Bot Telegram, który rozpoznaje składniki na zdjęciu lodówki za pomocą Gemini Vision i generuje 3 przepisy w 4 stylach dietetycznych (zrównoważony / wysokobiałkowy / niskokaloryczny / wegetariański).
Co jest interesujące technicznie:
— Tryb zdjęcia: Gemini Vision identyfikuje składniki → LLM generuje 3 przepisy z kaloriami, białkiem, krokami przygotowania
— Tryb URL: parser Playwright dowolnych przepisów ze stron (z blokowaniem obrazków/CSS dla szybkości) + normalizacja LLM w strukturę
— Fallback na OpenRouter, gdy Gemini jest zablokowany geograficznie z serwera (lekcje produkcyjne)
— Redis-cache za SHA-256 zdjęcia + preferencje — ta sama lodówka + te same preferencje = bez ponownego zapytania do Vision
— Walidacja Pydantic wszystkich wyjść LLM — zły format nie dociera do użytkownika
— Limit szybkości na Redis na użytkownika na godzinę
— Router w dwóch trybach (F.handler zdjęcia vs handler URL) w aiogram
Stos: aiogram, Gemini Vision (google-genai), OpenRouter, Playwright, async SQLAlchemy + PostgreSQL, Redis, Pydantic, Alembic, Docker, GitHub Actions.
Co jest interesujące technicznie:
— Tryb zdjęcia: Gemini Vision identyfikuje składniki → LLM generuje 3 przepisy z kaloriami, białkiem, krokami przygotowania
— Tryb URL: parser Playwright dowolnych przepisów ze stron (z blokowaniem obrazków/CSS dla szybkości) + normalizacja LLM w strukturę
— Fallback na OpenRouter, gdy Gemini jest zablokowany geograficznie z serwera (lekcje produkcyjne)
— Redis-cache za SHA-256 zdjęcia + preferencje — ta sama lodówka + te same preferencje = bez ponownego zapytania do Vision
— Walidacja Pydantic wszystkich wyjść LLM — zły format nie dociera do użytkownika
— Limit szybkości na Redis na użytkownika na godzinę
— Router w dwóch trybach (F.handler zdjęcia vs handler URL) w aiogram
Stos: aiogram, Gemini Vision (google-genai), OpenRouter, Playwright, async SQLAlchemy + PostgreSQL, Redis, Pydantic, Alembic, Docker, GitHub Actions.