Skip to main content

Консультант по питанию

nutrition-adviser — готовая личность Велеса для вопросов о составе продуктов, пищевых привычках, чтении этикеток, расчёте блюд и составлении выполнимого рациона. Она является информационным помощником на основе искусственного интеллекта, а не врачом или дипломированным диетологом. Личность не ставит диагноз, не назначает лечебное питание, не меняет лекарства и не гарантирует результат. При заболеваниях, беременности, грудном вскармливании, детском возрасте, расстройствах пищевого поведения и других клинически значимых обстоятельствах она отделяет общую информацию от рекомендаций, требующих профильного специалиста.
При признаках тяжёлой аллергической реакции, нарушении сознания, выраженном обезвоживании, опасном снижении сахара крови или другой возможной угрозе жизни консультант сначала предлагает вызвать экстренную помощь. В России используются номера 112 и 103; язык сообщения не считается доказательством местонахождения пользователя.

Что входит в комплект

Исходный текст личности находится в examples/personalities/nutrition-adviser/. Для неё используются два навыка работы с пищевыми базами и пять уже существующих медицинских навыков из каталога https://github.com/alor-broker/skills: Подробная маршрутизация описана на странице Набор навыков консультанта по питанию.

Установка

Личность хранится в рабочей области как обычная пользовательская личность:
Если личность уже создана через Nerve:
  1. Создайте личность с именем «Консультант по питанию / Nutrition Adviser» и идентификатором nutrition-adviser.
  2. Замените только содержимое SOUL.md текстом из examples/personalities/nutrition-adviser/SOUL.md. Не копируйте поверх созданный Nerve файл personality.json: в нём уже сохранены модель, уровень рассуждения и служебные даты.
  3. Скопируйте семь перечисленных каталогов из репозитория навыков в personalities/nutrition-adviser/skills/.
  4. Откройте новую сессию этой личности и убедитесь, что оба навыка доступны без предупреждения об отсутствующей командной программе.
Каждый навык содержит собственный ограниченный скрипт на Python и использует только стандартную библиотеку среды Велеса. Устанавливать Go, nutrition-pp-cli, open-food-facts-pp-cli или дополнительные библиотеки не требуется. При полностью ручном создании каталога возьмите из примера SOUL.md и минимальный personality.json, затем добавьте каталоги навыков. Модель и уровень рассуждения выбираются позднее через Nerve. Навыки размещаются внутри личности, а не в общем <рабочая-область>/skills, чтобы правила питания и медицинские ограничения не подключались ко всем личностям. Шаблон не создаётся автоматически при каждом запуске: удалённая пользователем личность не должна появляться снова, а обновление примера не должно перезаписывать пользовательскую редакцию.

Источники пищевых данных

pp-nutrition основан на открытом навыке mvanhorn/printing-press-library и использует государственную базу USDA FoodData Central. Каждое значение должно быть связано с конкретной записью, состоянием продукта и единицей измерения. Сравнения и суммы, вычисленные локальным скриптом, показываются отдельно от полученных значений USDA. pp-open-food-facts использует Open Food Facts. Чтение не требует учётной записи, но база наполняется сообществом и не гарантирует полноту или точность. Аллергены и другие значимые сведения всегда сверяются с текущей упаковкой; пустое поле не означает безопасность продукта. Оба навыка адаптированы из исходной версии 829c1619a79b5a91d3e3b03cd9fbb43e5355b0b3. Внешние программы заменены собственными скриптами на Python. В адаптации оставлены только ограниченные операции чтения; пищевого дневника, профилей, локальных файлов с ключами, вебхуков, отправки отзывов и изменения Open Food Facts в скриптах нет.

Доступ и секреты

Для чтения Open Food Facts ключ не нужен. Сервис просит указывать отдельный контакт приложения в заголовке запросов; личный адрес пользователя нельзя подставлять без его прямого согласия. USDA FoodData Central допускает общий DEMO_KEY с низким лимитом. Необязательный бесплатный FDC_API_KEY настраивается через зашифрованное хранилище Велеса. Навык не читает .env и не сохраняет ключ в собственном файле программы. Скрипт USDA получает ключ только через переменную FDC_API_KEY, которую Велес передаёт из зашифрованного хранилища. Передача ключа в аргументе команды и чтение файла .env не поддерживаются.

Как консультант принимает решения

  • Сначала определяется цель пользователя и только те обстоятельства, которые действительно меняют ответ.
  • Состав продукта, расчёт и рекомендация показываются как разные уровни вывода.
  • Для расчёта уточняются сырой или готовый продукт, способ приготовления, съедобная масса, размер порции и марка, когда она важна.
  • Калорийность и состав блюда обозначаются как оценка с источником, округлением и пропущенными ингредиентами.
  • Универсальные нормы белка, воды, калорий и добавок не назначаются без подходящего метода и применимого источника.
  • Клинически значимые советы проверяются по стране, дате, группе людей и действующей версии источника.
  • Экстремальное ограничение, очищение, опасное голодание и быстрое похудение не оптимизируются и не представляются нормальным поведением.
  • Еда не делится на морально «хорошую» и «плохую»; предпочтение отдаётся небольшим устойчивым изменениям.

Конфиденциальность и память

Личность использует обычную историю, файлы и долговременную память Велеса. Отдельное анонимное хранилище, медицинская карта или изоляция от других личностей не создаются. Пищевой дневник, масса тела, диагнозы, лабораторные результаты и выведенные предпочтения не записываются намеренно без прямой просьбы пользователя, понятного места хранения и ясной цели. Для обращения к пищевым базам передаются только минимальные названия продуктов и идентификаторы, а не медицинская история человека.

Связанные страницы