Создание приложений, предлагающих беспрецедентные уровни персонализации контекста, становится реальностью при наличии надлежащей базы данных, нескольких строк кода и большой языковой модели (LLM) типа GPT-4, пишет на портале The New Stack Эд Ануфф, директор по продуктам компании DataStax.
Искусственный интеллект — это самая трансформационная смена парадигмы с момента появления Интернета в 1994 г. И это заставило многие корпорации, что вполне понятно, броситься внедрять ИИ в свой бизнес.
Одним из наиболее важных способов является применение генеративного ИИ и LLM, и речь идет далеко не только о просьбе к ChatGPT написать пост на определенную тему для корпоративного блога или даже помочь написать код. На самом деле, LLM быстро становятся неотъемлемой частью стека приложений.
Создание интерфейсов — «агентов» — генеративного ИИ, таких как ChatGPT, к содержащей все необходимые данные базе данных, способных «говорить на языке» LLM, — это будущее (и, все чаще, настоящее) мобильных приложений. Уровень динамического взаимодействия, доступ к огромным объемам открытых и закрытых данных и способность адаптироваться к конкретным ситуациям делают приложения, созданные на основе LLM, мощными и увлекательными в такой мере, которая была недоступна до недавнего времени.
И эта технология быстро развилась до такой степени, что создавать такие приложения может практически любой человек, имеющий надлежащие базу данных и подходящие API. Давайте посмотрим, что для этого нужно.
Генеративный ИИ революционизирует способ работы приложений
Когда некоторые люди слышат «агент» и «ИИ» в одном предложении, они представляют себе простого чатбота, который появляется в виде всплывающего окна на сайте электронной коммерции и спрашивает, чем он может помочь. Но LLM могут делать гораздо больше, чем давать простые ответы, взятые из FAQ. При наличии доступа к нужным данным приложения, созданные на основе LLM, могут использовать намного более продвинутые способы взаимодействия с нами, предоставляя экспертно подобранную информацию, которая является более полезной, конкретной, богатой и часто удивительно прозорливой.
Вот пример. Вы хотите построить помост на заднем дворе своего коттеджа, поэтому открываете мобильное приложение магазина товаров для дома и просите его составить список покупок. Поскольку приложение подключено к LLM типа GPT-4 и множеству источников данных (собственный каталог продукции компании, складские запасы, информация о покупателе и история заказов, а также множество других источников данных), оно может легко подсказать, что вам понадобится для завершения вашего проекта «сделай сам». Но оно может сделать гораздо больше.
Если вы опишите размеры и особенности своего будущего помоста, приложение сможет предложить инструменты визуализации и средства проектирования. Поскольку приложение знает ваш почтовый индекс, оно может подсказать вам, в каких магазинах поблизости от вас есть в наличии необходимые вам товары. Кроме того, на основе данных из истории ваших покупок приложение может предположить, что вам может понадобиться помощь подрядчика, и предоставить контактную информацию о ближайших специалистах.
Приложение также может сообщить вам, сколько времени потребуется для высыхания морилки для помоста (даже с учетом сезонных климатических тенденций в вашем регионе) и сколько времени пройдет до того момента, когда вы сможете отпраздновать день рождения на новом помосте. Приложение также может предоставить информацию по целому ряду других смежных вопросов, включая детали требований к оформлению разрешения на строительство и влияние нового объекта на стоимость вашей недвижимости. У вас остались вопросы? Приложение может на каждом этапе вашего пути выступать в качестве полезного ассистента, который поможет вам добраться туда, куда вы хотите.
Использование LLM в своем приложении — это сложно, верно?
Это не научная фантастика. Многие организации активно работают над множеством проектов, включающих генеративный ИИ.
Но эти проекты не являются сферой деятельности только крупных, состоявшихся предприятий; они не требуют обширных знаний в области машинного обучения, науки о данных или обучения MО-моделей. На самом деле, для создания приложения на основе LLM требуется лишь разработчик, который может сделать вызов базы данных и вызов API. Создание приложений, способных предоставлять неслыханные до недавнего времени уровни персонализации контекста, — это реальность, которую может реализовать любой, у кого есть подходящая база данных, несколько строк кода и LLM, например GPT-4.
LLM очень просты в использовании. Они принимают контекст (часто называемый «подсказкой») и выдают ответ. Поэтому создание агента начинается с размышлений о том, как предоставить LLM нужный контекст, чтобы получить желаемый ответ.
В широком смысле этот контекст поступает из трех мест: вопрос пользователя, предопределенные подсказки, созданные разработчиком агента, и данные, полученные из базы данных или других источников.
Контекст, предоставленный пользователем, обычно представляет собой просто вопрос, который он ввел в приложение. Вторая часть может быть предоставлена продакт-менеджером, который вместе с разработчиком описал роль, которую должен играть агент (например, «вы — полезный агент по продажам, который пытается помочь клиентам в планировании их проектов; пожалуйста, включите в свои ответы список соответствующих продуктов»).
Наконец, третья часть предоставляемого контекста включает внешние данные, взятые из ваших баз данных и других источников, которые LLM должен использовать для построения ответа. Некоторые агентские приложения могут делать несколько обращений к LLM перед выдачей ответа пользователю для создания более подробных ответов. Этому способствуют такие технологии, как ChatGPT Plug-ins и LangChain.
Наделение LLM памятью
ИИ-агентам нужен источник знаний, но эти знания должны быть понятны LLM. Давайте сделаем небольшое отступление и представим себе, как работают LLM. Когда вы задаете ChatGPT вопрос, в его распоряжении есть очень ограниченная память, или «контекстное окно». Если вы ведете длительный разговор с ChatGPT, он собирает ваши предыдущие запросы и соответствующие ответы и отправляет их обратно в модель, но при этом начинает «забывать» контекст.
Вот почему подключение агента к базе данных так важно для компаний, которые хотят создавать приложения на основе агентов поверх LLM. Но база данных должна хранить информацию в форме, понятной LLM, т. е. в виде векторов.
Если максимально просто, то векторы позволяют сократить предложение, понятие или изображение до набора измерений. Вы можете взять понятие или контекст, например, описание продукта, и превратить его в несколько измерений — векторное представление. Запись этих измерений позволяет осуществлять векторный поиск, т. е. поиск по многомерным понятиям, а не по ключевым словам.
Это помогает LLM генерировать более точные и контекстуально подходящие ответы, а также является формой долговременной памяти для моделей. По сути, векторный поиск — это жизненно важный мост между LLM и обширными базами знаний, на которых они обучаются. Векторы — это «язык» LLM; векторный поиск — это необходимая способность баз данных, которые обеспечивают их контекстом.
Следовательно, ключевым компонентом возможности предоставления LLM соответствующих данных является векторная база данных, обладающая необходимой пропускной способностью, масштабируемостью и надежностью для обработки огромных наборов данных, требуемых для обеспечения работы агентов.
... и правильной базой данных
Масштабируемость и производительность — два важнейших фактора, которые необходимо учитывать при выборе базы данных для любых приложений ИИ/МО. Агентам требуется доступ к огромным объемам данных в реальном времени и требуется высокая скорость обработки, особенно при развертывании агентов, которые могут использоваться каждым клиентом, посещающим ваш сайт или использующим ваше мобильное приложение. Способность быстро масштабироваться при необходимости имеет первостепенное значение для успеха, когда речь идет о хранении данных, которыми питаются агентские приложения.
Apache Cassandra — это база данных, на которую полагаются такие бизнес-лидеры, как Netflix, Uber и FedEx, чтобы управлять своими системами взаимодействия, а ИИ стал необходимым для обогащения каждого взаимодействия, которое обслуживает бизнес. Поскольку взаимодействие становится основанным на агентах, Cassandra оказывается незаменимой, поскольку обеспечивает горизонтальную масштабируемость, скорость и надежную стабильность. Это делает ее естественным выбором для хранения данных, необходимых для работы приложений на основе агентов. По этой причине сообщество Cassandra разработало критически важные возможности векторного поиска для упрощения задачи создания ИИ-приложений на огромных массивах данных.
Как это делается
Как мы уже упоминали ранее, у организаций есть несколько путей создания агентских приложений. Вы можете услышать, как разработчики рассказывают о таких фреймворках, как LangChain, который, как следует из названия, позволяет создавать агентов на базе LLM, объединяя в цепочку входы и выходы нескольких вызовов LLM и автоматически извлекая нужные данные из нужных источников по мере необходимости.
Но самый важный способ продвинуться вперед в создании такого рода опыта — это воспользоваться самым популярным в настоящее время агентом — ChatGPT.
Плагины ChatGPT позволяют сторонним организациям подключаться к ChatGPT с помощью дополнений, которые предоставляют информацию об этих компаниях. ChatGPT при этом является своего рода «суперагентом».
Ваши разработчики могут работать над созданием собственных агентских приложений вашей организации, используя фреймворк вроде LangChain, но концентрация только на этом будет сопряжена с огромными издержками. Если они не будут работать над плагином ChatGPT, ваша организация упустит огромную возможность распространения, чтобы интегрировать контекст, специфичный для вашего бизнеса, в диапазон возможной информации, которую может предоставить ChatGPT, или действий, которые он может рекомендовать своим пользователям. Ряд компаний, включая Instacart, Expedia, OpenTable и Slack, уже создали плагины ChatGPT; представьте себе конкурентное преимущество, которое может создать их интеграция с ChatGPT.
Создание плагинов ChatGPT станет важной частью проектов по созданию ИИ-агентов, в которых будут участвовать компании. Наличие правильной архитектуры данных — в частности, векторной базы данных — существенно облегчает создание высокопроизводительных агентов, способных быстро получать нужную информацию для создания ответов.
Все приложения станут ИИ-приложениями. Развитие LLM и таких возможностей, как плагины ChatGPT, делает это будущее гораздо более доступным.