14 сентября 2023

Искусственный интеллект и медицина. Как простой чат-бот и OpenAI заменили онлайн-консультации

Мы стремимся улучшить доступ к медицинским услугам, поэтому стали одними из первых, кто использовал OpenAI API для создания интеллектуального информационного медицинского бота в Telegram, отчасти шутливо назвав его «СклифосовскийGPT». Хотя начальный процесс был простым, на пути возникло несколько сложностей, которые мы преодолели благодаря, надо сказать, действительно инновационным решениям.

Мы начали с создания Telegram-бота, который смог принимать текстовые сообщения от пользователей (Telegram и такой формат использовался как наиболее простой и userfriendly-интерфейс). Далее, мы использовали модель "Davinci" от OpenAI для генерации текстовых ответов на основе коротких описаний медицинских вопросов. Но первоначальные версии ответов модели впечатлили нас своей простотой и иногда настораживали потенциальной опасностью неправильных советов.

Для улучшения этого мы провели серию оптимизаций и тонкой настройки модели, которая в итоге привела к значительному улучшению её работы (подробнее об этом мы расскажем в этом тексте и будущих заметках, разобрав трудности, с которыми мы сталкивались при работе с генеративной моделью). В результате бот стал гораздо «умнее» и надежнее, гарантируя безопасные и практичные советы для пользователей.

Одной из крупных проблем технического характера был ограниченный контекст бота, из-за которого он часто выдавал ошибки. Чтобы решить эту проблему, мы применили ChatCompletion модели, такие как gpt-3.5. Это позволило нашему боту вести долгие диалоги с пользователями и содержать в сообщениях больше полезной информации.

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

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

Настройка параметров, таких как Temperature, больше напоминала игру на волынке, где мы проявляли творчество, иногда приводящее к размытым ответам, и преследовали цель предсказумости, которая иногда рождала заученность. Стоит сказать, что стандартно параметр Temperature у ChatGPT равен 0,7. Но тогда бот может себе позволить выдумывать некоторые вещи. Немного потестировав, мы пришли к выводу, что для медицинской тематики лучше всего выставить «температуру» на 0,3.

Наше стремление к детализации не обходит стороной ни одну часть процесса: администратор бота может запросить статистику по количеству пользователей на сервере OpenAI API. Эта функция подчеркивает гибкость и прозрачность использования OpenAI в нашей системе.

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