openai.prompts/recognize/v1/ и prompts/recipes/v1/, репозиторий открыт под GNU AGPL v3.0.Шесть человек собрались на платформе geek-tik.tech, начали 9 июля и к 21 сентября выкатили Android-приложение и Telegram-бота. Оба клиента работают на одном бэкенде: Python, FastAPI, PostgreSQL, Redis, nginx и Docker Compose. Репозиторий AI Sous-chef лежит в открытом доступе под GNU AGPL v3.0 — вместе с бэкендом, промптами, конфигами и материалами проверок.
Сценарий один. Фотографируешь продукты или вбиваешь их списком, подтверждаешь распознанное — получаешь блюда с пошаговыми инструкциями. Задачи поделены между двумя моделями: Qwen разбирает сообщение и возвращает список ингредиентов, дальше по названиям продуктов генерируются рецепты. Оба запроса уходят в Yandex AI API. Код зовёт их библиотекой openai, которой просто подменили адрес:
client = AsyncOpenAI(api_key=cls.YANDEX_API_KEY, base_url=cls.AI_API_URL, project=cls.YANDEX_FOLDER_ID)
В AI_API_URL прописан https://ai.api.cloud.yandex.net/v1. Промпты живут отдельно от кода: prompts/pin.json, prompts/recognize/v1/system.md, prompts/recognize/v1/user.md, prompts/recipes/v1/system.md, prompts/recipes/v1/user.md. Системный файл задаёт общие правила, пользовательский несёт конкретный запрос.
Есть и неприятный момент. После запуска пришёл отзыв: приложение предложило салат из сырой картошки и баклажана. Рецепт на экране появился, а шага приготовления этих ингредиентов в инструкции не было. Исправить список продуктов прямо в сценарии человек тоже не мог — редактирование команда называет одной из ближайших доработок.
Наша оценка: интересна здесь не кулинария, а два инженерных решения. Первое — промпты как файлы с версиями в пути, а не строки, зашитые в Python. Второе — совместимость Yandex AI API с вызовами OpenAI: команда не разворачивала модели у себя и не переписывала клиент, а поменяла base_url. Для небольшой команды это экономия недель.
Мы считаем, что главный риск они сами и обозначили. В адресах моделей стоит latest, а не закреплённая версия. Тот же код с тем же промптом после обновления модели на стороне провайдера может отвечать иначе — и воспроизвести вчерашний баг или вчерашний удачный результат уже не выйдет.
Кто выигрывает? Пользователь — быстрый ответ на вопрос «что приготовить». Провайдер облака — совместимый эндпоинт приводит к нему команды, которым лень возиться с собственной инфраструктурой. Проигрывает тот, кто ждёт от генерации рецептов кулинарной надёжности: сырая картошка в салате — ровно про это.
Команда честно пишет: расходы схемы «генерировать инструкции для всех блюд сразу» они не сравнивали с генерацией подробного рецепта по запросу. Сколько это стоит в токенах — цифр нет. Нет и замеров точности распознавания продуктов. В опубликованном фрагменте обрывается место про шаблон генерации, где список продуктов подставляется и в системный, и в пользовательский промпт — полный текст шаблона стоит смотреть в самом репозитории. И это кейс команды о себе, а не независимый тест.
latest ради свежих фич или пинить версию ради воспроизводимости — что важнее для сервиса, который уже в руках пользователей?Прогноз: в течение квартала в AI Sous-chef появится редактирование распознанного списка продуктов — команда сама назвала это ближайшей доработкой; проверять по коммитам в репозитории.
Источник: Хабр
Источник: habr.com · пост в Telegram