Я дал своему агенту text-to-SQL бизнес-глоссарий. Одна версия очень помогла, другая — ничего.
Агенты Text-to-SQL часто испытывают трудности с пониманием бизнес-терминов, которые не совпадают напрямую с названиями таблиц или столбцов, что приводит к некорректным результатам запросов. SchemaGate 1.2.0 вводит бизнес-термины для повышения точности этих агентов. Эти термины могут быть явно определены с синонимами, сопоставлениями с столбцами базы данных и связанными правилами фильтрации. Например, "доход" может быть сопоставлен с billing_invoice.total_net с фильтром по статусу. Этот процесс помогает агенту идентифицировать релевантные таблицы и понимать значение конкретных бизнес-концепций. Термины также могут иметь иерархические отношения, влияющие на веса включения таблиц. Бизнес-термины могут быть импортированы из различных источников, таких как dbt, Snowflake или CSV-экспорты, а также могут быть изучены из прошлых пар "вопрос-SQL". Основная функция SchemaGate — контроль доступа, скрывающий неавторизованные таблицы и столбцы до того, как агент их увидит. Для предотвращения утечки данных строки для бизнес-терминов опускаются, если вызывающий абонент не имеет доступа ко всем базовым таблицам и столбцам. Эксперименты на наборе данных BIRD показали значительное повышение точности на 10 процентных пунктов при предоставлении полного глоссария, в то время как термины, изученные из других вопросов, не оказали никакого влияния. Для задачи извлечения на Spider изученные термины улучшили полноту таблиц. По сути, ручное определение ключевых бизнес-терминов имеет решающее значение для повышения точности запросов, особенно для понимания формул, а изученные термины более эффективны для обнаружения таблиц. Добавление терминов в запрос требует тщательного рассмотрения разрешений пользователя. SchemaGate доступен как проект с открытым исходным кодом, поддерживающий несколько баз данных и варианты интеграции.
billing_invoice.total_netс фильтром по статусу. Этот процесс помогает агенту идентифицировать релевантные таблицы и понимать значение конкретных бизнес-концепций. Термины также могут иметь иерархические отношения, влияющие на веса включения таблиц. Бизнес-термины могут быть импортированы из различных источников, таких как dbt, Snowflake или CSV-экспорты, а также могут быть изучены из прошлых пар "вопрос-SQL". Основная функция SchemaGate — контроль доступа, скрывающий неавторизованные таблицы и столбцы до того, как агент их увидит. Для предотвращения утечки данных строки для бизнес-терминов опускаются, если вызывающий абонент не имеет доступа ко всем базовым таблицам и столбцам. Эксперименты на наборе данных BIRD показали значительное повышение точности на 10 процентных пунктов при предоставлении полного глоссария, в то время как термины, изученные из других вопросов, не оказали никакого влияния. Для задачи извлечения на Spider изученные термины улучшили полноту таблиц. По сути, ручное определение ключевых бизнес-терминов имеет решающее значение для повышения точности запросов, особенно для понимания формул, а изученные термины более эффективны для обнаружения таблиц. Добавление терминов в запрос требует тщательного рассмотрения разрешений пользователя. SchemaGate доступен как проект с открытым исходным кодом, поддерживающий несколько баз данных и варианты интеграции.