Анализ чеков из магазина с помощью YandexGPT
Я уже, наверное, достал всех с этим YandexGPT, поэтому решил опубликовать пост здесь, а не в основном блоге 🙂
Взбрела мне в голову идея распарсить чеки с помощью нейронки. Чеки сейчас много где электронные и просто автоматически падают на email. То есть трудностей с «цифровизацией» чеков быть не должно.
В Home Assistant есть интеграция для получения почты по IMAP, но я не стал её использовать. Потому что для получения и обработки писем у меня уже настроен Huginn. Правда, оказалось, что Huginn не смог нормально прочитать бо́льшую часть писем с вложениями, но сдавать назад уже было поздно 🙂 В итоге получился вот такой пайплайн:
А в самом Home Assistant я настроил выделенного YandexGPT-ассистента для работы с чеками:
Осталось только реализовать непосредственно экспорт чеков из Huginn в Home Assistant. Другими словами, текст последнего чека нужно как-то подставить в системный промпт ассистента.
Для этого я решил воспользоваться `include`. Не знаю, есть ли другие способы, но ничего лучше я все равно не придумал:
Чтобы `{% include 'last-receipt.jinja' %}` сработал и подставил текст чека в шаблон, нужно записать этот текст в файл `custom_templates/last-receipt.jinja`, а затем вызвать метод `homeassistant.reload_custom_templates`. Я не стал автоматизировать запись файла — для проверки и так сойдёт.
Пришло время протестировать, как работает мой «ассистент и специалист по питанию» 🙂
Как минимум он понимает, что этот чек из Магнита — уже неплохо. Давайте еще что-нибудь спросим:
Говорит, что питаюсь я так себе 😕 Причем у меня в чеке были бананы, но видимо нейросеть решила, что такого количества фруктов все равно недостаточно.
А что насчет «вредных» продуктов?
В общем, ничего хорошего. Теперь, когда у меня есть ассистент по питанию, стану ли я правильно питаться? Конечно же нет.
Но эксперимент все равно считаю удачный 🙂