Консультант по питанию
nutrition-adviser — готовая личность Велеса для вопросов о составе продуктов, пищевых привычках, чтении этикеток, расчёте блюд и составлении выполнимого рациона.
Она является информационным помощником на основе искусственного интеллекта, а не врачом или дипломированным диетологом. Личность не ставит диагноз, не назначает лечебное питание, не меняет лекарства и не гарантирует результат. При заболеваниях, беременности, грудном вскармливании, детском возрасте, расстройствах пищевого поведения и других клинически значимых обстоятельствах она отделяет общую информацию от рекомендаций, требующих профильного специалиста.
Что входит в комплект
Исходный текст личности находится вexamples/personalities/nutrition-adviser/. Для неё используются два навыка работы с пищевыми базами и пять уже существующих медицинских навыков из каталога https://github.com/alor-broker/skills:
Подробная маршрутизация описана на странице Набор навыков консультанта по питанию.
Установка
Личность хранится в рабочей области как обычная пользовательская личность:- Создайте личность с именем «Консультант по питанию / Nutrition Adviser» и идентификатором
nutrition-adviser. - Замените только содержимое
SOUL.mdтекстом изexamples/personalities/nutrition-adviser/SOUL.md. Не копируйте поверх созданный Nerve файлpersonality.json: в нём уже сохранены модель, уровень рассуждения и служебные даты. - Скопируйте семь перечисленных каталогов из репозитория навыков в
personalities/nutrition-adviser/skills/. - Откройте новую сессию этой личности и убедитесь, что оба навыка доступны без предупреждения об отсутствующей командной программе.
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 не поддерживаются.
Как консультант принимает решения
- Сначала определяется цель пользователя и только те обстоятельства, которые действительно меняют ответ.
- Состав продукта, расчёт и рекомендация показываются как разные уровни вывода.
- Для расчёта уточняются сырой или готовый продукт, способ приготовления, съедобная масса, размер порции и марка, когда она важна.
- Калорийность и состав блюда обозначаются как оценка с источником, округлением и пропущенными ингредиентами.
- Универсальные нормы белка, воды, калорий и добавок не назначаются без подходящего метода и применимого источника.
- Клинически значимые советы проверяются по стране, дате, группе людей и действующей версии источника.
- Экстремальное ограничение, очищение, опасное голодание и быстрое похудение не оптимизируются и не представляются нормальным поведением.
- Еда не делится на морально «хорошую» и «плохую»; предпочтение отдаётся небольшим устойчивым изменениям.
