Краткий обзор
- Наделяет графики, созданные ИИ, богатой интерактивностью: Flint-interactive позволяет агентам создавать визуализации данных, с которыми пользователи могут взаимодействовать напрямую с помощью кликов, фильтрации, масштабирования, подсветки и взаимодействий между графиками.
- Упрощает создание сложных взаимодействий: вместо написания низкоуровневого кода визуализации, Flint-interactive позволяет пользователям и агентам задавать поведение с помощью высокоуровневых семантических событий и операторов обновления.
- Повышает надежность и снижает трудозатраты на разработку: используя компилятор Flint для обработки логики взаимодействия и визуальных зависимостей, система помогает избежать множества проблем с макетом, рендерингом и отладкой, которые часто возникают при создании пользовательских интерактивных визуализаций.
- Объединяет графики, текст, таблицы и приложения: Flint-interactive поддерживает интерактивные истории о данных, дашборды и связанные сценарии, где действия в одном представлении могут обновлять графики, документы, виджеты или состояние приложения в другом.
ИИ-агенты позволяют легко анализировать данные и создавать отчеты с визуализацией данных. Они помогают пользователям изучать закономерности эффективнее, чем чтение длинного текста. Однако, когда нам хочется поэкспериментировать, мы хотим выйти за рамки статических визуализаций: мы хотим взаимодействовать с графиками, чтобы приближать детали, сравнивать данные на разных графиках или даже выделять связанный текст в документе при выборе элемента на графике, и наоборот. Для этого агенты должны уметь создавать интерактивные визуализации данных, которые передают информацию и при этом позволяют читателям выходить за рамки выбранного автором представления, в идеале — с качеством интерактивных историй в сложной визуальной журналистике. Из-за этого у нас возникают вопросы:
- (Как пользователь) Могу ли я взаимодействовать с графиками прямо в чате, чтобы исследовать данные и задавать дополнительные вопросы на основе выбранного?
- (Как разработчик) Могу ли я дать ИИ-агентам, которых я создаю для своих клиентов, возможность генерировать интерактивные визуализации, помогающие им исследовать и понимать свои данные?
Да, это возможно, но существует значительный практический разрыв. Даже с использованием мощных передовых моделей мы все еще сталкиваемся со следующим:
- Высокие затраты на генерацию. Агенты редко создают полностью удовлетворительную интерактивную визуализацию за один шаг. Повторные циклы рассуждений, написания кода и отладки расходуют токены и время.
- Надежность. Интерактивные визуализации настолько сложны сами по себе, что выразительные интерактивные графики легко приводят к плохой верстке или нарушению взаимодействий, и мы рискуем создать новые проблемы при попытке их исправить.
Эти проблемы помогают объяснить, почему стабильное создание высококачественных интерактивных визуализаций остается сложной задачей в реальных сценариях использования. Между тем, встроенные взаимодействия в некоторых библиотеках визуализации сами по себе недостаточно выразительны для создания нестандартных интерактивных графиков. И эти проблемы являются результатом отсутствия выразительного, но высокоуровневого языка для задания визуальных взаимодействий.
СЕРИЯ ПОДКАСТОВ
Революция ИИ в медицине, продолжение
Присоединяйтесь к Питеру Ли из Microsoft в его путешествии, чтобы узнать, как ИИ влияет на здравоохранение и что это значит для будущего медицины.
Flint-interactive (открывается в новой вкладке) — это язык для создания интерактивных визуализаций данных поверх Flint. Он позволяет пользователям проще создавать дашборды, истории о данных и интерактивные артефакты. Возможности Flint-interactive обусловлены компилятором Flint, который преобразует действия пользователя в семантические события, отражающие смысл того, что выбирает пользователь. Затем он использует высокоуровневые операторы для обновления визуализаций в ответ на эти события, что делает создание и поддержку сложных взаимодействий намного проще. Это перекладывает тяжелое бремя разрешения сложных зависимостей между взаимодействием и визуальной логикой на компилятор, поэтому пользователь (или агент) может легко описывать выразительные взаимодействия с помощью высокоуровневых спецификаций.
Как использовать
1. Используйте Flint в своем чате
Используйте Flint Interactive прямо в вашем чате или рабочей среде через Flint-MCP и MCP Apps, следуя руководству по установке MCP. В последней версии вы можете сказать своему агенту, какой график построить и какие взаимодействия вам нужны; он сможет сгенерировать interaction_spec вместе со спецификацией графика Flint и отобразить интерактивный график в вашем диалоге.
2. Создайте интерактивное приложение с помощью Flint
Создавайте интерактивные графики в дашборде, истории о данных или другом приложении с помощью Flint Interactive Canvas. Ваше приложение может использовать обработчики событий для обработки семантических событий, генерируемых Flint Canvas, например, для фильтрации таблицы, обновления другого графика или изменения состояния приложения. Чтобы виджеты вашего приложения управляли обновлением графика, отправляйте операторы обновления в Flint Canvas.
3. Создавайте индивидуальные взаимодействия
Чтобы создавать уникальные взаимодействия, выходящие за рамки стандартных пресетов Flint, определите триггер и функцию пользовательского обработчика с помощью программного API, который сопоставляет семантические события с пользовательскими последовательностями обновления графиков. Например, обработчик может выделить выбранную страну и подписать ее по имени. Он сочетает в себе установку стилей и аннотаций без манипуляций с конкретными элементами рендерера.
Как это работает
Flint Canvas — это конечный автомат, который отслеживает взаимодействия пользователя на холсте и управляет состоянием визуального рендеринга. Flint упрощает спецификацию взаимодействий, разделяя визуальную логику, которой управляет компилятор, и логику взаимодействия, задаваемую пользователем на семантическом уровне:
- Визуальная логика: компилятор автоматически преобразует сырые триггеры, такие как клики, перетаскивания и нажатия клавиш, в семантические события, идентифицирующие элементы графика и данные. Он также переводит операторы обновления в изменения отображаемого холста, обрабатывая проверку попадания и низкоуровневые визуальные обновления.
- Логика взаимодействия: пользователь задает взаимодействия, сопоставляя семантические события взаимодействия с операторами обновления графика, такими как установка стиля для выделения данных, установка аннотации для подписи точки или установка области просмотра для панорамирования и масштабирования. Пользователь также может использовать эти семантические события для обновления внешних таблиц, виджетов или состояний приложения.
Это разделение означает, что пользователям не нужно реверс-инжинирить логику рендеринга или манипулировать специфичными для рендерера элементами, что делает взаимодействия более простыми для описания и поддержки. Кроме того, поскольку генерация событий и визуальные обновления являются композиционными, та же модель также связывает Flint с таблицами, текстом, другими графиками и виджетами для создания интерактивных историй и дашбордов.
Попробуйте сейчас!
Пользователи графиков: Настройте Flint в своем чате (открывается в новой вкладке) и попросите агента создать интерактивный график. Найдите вдохновение в галерее взаимодействий.
Создатели приложений: Создавайте интерактивные дашборды, истории о данных и связанные представления с помощью программного API (открывается в новой вкладке). Поделитесь навыком создания взаимодействий (interaction-author) со своим агентом кодирования, чтобы добавить пресеты в ваше приложение.
Дизайнеры взаимодействий: Изучите пользовательские примеры (открывается в новой вкладке), разработайте новое взаимодействие и превратите его в многоразовый пресет. Предложите пресет на GitHub и поделитесь своим прототипом или реализацией, чтобы помочь расширить словарный запас взаимодействий Flint.







