У світі, де прийняття рішень на основі даних має критичне значення, бізнеси шукають найефективніші способи витягувати практичні інсайти з величезних наборів даних. Uber, світовий лідер у сфері реального часу логістики та транспорту, нещодавно поділилася тим, як їхня внутрішня платформа Text-to-SQL — QueryGPT (Якщо ви ще не переглядали пост, подивіться його тут) — революціонує спосіб взаємодії їхніх команд з даними. Дозволяючи працівникам просто ставити запитання природною мовою та отримувати SQL-запити у відповідь, Uber скоротила час написання запитів на 70%. З огляду на те, що вони виконують близько 1,2 мільйона запитів на місяць, це призводить до вражаючих 140 000 зекономлених годин щомісяця.
ROI платформи QueryGPT, джерело зображення з статті Uber: QueryGPT — природна мова до SQL за допомогою генеративного ІІ
Однак ця вражаюча ефективність не є лише привілеєм великих технічних гігантів з величезними інженерними ресурсами. Завдяки відкритим рішенням, таким як Wren AI, переваги Text-to-SQL можуть стати доступними для кожного. Wren AI Cloud націлена на те, щоб надати бізнесам усіх розмірів можливість використовувати запити природною мовою, підживлені генеративним ІІ, для безперешкодного доступу до їхніх даних. У цій статті ми розглянемо QueryGPT з технічної точки зору та підкреслимо, як Wren AI Cloud відображає (і в деяких випадках спрощує) ці складні функції. Метою є допомогти вам зрозуміти, як впровадити Text-to-SQL у вашій власній операції — незалежно від масштабу.
Розуміння технічного підходу Uber до Text-to-SQL
Платформа даних Uber є справжнім монстром: вона обробляє трильйони рядків, петабайти даних і мільйони запитів щомісяця. Традиційне написання SQL-запитів є часозатратним і вимагає від користувачів наявності навичок побудови запитів, розуміння основних моделей даних і знання, де знаходяться потрібні таблиці та колонки. QueryGPT усуває ці перешкоди, використовуючи великі мовні моделі (LLM — Large Language Models) та продуману інтеграцію в існуючу екосистему даних Uber.
Поточний дизайн QueryGPT (Джерело зображення: QueryGPT)
Основні технічні компоненти створення QueryGPT в Uber, поділені в статті QueryGPT article
1. Робочі простори (Workspaces)
Робочі простори — це впорядковані колекції зразків SQL і схем таблиць, що орієнтовані на конкретні бізнес-домени, такі як Мобільність (Mobility), Реклама (Ads), Основні послуги (Core Services) та інші. Створюючи орієнтовані на домен кластери відповідних таблиць і шаблонів запитів, QueryGPT звужує діапазон можливих джерел даних, що значно підвищує точність моделі при створенні SQL-запитів.
Як це працює: Коли користувач взаємодіє з QueryGPT, система спершу визначить, який бізнес-домен (наприклад, Мобільність для поїздок і водіїв) є релевантним для запиту. Усередині цього робочого простору QueryGPT буде звертатися до меншого, більш орієнтованого набору таблиць та шаблонів SQL, замість того щоб сканувати всю екосистему бази даних Uber.
Переваги:
- Точність: Обмеживши пошук до специфічних для домену посилань, QueryGPT має більше шансів вибрати правильні таблиці та колонки.
- Зменшена складність: Користувачі, що працюють із доменом Мобільність, наприклад, бачать лише таблиці, пов'язані з поїздками, водіями або документами, що спрощує процес дослідження даних.
- Налаштовуваність: Крім Системних робочих просторів (System Workspaces), які Uber надає за замовчуванням, користувачі можуть створювати власні Користувацькі робочі простори (Custom Workspaces) для нішевих випадків або нових проєктів, які не охоплені стандартними доменами.
2. Агент намірів (Intent Agent)
Після того, як користувач вводить запитання природною мовою, QueryGPT використовує Агент намірів (Intent Agent) для інтерпретації наміру користувача та визначення найбільш відповідного робочого простору (workspaces).
Цей крок є важливим для того, щоб система направляла запити до правильного домену, а отже, до правильного підмножини таблиць.
- Виявлення наміру (Intent Detection): Використовуючи велику мовну модель, Агент намірів (Intent Agent) аналізує запит користувача — шукаючи ключові слова, контекст і семантику — для того, щоб співвіднести його з одним або кількома робочими просторами. Наприклад, якщо запит стосується даних про поїздки, деталі водіїв або характеристики транспортних засобів, система може направити запит до робочого простору Мобільність (Mobility).
- Множинні відповідності (Multiple Mappings): Деякі запити можуть охоплювати кілька доменів (наприклад, аналіз, що стосується як Мобільності (Mobility), так і даних про Рекламу (Ads)), в такому випадку Агент намірів може направити запит до кількох робочих просторів. Це гарантує підтримку запитів, які охоплюють кілька доменів.
- Підвищення ефективності (Efficiency Gains): Оскільки беруться до уваги лише релевантні робочі простори, QueryGPT зменшує обчислювальне навантаження, пов’язане з переглядом невідповідних схем. Це не лише підвищує точність, але й скорочує час генерування запиту в цілому.
3. Агент таблиць (Table Agent)
Після того, як QueryGPT визначає, на яких бізнес-доменах слід зосередитись, Агент таблиць (Table Agent) пропонує список конкретних таблиць, які найбільш відповідають запиту користувача. Цей крок є критично важливим для великих організацій, таких як Uber, де один домен може містити десятки — або навіть сотні — таблиць з перекриваючимися або доповнюючими даними.
- Вибір таблиць (Table Selection): Виходячи з наміру користувача та змісту впорядкованого робочого простору, Агент таблиць вибирає найбільш ймовірні таблиці, які потрібні для SQL-запиту. Він використовує зразки запитів, зв’язки між таблицями та знання, специфічні для домену, щоб визначити, які таблиці є релевантними.
- Перевірка користувача (User Verification): Користувачу показується підсумок вибраних таблиць, і йому пропонується підтвердити, чи є вони правильними. Якщо щось здається неправильним — можливо, система вибрала застарілу таблицю або пропустила нову — користувач може відредагувати список перед тим, як продовжити. Цей механізм зворотного зв’язку з людиною (human-in-the-loop) допомагає підтримувати високу якість та надійність згенерованого SQL.
- Покращена співпраця (Enhanced Collaboration): Дозволяючи користувачам налаштовувати вибір таблиць, QueryGPT допомагає поєднати автоматичне генерування запитів з експертизою в конкретних доменах. Аналітики даних, знайомі з конкретними схемами, можуть швидко переконатись, що QueryGPT звертається до правильних джерел даних.
4. Агент обрізки стовпців (Column Prune Agent)
Навіть із правильними таблицями, великі схеми підприємств можуть містити сотні стовпців, кожен з яких повинен бути описаний мовній моделі, якщо є ймовірність, що він з’явиться в запиті. Такі деталі можуть перевищити ліміти токенів під час генерації, особливо при використанні моделей, таких як GPT-4 Turbo з великою ємністю токенів.
- Логіка обрізки (Pruning Logic): Агент обрізки стовпців (Column Prune Agent) використовує виклик LLM для фільтрації стовпців, які ймовірно не будуть релевантними для запиту користувача. Це значно зменшує обсяг інформації, яка передається на наступний етап генерації запиту.
- Переваги для вартості та продуктивності (Cost and Performance Benefits): Завдяки меншій кількості токенів, QueryGPT знижує вартість кожного виклику LLM і обробляє запит швидше. Крім того, видалення невідповідних стовпців спрощує фінальний SQL-запит, роблячи його більш прозорим та легким для підтримки.
- Зменшення помилок (Reduced Errors): Обробка більш компактної та цільової схеми також зменшує ймовірність того, що модель вибере неправильні поля — покращуючи як ясність, так і точність фінального SQL-виходу.
Об’єднання всього разом
Ці чотири компоненти — Робочі простори (Workspaces), Агент намірів (Intent Agent), Агент таблиць (Table Agent) та Агент обрізки стовпців (Column Prune Agent) — організовують спрощений, високо ефективний процес генерації тексту до SQL в Uber. Завдяки сегментації рішення на робочі простори, орієнтовані на домени, фільтрації запитів через Агент намірів, перевірці вибору таблиць через Агент таблиць і обрізці непотрібних стовпців перед фінальним генерацією запиту, QueryGPT забезпечує високу точність, економію витрат і швидку обробку.
Цей підхід дає змогу користувачам взаємодіяти з складною екосистемою даних Uber через прості запитання на природній мові — підвищуючи доступність даних та операційну ефективність по всій компанії.
Прямий бізнес-вплив QueryGPT в Uber
Технічно, QueryGPT є дивовижним досягненням в інтеграції LLM, інженерії запитів та системному дизайні. Бізнес-результати відображають цю технічну майстерність:
- 70% зниження часу запиту (70% Reduction in Query Time): Зниження часу з приблизно 10 хвилин до 3 хвилин на запит — це величезне досягнення в ефективності аналітиків.
- 140 000 годин заощаджено на місяць (140,000 Hours Saved per Month): Це не лише економія коштів. Це дає змогу аналітикам витрачати більше часу на завдання з доданою вартістю: інтерпретація результатів, оптимізація кампаній, покращення досвіду користувачів та зміцнення надійності платформи.
- Швидші зворотні зв'язки (Faster Feedback Loops): Завдяки швидкому доступу до інсайтів, менеджери продуктів та науковці з даних можуть швидше ітератувати, частіше тестувати гіпотези та запускати покращення з більшою впевненістю.
- Конкурентна перевага (Competitive Advantage): У галузі, де здатність швидко реагувати на зміни на ринку є ключовою, здатність швидко отримувати інсайти з даних безпосередньо сприяє кращому прийняттю рішень та покращеному досвіду користувачів.
Порівняння функцій QueryGPT в Uber з Wren AI Cloud
QueryGPT від Uber безсумнівно вражає, але він розроблений для величезної організації з великими інженерними ресурсами. Як може маленький стартап, середній бізнес або навіть одиничний фахівець з даних використовувати подібні технології? Ось тут на допомогу приходить Wren AI.
Проект Wren AI
Wren AI — це агент SQL на основі штучного інтелекту з відкритим кодом, розроблений для демократизації технології Text-to-SQL. Пропонуючи хмарну платформу, яка інтегрує багато тих самих функцій, що й QueryGPT від Uber, Wren AI має на меті вирівняти умови для різних бізнесів.
Нижче наведено огляд того, як дизайн QueryGPT від Uber співвідноситься з функціями Wren AI, і як подібні принципи розділення робочих просторів, виявлення намірів, вибору таблиць та обрізки стовпців реалізовані в обох системах. Ці паралелі демонструють спільну мету щодо надання спрощеного, безпечного та зручного досвіду генерації SQL через текст.
1. Робочі простори → Проекти та організації в Wren AI
QueryGPT в Uber
В QueryGPT Робочі простори (Workspaces) служать як упорядковані колекції зразків SQL і схем таблиць для конкретних доменів, таких як Мобільність або Основні послуги. Обмежуючи фокус на конкретному бізнес-домені, QueryGPT може більш точно генерувати SQL-запити та забезпечити, щоб аналітики працювали лише з таблицями, що є релевантними для контексту.
Аналог в Wren AI
Wren AI пропонує подібний функціонал через свої функції управління проєктами (project) та організаціями (organization). Більше про створення організацій і проєктів можна прочитати в документації Wren AI Cloud:
Як і в QueryGPT, проєкти (projects) в Wren AI дозволяють групувати та ізолювати конкретні моделі даних, щоб лише авторизовані користувачі могли отримати до них доступ. В межах однієї організації (organization) можна налаштувати кілька проєктів для різних функцій чи бізнес-доменів — аналогічно тому, як в QueryGPT налаштовуються окремі Робочі простори. Контроль доступу в Wren AI забезпечує, щоб лише правильні люди мали змогу переглядати та керувати чутливими даними, відповідно до принципів ізоляції доменів, що реалізовані в QueryGPT.
Чому це важливо
- Цільовий контекст (Targeted Context): Обмежуючи доступ до даних до одного робочого простору або проєкту, система може краще розуміти запити користувачів і генерувати більш точні запити.
- Безпека та управління даними (Security & Governance): Організації, що працюють з чутливими або конфіденційними даними, отримують переваги від надійних контролів доступу та політик управління даними, що гарантує відповідність стандартам і належне управління даними.
Агент намірів (Intent Agent) → Виявлення намірів (Intent Detection) в Wren AI
QueryGPT в Uber
Коли користувач вводить запитання, Агент намірів (Intent Agent) в QueryGPT визначає, до якого бізнес-домену належить запитання — Мобільність, Реклама тощо — і направляє запит до відповідного робочого простору. Цей крок суттєво звужує простір пошуку релевантних таблиць і схем, підвищуючи точність і швидкість.
Аналог в Wren AI
Підхід Wren AI до виявлення намірів описано в документації Ask. Коли ви ставите запитання типу “Скільки в мене таблиць?” або “Поясніть таблицю клієнтів”, Wren AI автоматично визначає, чи запитуєте ви про отримання даних, дослідження схеми або чи ваше питання виходить за межі (наприклад, звичайне привітання).
Функції дослідження даних на основі штучного інтелекту (AI-powered Data Exploration Features)
- Запити на отримання даних (Data Retrieval Requests): Ці запити змушують Wren AI генерувати SQL, відображаючи запит на відповідну схему даних.
- Дослідження схеми (Schema Exploration): Коли питання стосуються структури — наприклад, списку доступних таблиць, опису стовпців таблиці чи пояснення зв'язків — Wren AI надає детальну метадані та рекомендовані запити.
Чому це важливо
- Автоматичне направлення за доменами (Automatic Domain Routing): Подібно до QueryGPT, Виявлення намірів (Intent Detection) в Wren AI забезпечує правильну обробку запиту, що призводить або до генерації SQL, або до відповіді щодо дослідження схеми.
- Керівництво користувача (User Guidance): Якщо запит виходить за межі (наприклад, звичайна розмова), Wren AI запитує користувача уточнити, зберігаючи чітке фокусування на запитах до даних та схем.
3. Агент таблиць (Table Agent) → Агент вибору таблиць в Wren AI (Wren AI’s Table Retrieval Agent)
QueryGPT в Uber
В QueryGPT, після того як правильно визначено домен, Агент таблиць пропонує, які конкретні таблиці потрібні для створення SQL-запиту. Користувачі можуть або підтвердити ці пропозиції, або редагувати їх, щоб забезпечити відповідність з їхнім досвідом роботи з реальними даними.
Аналог в Wren AI
У Wren AI цей крок відповідає фазі вибору таблиць (table retrieval), де використовується семантичний пошук для вибору 10 найбільш релевантних таблиць до запиту користувача. Ми розглядаємо назви таблиць і їхні метадані — такі як описи чи теги — щоб визначити найкращі варіанти перед генерацією запиту.
Архітектура Wren AI (Wren AI Architecture)
- Орієнтований пошук (Focused Retrieval): Звужуючи вибір до найбільш релевантних таблиць, Wren AI заощаджує користувачам час на пошук через великі, складні схеми.
- Семантична релевантність (Semantic Relevance): Порівняння запиту користувача з метаданими таблиць забезпечує, що початковий етап запиту є точним і ефективним.
Чому це важливо
- Точність (Accuracy): Визначення правильних таблиць на початку знижує ймовірність неправильних або нерелевантних запитів.
- Ефективність (Efficiency): Семантичний пошук та стиснений список з 10 таблиць прискорюють процес вибору, економлячи час як для технічних, так і для нетехнічних користувачів.
4. Агент обрізки стовпців (Column Prune Agent) → Обрізка стовпців в Wren AI (Wren AI’s Column Pruning)
QueryGPT в Uber
Великих схем даних у корпоративних середовищах можуть містити сотні стовпців на таблицю, що може перевищити ліміти токенів при введенні цих даних у LLM. Агент обрізки стовпців (Column Prune Agent) фільтрує непотрібні стовпці, щоб уникнути перевантаження моделі, знижуючи як затримку, так і витрати.
Аналог в Wren AI
Агент обрізки стовпців (Column Prune Agent) в Wren AI виконує ту ж функцію: коли ви з’єднуєте велику кількість таблиць і стовпців, Wren AI обрізає ті стовпці, які не є релевантними для запиту або поточних потреб користувача.
Це дозволяє системі залишатися швидкою, ефективною та доступною для роботи в масштабі.
Чому це важливо
- Масштабованість (Scalability): Зменшення навантаження на токени забезпечує здатність LLM обробляти складні запити без перевантаження або великих витрат на обробку.
- Покращена точність (Improved Accuracy): Фокусування на найбільш релевантних стовпцях знижує відволікання для штучного інтелекту (AI), що призводить до більш точної генерації SQL.
Що ще є в Wren AI
Окрім потужної функціональності текст-to-SQL, Wren AI пропонує низку додаткових можливостей, які роблять аналіз даних ще зручнішим, інтерактивнішим та доступнішим для команд з будь-яким рівнем технічних знань.
1. Текст-to-Графік (Text-to-Chart)
Wren AI автоматично генерує інформативні графіки для візуалізації ваших даних та виявлення значущих патернів — без додаткових кроків.
- Автоматичне створення графіків (Automatic Chart Generation): Коли ви ставите запитання, Wren AI аналізує ваш набір даних і вибирає найбільш підходящий тип графіка для відображення результатів.
- Безшовне дослідження (Seamless Exploration): Просто перейдіть на вкладку “Chart”, щоб побачити результати вашого запиту у вигляді стовпчикового графіка, лінійного графіка, кругової діаграми чи іншого візуально привабливого формату.
- Швидкі інсайти (Quick Insights): Візуалізація даних дозволяє вашій команді швидше виявляти тенденції та кореляції, роблячи прийняття рішень на основі даних інтуїтивно зрозумілішим.
Дізнайтесь більше: https://docs.getwren.ai/oss/guide/home/chart
2. Шаблони для даних (Data Boilerplates)
Шаблони в Wren AI — це заздалегідь визначені шаблони, призначені для спрощення вашої подорожі з аналізу даних від початку до кінця.
- Спрощена налаштування (Streamlined Setup): Шаблони мають заздалегідь вибрані таблиці та стовпці, що усуває необхідність імпортувати великі набори даних, що містять нерелевантну інформацію.
- Стартове дослідження (Jumpstart Exploration): Кураційні набори часто задаваних запитань допомагають швидко знаходити цінні інсайти без необхідності починати з нуля.
- Підтримувані інтеграції (Supported Integrations): Wren AI вже пропонує шаблони для HubSpot, GA4, а також незабаром для WooCommerce, і багато інших в майбутньому.
Дізнайтесь більше: https://docs.getwren.ai/oss/guide/boilerplates/overview
3. Покрокове роз’яснення SQL-запиту (Step-by-step SQL breakdown)
Це роз’яснення проводить користувачів через те, як ШІ дійшов до вибору певних таблиць і стовпців, завершуючи фінальним SQL-запитом.
- Прозорість для користувачів (User Transparency): Wren AI розкриває, які таблиці і стовпці він планує використовувати. Користувачі можуть побачити логіку вибору, що підвищує довіру і правильність.
- Пояснюваність (Explainability): Детальні роз’яснення допомагають користувачам зрозуміти, як ШІ прийшов до своїх рішень, що є критично важливим для налагодження і дотримання стандартів у корпоративних умовах.
Дізнайтесь більше: https://docs.getwren.ai/cloud/guide/home/answer#result-steps
4. Підключення до Excel та Google Sheets
Wren AI полегшує спільний доступ до результатів запитів і їхню маніпуляцію у звичних інструментах для роботи з таблицями.
- Додаток для Excel (Excel Add-in): Експортуйте дані з Wren AI безпосередньо в Excel, вибираючи певні потоки або подання. Ця інтеграція зменшує необхідність вручну копіювати дані та прискорює аналіз у середовищі, яке ваша команда вже знає.
- Додаток для Google Sheets (Google Sheets Add-on): Аналогічна функціональність для Google-продуктів, тому команди, що використовують G Suite, можуть також користуватися безшовним експортом даних.
Дізнайтесь більше:
Інтегруючи текст-to-графік, шаблони та глибокі інтеграції з електронними таблицями, Wren AI виходить за межі текст-to-SQL, створюючи комплексну, зручну екосистему для аналізу даних.
Чи вам потрібна швидка візуалізація, готові до використання шаблони для загальних запитів до даних або безшовний експорт у ваш улюблений інструмент для роботи з таблицями, Wren AI покриває всі ці потреби.
Висновок
Як QueryGPT від Uber, так і Wren AI мають модульну конструкцію, що вирішує завдання текст-to-SQL, використовуючи ключові етапи — сегментацію робочих просторів або проєктів, виявлення намірів (intent detection), вибір таблиць та обрізання стовпців (column pruning). Такий структурований підхід забезпечує точну, ефективну та масштабовану генерацію SQL-запитів, одночасно підтримуючи суворі норми управління даними та безпеку.
Якщо ви шукаєте потужне рішення текст-to-SQL з відкритим кодом, яке привнесе ці інновації у вашу організацію, Wren AI пропонує все необхідне для того, щоб змінити спосіб взаємодії вашої команди з даними. Завдяки управлінню проєктами та організаціями (project and organization management), виявленню намірів (intent detection), покроковим роз’ясненням SQL-запитів (step-by-step SQL breakdowns) та обрізанню стовпців (column pruning), Wren AI забезпечує доступність, точність і безпеку даних — незалежно від того, чи ви є аналітиком даних, інженером або керівником бізнесу.
👉 Досліджуйте відкритий проєкт Wren AI на GitHub: https://github.com/Canner/WrenAI
👉 Дізнайтесь більше та спробуйте Wren AI сьогодні: https://getwren.ai/
Почніть спрощувати ваші робочі процеси з даними та надайте вашій команді можливість швидше отримувати інсайти — без необхідності вручну писати SQL-запити.
Перекладено з: How Uber is Saving 140,000 Hours Each Month Using Text-to-SQL — And How You Can Harness the Same Power