Добавление ресурса агента Genie в приложение Databricks

Добавьте Genie Agents в качестве ресурсов в Databricks Apps, чтобы обеспечить возможность выполнять запросы на естественном языке в ваших приложениях. Агенты Genie предоставляют диалоговый интерфейс для изучения данных, позволяя пользователям задавать бизнес-вопросы на обычном английском языке и получать аналитические сведения на основе SQL из проверенных наборов данных.

При добавлении агента Genie в качестве ресурса приложение может:

  • Преобразование запросов естественного языка от пользователей в SQL
  • Доступ к предварительно настроенной бизнес-контексту и метаданным
  • Использование проверенных примеров запросов и определений данных
  • Создание ответов на основе наборов данных вашей организации

Добавление ресурса агента Genie

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

  1. В разделе Ресурсы приложения при создании или редактировании приложения нажмите + Добавить ресурс>Агент Genie.
  2. Выберите агента Genie из списка доступных пространств в вашем рабочем пространстве.
  3. Выберите уровень разрешений для приложения:
    • Может просматривать: Предоставляет приложению разрешение на чтение конфигурации и метаданных агента Genie.
    • Может выполняться: Предоставляет приложению разрешение на отправку запросов агенту Genie и получение ответов.
    • Может изменяться: Предоставляет приложению разрешение на изменение конфигурации агента Genie.
    • Может управлять: Предоставляет приложению полный административный доступ к агенту Genie.
  4. (Необязательно) Укажите пользовательский ключ ресурса, который является ссылкой на агент Genie в конфигурации приложения. Ключ по умолчанию — genie-space.

Когда вы добавляете ресурс Genie Agent:

  • Azure Databricks предоставляет субъекту-службе приложения указанные разрешения для выбранного агента Genie.
  • Приложение может отправлять запросы естественного языка агенту и получать структурированные ответы с помощью запросов и результатов SQL.
  • Приложение обращается к курированному бизнес-контексту агента, включая метаданные, примеры запросов и определения данных.
  • Доступ ограничен только выбранным агентом. Приложение не может получить доступ к другим агентам Genie, если вы не добавите их в качестве отдельных ресурсов.

Замечание

Субъект-служба приложения также должен иметь соответствующие разрешения на базовые источники данных, к которым обращается агент Genie. Обычно это включает USE CATALOG, USE SCHEMA, и SELECT разрешения для соответствующих таблиц и представлений каталога Unity.

Переменные среды

При развертывании приложения с ресурсом Genie Agent Azure Databricks передает идентификатор пространства через переменные среды, на которые можно ссылаться с помощью поля valueFrom в конфигурации app.yaml.

Пример конфигурации:

env:
  - name: GENIE_SPACE_ID
    valueFrom: genie-space # Use your custom resource key if different

Использование идентификатора пространства в приложении:

import os
from databricks.sdk import WorkspaceClient

# Access the Genie Agent using the injected environment variable
space_id = os.getenv("GENIE_SPACE_ID")

# Initialize the workspace client
w = WorkspaceClient()

# Start a conversation with a natural language query
response = w.genie.start_conversation_and_wait(
    space_id=space_id,
    content="What were our top-selling products last quarter?"
)

# Process the response (responses contain attachments with text, queries, and so on)
for attachment in response.attachments:
    print(f"Genie response: {attachment.text.content}")

# Continue the conversation with additional questions
follow_up = w.genie.create_message_and_wait(
    space_id=space_id,
    conversation_id=response.conversation_id,
    content="Can you break that down by product category?"
)

Дополнительные сведения см. в разделе "Доступ к переменным среды" из ресурсов.

Удалить ресурс агента Genie

Если удалить ресурс агента Genie из приложения, субъект-служба приложения потеряет доступ к агенту. Сам агент Genie остается неизменным и по-прежнему доступен для других пользователей и приложений с соответствующими разрешениями.

Объединение агентов Genie с другими ресурсами приложения

Объединение агентов Genie с другими ресурсами Databricks Apps для создания более сложных приложений данных. К общим шаблонам интеграции относятся:

Панель мониторинга аналитики естественного языка

Используйте следующие ресурсы вместе для запуска интерактивной аналитики:

  • Агент Genie: Преобразует вопросы пользователей в запросы SQL
  • Хранилище SQL: Выполняет запросы и возвращает результаты для визуализации
  • Секреты: Хранит ключи API для внешних средств визуализации

Пример конфигурации:

env:
  - name: GENIE_SPACE_ID
    valueFrom: genie-space
  - name: SQL_WAREHOUSE_ID
    valueFrom: sql-warehouse
  - name: EXTERNAL_API_KEY
    valueFrom: viz-secret

Бизнес-аналитика с улучшением за счет ИИ

Используйте следующие ресурсы для интеграции с моделями ИИ:

  • Агент Genie: Создает исходный запрос и контекст данных
  • Конечная точка обслуживания модели: Возвращает сводки и рекомендации, созданные ИИ
  • Хранилище SQL: Выполняет сложные аналитические запросы

Разрешения сервисного принципала

Предоставьте служебному принципалу вашего приложения следующие разрешения при интеграции с другими ресурсами приложения:

  • CAN RUN в агенте Genie
  • CAN USE в хранилище SQL (если используется отдельное от агента Genie)
  • CAN QUERY в конечных точках обслуживания модели
  • USE CATALOG и USE SCHEMA в соответствующих объектах каталога Unity
  • SELECT в таблицы, к которым приложение делает запросы напрямую

Рекомендации

Следуйте приведенным ниже рекомендациям при работе с ресурсами агента Genie:

  • Предоставьте минимальные разрешения. Предоставить доступ только к определенным агентам Genie, которые необходимо использовать для работы приложения.
  • Убедитесь, что агент Genie содержит хорошо проверенные наборы данных и метаданные для улучшения качества ответов на запросы естественного языка.
  • Проверьте запросы приложения к агенту Genie, чтобы убедиться, что он может генерировать точные результаты для ожидаемых вопросов пользователя.
  • Отслеживайте производительность запросов и настраивайте шаблоны взаимодействия приложения с агентом Genie для оптимизации времени отклика.
  • Реализуйте обработку ошибок в случаях, когда агент Genie не может эффективно интерпретировать и реагировать на запросы пользователей.