Como parte da nossa iniciativa Semana dos Agentes de IA, estamos introduzindo novas capacidades para ajudar as empresas a construir e governar agentes de IA de alta qualidade. Para isso, estamos animados em anunciar a Prévia Pública das APIs de Conversação do Genie, disponíveis em AWS, Azure e GCP. Com este conjunto de APIs, seus usuários agora podem aproveitar o Genie AI/BI para obter insights de dados de autoatendimento usando linguagem natural de qualquer superfície, incluindo Databricks Apps, Slack, Teams, Sharepoint, aplicativos personalizados e mais. Além disso, as APIs de Conversação permitem que você incorpore o Genie AI/BI em qualquer agente de IA, com ou sem Agent Framework.
Usando o conjunto de API Genie Conversation, você pode enviar programaticamente prompts de linguagem natural e receber insights de dados, assim como faria na interface do usuário do Genie. A API é stateful, permitindo que o Genie mantenha o contexto à medida que você faz perguntas de acompanhamento dentro de um tópico de conversa.
Neste blog, revisamos os principais pontos finais disponíveis na Visualização Pública, exploramos a integração do Genie com o Mosaic AI Agent Framework e destacamos um exemplo de incorporação do Genie em um canal do Microsoft Teams.
Vamos passar por um exemplo prático para entender como as APIs de Conversação do Genie funcionam. A primeira coisa a notar é que as APIs de Conversação precisam interagir com um espaço Genie que já foi criado. Recomendamos começar com nossa documentação do produto para configurar seu espaço Genie e então seguir estas melhores práticas para configurá-lo de forma otimizada.
Imagine que você já criou, configurou e compartilhou um espaço Genie projetado para responder perguntas sobre seus dados de marketing. Agora, você quer que sua equipe de marketing use este espaço para fazer perguntas e explorar insights - mas, em vez de acessá-lo através da interface do Genie, você quer que eles o façam a partir de um aplicativo externo.
Para começar, suponha que você queira que sua equipe de marketing faça uma pergunta simples: “Quais clientes nós contatamos por email ontem?”. Para fazer essa pergunta usando as APIs de Conversação do Genie, precisaremos enviar uma solicitação POST para o seguinte endpoint:
/api/2.0/genie/spaces/{space_id}/start-conversation
Este endpoint inicia um novo tópico de conversação, usando sua pergunta como o prompt inicial, assim como na interface do usuário do Genie Space. Note que a solicitação deve incluir seu componente host, ID do Genie Space e um token de acesso para autenticação. Você pode encontrar o space_id na URL do Genie Space, como mostrado abaixo:
https://example.databricks.com/genie/rooms/12ab345cd6789000ef6a2fb844ba2d31
A seguir, um exemplo da requisição POST correta necessária:
POST /api/2.0/genie/spaces/{space_id}/start-conversation |
Se a declaração for enviada corretamente, a API retornará a conversa criada e a mensagem em resposta à solicitação POST, conforme mostrado no exemplo a seguir:
{ “conversation_id": "6a64adad2e664ee58de08488f986af3e", "conversation": { "created_timestamp": 1719769718, "conversation_id": "6a64adad2e664ee58de08488f986af3e", "last_updated_timestamp": 1719769718, "space_id": "3c409c00b54a44c79f79da06b82460e2", "title": "Quais clientes nós contatamos por email ontem?", "user_id": 12345 }, “message_id": "e1ef34712a29169db030324fd0e1df5f", "message": { "attachments": null, "content": "Quais clientes nós contatamos por email ontem?", "conversation_id": "6a64adad2e664ee58de08488f986af3e", "created_timestamp": 1719769718, "error": null, "message_id": "e1ef34712a29169db030324fd0e1df5f", "last_updated_timestamp": 1719769718, "query_result": null, "space_id": "3c409c00b54a44c79f79da06b82460e2", "status": "EM_PROGRESSO", "user_id": 12345 } } |
Usando o conversation_id e o message_id, você pode agora verificar o status de geração da mensagem e recuperar a instrução SQL associada gerada e a descrição da consulta da seguinte maneira:
GET /api/2.0/genie/spaces/{space_id}/conversations/{conversation_id}/messages/{message_id} HOST= <WORKSPACE_INSTANCE_NAME> Authorization: Bearer <your_authentication_token> |
A seguir está um exemplo da resposta:
{ "attachments": [{ "query": { "description": "Descrição da consulta em um formato legível para humanos", "last_updated_timestamp": 1719769718, "query": "SELECT * FROM customers WHERE date >= CURRENT_DATE() - INTERVAL 1 DAY", "title": "Título da consulta", "statement_id": "9d8836fc1bdb4729a27fcc07614b52c4", "query_result_metadata": { "row_count": 10 }, } 'attachment_id': '01efddddeb2510b6a4c125d77ce176be' }], "content": "Quais clientes nós contatamos por email ontem?", "conversation_id": "6a64adad2e664ee58de08488f986af3e", "created_timestamp": 1719769718, "error": null, "message_id": "e1ef34712a29169db030324fd0e1df5f", "last_updated_timestamp": 1719769718, "space_id": "3c409c00b54a44c79f79da06b82460e2", "status": "EXECUTING_QUERY", "user_id": 12345 } |
Uma vez que o campo de status da mensagem mostra “CONCLUÍDO”, isso significa que a declaração SQL gerada terminou de executar e os resultados da consulta estão prontos para serem recuperados. Agora você pode obter a resposta da seguinte maneira:
GET /api/2.0/genie/spaces/{space_id}/conversations/{conversation_id}/messages/{message_id}/attachments/{attachment_id}/query-result HOST= <WORKSPACE_INSTANCE_NAME> Authorization: Bearer <your_authentication_token> |
Claro, você também pode emitir prompts de acompanhamento para seus tópicos de conversação. Por exemplo, vamos dizer que a equipe de marketing quer fazer a seguinte pergunta a seguir: “Quais desses clientes abriram e encaminharam o email?”
Para gerenciar isso, você enviará outra requisição POST com o novo prompt para o thread de conversa existente da seguinte maneira:
POST /api/2.0/genie/spaces/{space_id}/conversations/{conversation_id}/messages HOST= <WORKSPACE_INSTANCE_NAME> Authorization: <your_authentication_token> { "content": "Quais desses clientes abriram e encaminharam o email?", } |
Caso você queira atualizar dados de prompts anteriores, a API também permite que você reexecute consultas SQL que foram geradas anteriormente. Para mais detalhes sobre os endpoints da API, consulte a documentação do produto.
Para garantir o melhor desempenho, recomendamos as seguintes melhores práticas de API:
As APIs de Conversação também se integram perfeitamente ao seu Mosaic AI Agent Framework com o wrapper databricks_langchain.genie.
Digamos que meus gerentes de marketing precisassem responder perguntas em três tópicos:
Você pode construir um framework de vários agentes para responder perguntas sobre dados estruturados e não estruturados. Por exemplo, você pode definir a seguinte estrutura de agente Langgraph:
O gráfico do framework do agente seria algo como:
Seu framework de agente agora pode direcionar perguntas para seus agentes relevantes. Por exemplo, se um gerente de marketing começa perguntando “Mostre-me os participantes do meu evento em 1º de fevereiro”, o agente GenieEvents será acionado. Os rastreamentos do MLFlow mostram as etapas do framework:
O framework de agentes também permite que os agentes compartilhem respostas como contexto um para o outro. Isso permite que os usuários obtenham respostas de dados que são retiradas de várias fontes de maneira integrada. Por exemplo, o gerente de marketing pode querer aprofundar e perguntar “Quais desses participantes se inscreveram para receber notificações por email”. O framework usará a resposta anterior do GenieEvents como contexto para o agente GenieEmails:
Com essa abordagem, seus usuários de negócios agora podem responder a perguntas de dados que abrangem vários tópicos/tipos de dados e se baseiam uns nos outros.
Durante o período de Prévia Privada da API de Conversação, o Microsoft Teams foi uma das ferramentas de produtividade mais populares que os clientes integraram com o Genie. Essa integração permite que os usuários façam perguntas e obtenham insights instantaneamente, sem sair da interface do Teams.
Para fazer isso, você precisará seguir as seguintes etapas:
Para exemplos detalhados de como configurar exatamente as APIs de Conversação para o Microsoft Teams, consulte os seguintes artigos:
O exemplo abaixo destaca uma aplicação do mundo real de um de nossos clientes que usou as APIs de Conversação durante o período de Visualização Privada. Casas Bahia, uma das principais varejistas do Brasil, atende milhões de clientes tanto online quanto através de sua extensa rede de lojas físicas. Ao integrar as APIs de Conversação do Genie, a Casas Bahia capacitou usuários em toda a organização - incluindo executivos de alto nível - a interagir com o Genie diretamente em seu ambiente do Microsoft Teams. Para saber mais sobre o caso de uso deles, leia a história do cliente Casas Bahia.
“Ter o Genie integrado ao Teams foi um grande avanço para a democratização dos dados. Torna os insights de dados acessíveis a todos, independentemente de sua formação técnica.”— Cezar Steinz, Gerente de Operações de Dados, Grupo Casas Bahia
Com as APIs de Conversação Genie agora em Visualização Pública, você pode capacitar os usuários de negócios a conversarem com seus dados de qualquer superfície. Para começar, consulte a documentação do produto.
Estamos animados para ver como você usará as APIs de Conversação do Genie e incentivamos você a começar a criar espaços Genie imediatamente. Há uma tonelada de conteúdo disponível para ajudá-lo - você pode visitar as páginas da web AI/BI e Genie, conferir nossa extensa biblioteca de demonstrações de produtos e certifique-se de ler a completa documentação do AI/BI Genie.
A equipe da Databricks está sempre procurando melhorar a experiência do AI/BI Genie e adoraria ouvir seu feedback!
(This blog post has been translated using AI-powered tools) Original Post