В наши дни чат-боты с искусственным интеллектом пользуются всеобщим ажиотажем, они революционизируют способы взаимодействия с технологиями и преобразуют среду обслуживания клиентов. Эти интеллектуальные виртуальные помощники быстро превратились из простых трюков в бесценные инструменты для бизнеса, организаций и частных лиц.

Благодаря своей способности вести разговор на естественном языке, мгновенно отвечать и решать широкий спектр задач, чат-боты с искусственным интеллектом открывают новую эру эффективности и удобства. В этом сообщении блога мы рассмотрим процесс создания бота с дополнительным контекстом, позволяющим ему выполнять функции виртуального тренера по здоровью.

Начиная

Первым шагом на пути к настройке и готовности вашего бота является создание модели искусственного интеллекта. Для этого вам необходимо зарегистрироваться на странице https://cloud.mindsdb.com и создать бесплатную учетную запись MindsDB Cloud.

Следующий шаг — подготовка модели GPT. После входа в свою учетную запись откройте редактор SQL, перейдя по адресу https://cloud.mindsdb.com/editor и введите запрос ниже. Вы можете настроить свой запрос, выбрав предпочитаемую версию модели ChatGPT. В приведенном ниже запросе мы создали модель с именем qamodel и установили механизм openai. Модель будет делать прогнозы в поле ответ, а максимальная длина этих ответов установлена ​​на уровне 1000 символов.

CREATE MODEL mindsdb.qamodel
PREDICT answer
USING
    engine = 'openai',
    question_column = 'question',
    temperature = 0.7,
    max_tokens = 1000;

Чтобы узнать больше о типах моделей, которые можно создать с помощью MindsDB, вы можете перейти по ссылкам на документацию, доступ к которым можно получить здесь.

На следующем шаге мы выполним запрос, чтобы проверить статус обучения модели. Как только статус изменится на «Завершено», мы готовы начать его использовать.

SELECT * FROM models 
WHERE name = 'qamodel';

Вы можете запустить быстрый запрос, подобный приведенному ниже, чтобы проверить прогнозы, сделанные вашей моделью:

SELECT answer 
FROM mindsdb.qamodel
WHERE question = 'What is the capital of France?';

Раскрытие динамических особенностей Ripped

Теперь, когда наша модель искусственного интеллекта готова, мы можем сосредоточиться на создании функций для нашего приложения «Здоровье». Принимая во внимание потребности пользователя, мы сформулировали следующий первоначальный список функций. Эти функции могут не только мотивировать пользователя, но и внести существенный вклад в его путь к более здоровому и здоровому образу жизни:

  • Индивидуальные планы трансформации
  • Индивидуальные здоровые рецепты
  • Счетчик калорий
  • Калькулятор индекса ИМТ
  • Виртуальный помощник по здоровью на базе искусственного интеллекта

Индивидуальные планы трансформации

Эти планы трансформации в настоящее время ограничены количеством дней, однако план состоит в том, чтобы учитывать жизненно важные показатели пользователя при предложении им программы тренировок. Для этого мы сначала создаем индивидуальный запрос, который принимает данные от пользователя в виде количества дней, в которые он/она собирается инвестировать. Принимая их входные данные в переменную, мы запрашиваем нашу qamodel, используя следующее:

SELECT answer FROM mindsdb.qamodel 
WHERE question = 'Act as an expert health coach who has helped many 
people loose weight naturally through excercies and proper diet routines. 
Answer in a pointwise format, starting your sentence with: Hola Amigo!
This is the question: Give me a good transformation plan if my goal is to
complete it in " + plan + " days?';"

Индивидуальные здоровые рецепты

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

SELECT answer FROM mindsdb.qamodel 
WHERE question = 'Start your response with the sentence Hola Amigo !
Do not add salutations or anything else to your response. Behave like
a chef who knows a ton of different recipes. You are responding to an
audience that is looking to loose weight. Now suggest me just one new "
+ custom_query +  " recipe each time I ask you, in the form of bullet
points, that is healthy and easy to cook?';"

Счетчик калорий

Счетчик калорий снова использует нашу qamodel с настраиваемым входным запросом, как показано ниже:

SELECT answer FROM mindsdb.qamodel WHERE question = 'answer in 
exactly this format: It has xx calories. This is the question: What are
the number of calories in an average sized" + food_item_to_check +"?';"

Запрос тщательно продуман не только для форматирования ответа, который получает пользователь, но и для размещения вводимых пользователем данных. В этом контексте входные данные относятся к съедобному продукту, для которого желаемой информацией является его калорийность.

Калькулятор индекса ИМТ

ИМТ — это фундаментальный показатель, который помогает вам оценить свое положение в весовом спектре, поэтому мы решили включить его в качестве нашей следующей функции. Указывая ваш рост и вес, Ripped быстро рассчитывает ваш ИМТ и классифицирует его по определенным диапазонам, таким как недостаточный вес, нормальный вес, избыточный вес и ожирение. Эта четкая классификация помогает пользователям получить знания, необходимые для принятия обоснованных решений о своем здоровье.

Виртуальный помощник по здоровью на базе искусственного интеллекта

Эта функция находится в стадии разработки и будет доступна очень скоро.

Имея все запросы для всех наших динамических компонентов, мы пошли дальше и создали соединение с нашим экземпляром MindsDB Cloud через REST, используя тот же набор учетных данных, который мы использовали при создании нашей учетной записи. Чтобы создать объект сеанса с использованием Python, мы использовали следующее:

session = requests.Session()
session.post('https://cloud.mindsdb.com/cloud/login', json={
    'email': '[email protected]',
    'password': 'Abc@123'
})

После создания сеанса мы отправили запрос нашей модели, передав индивидуальный запрос, адаптированный для каждой из функций:

resp = session.post('https://cloud.mindsdb.com/api/sql/query', 
json={'query': query})

Полученный ответ затем форматируется и отображается в пользовательском интерфейсе, компоненты которого полностью построены на HTML и CSS с небольшим добавлением компонентов Bootstrap.

Заключение

В целом для меня было увлекательным опытом участия в конкурсе HackerMinds AI App Challenge, организованном MindsDB. Если вам интересно узнать больше об этом проекте, вы можете изучить его на GitHub, используя ссылку здесь. Чтобы глубже изучить различные модели, предлагаемые MindsDB, и понять, как их можно адаптировать к вашим конкретным требованиям, вы можете изучить документацию, доступную здесь. Кроме того, вы также можете изучить их репозиторий на GitHub, чтобы получить дополнительную информацию.