← Voltar ao blog

IA & Agentes

Copilot Studio - Base de Conhecimento [5] - Conectando Foundry IQ + Azure Databricks como fonte

Copilot Studio - Knowledge base [5] - Connecting Foundry IQ + Azure Databricks as a source

Copilot Studio - Base de Conhecimento [5] - Conectando Foundry IQ + Azure Databricks como fonte

Fala dataholics! Chegamos no quinto e último post da série de Base de Conhecimento, e eu guardei pro final as fontes principais Azure Databricks e Foundry IQ. No post 4 eu prometi plugar o Databricks direto como fonte do agente, e é isso que a gente faz hoje, junto dele eu conectei um índice do Azure AI Search (Foundry IQ) que montei com o meu próprio padrão de chunking (o Foundry IQ que abrimos no post 3), fechando o agente com 4 bases mais a web search. E aproveito o post pra explicar um detalhe quando você junta várias fontes num agente só: a descrição de cada base é o que ensina o agente a escolher a fonte certa na hora certa.

O que veremos nesse post:

  • O agente final: 4 bases de conhecimento mais a web

  • Databricks como fonte

  • Azure AI Search: plugando o meu índice do Foundry IQ

  • Na prática: Databricks respondendo, só que consultando tudo

  • Na prática: o AI Search nas buscas de documento

  • A descrição é o roteamento (a parte mais delicada)

  • Resumo


O agente final: 4 bases mais a web

A aba Knowledge do meu agente ficou com quatro fontes diferentes:

Repara na coluna Type, porque cada linha é um mundo que a gente viu na série: o Public website (datainaction.dev/blog) do post 4, o SharePoint (2. Calendário 2026) dos posts 1 e 2, o Azure AI Search (o índice do Foundry IQ do post 3) e um Databricks. Tudo com status Ready.

E ainda tem a web ligada por cima disso. Na tela de Overview dá pra ver as bases e logo abaixo o Web Search habilitado.

Então o status agente é esse: 4 bases de conhecimento mais 1 Web Search. Semana que vem eu começo a falar de Tools, que é o próximo tópico, mas por hoje o foco é conhecimento.


Databricks como fonte de conhecimento

Essa é a parte que eu mais queria mostrar. Você vai em Add knowledge e escolhe o Azure Databricks. A primeira coisa que ele pede é o Dataset, que aqui é o seu catálogo no Unity Catalog:

Ele já lista os catálogos que existem no meu workspace (sandbox_gov, system, main, prod, samples, demo). Escolhi o prod e ele foi buscar as tabelas lá dentro. Na tela seguinte você seleciona o que vai virar fonte, e dá pra pegar até 15 itens:

Aqui aparece a minha modelagem em camadas bem na cara: prod.bronze.stores_raw, prod.silver.transactions, prod.gold.vw_customer_bonus_balance e por aí vai. Eu escolhi a view de gold vw_customer_bonus_balance, que é o dado já tratado e pronto pra pergunta de negócio. Uma dica: aponte pra gold, pra views e tabelas curadas, e não pro bronze cru. O agente vai consultar isso em linguagem natural e você quer que ele use um dado limpo, com nome de coluna que faz sentido.

Tem um passo que nao fica visivel aqui, depois de adicionar o Databricks você precisa autorizar a conexão pra ela funcionar de dentro do agente. Vai em Manage your connections e confere o status:

Enquanto essa conexão do Azure Databricks não estiver Connected, a fonte fica lá bonita mas não responde nada. Repara também no "Used By 1 tool": por baixo dos panos o Copilot trata esse acesso ao Databricks como um connector do Power Platform, e é por isso que lá na lista de Knowledge ele apareceu com o Type Power Platform connector em vez de um tipo "Databricks" próprio. É o mesmo bicho, só com nome de crachá diferente.


Azure AI Search: o meu índice do Foundry IQ

A segunda fonte nova é o Azure AI Search. Lembra que no post 3 eu montei um índice no Foundry IQ com o chunking do meu jeito? É esse que eu vou plugar agora. Em Add knowledge, aba Advanced, escolhi o Azure AI Search e ele listou os índices que existem no meu serviço:

Selecionei o docindex, que é o meu índice de documentos. Mas presta atenção nesse aviso no rodapé, porque ele pega muita gente de surpresa: aparece um bloco de Unsupported indexes dizendo que alguns dos meus índices não são suportados porque não usam integrated vectorization. Ou seja, não é qualquer índice do Azure AI Search que entra aqui, ele precisa ter a vetorização integrada configurada. Índice antigo, só com busca de palavra-chave, o Copilot Studio nem deixa selecionar. Se o seu não aparecer na lista, é quase sempre isso.


Na prática: Databricks respondendo

Agente montado, hora de testar. Fui no painel de teste e perguntei uma coisa que só o Databricks sabe responder: "Qual total de bônus gerados?". A resposta veio certinha, direto da view de gold:

Olha que legal, ele foi na vw_customer_bonus_balance, trouxe o { "Result": 147764468.26 } e formatou pra mim como R$ 147.764.468,26, ainda ofereceu detalhar por período ou categoria. Do ponto de vista da resposta, perfeito.

Agora abre o painel de Search sources do lado esquerdo e repara no que ele consultou pra chegar nesse número: o meu blog, o Azure AI Search, o Databricks e até uma "Calculadora de bônus" que ele achou na internet. Pra uma pergunta que só o Databricks tinha como responder, ele bateu em todas as fontes. Esse é o comportamento padrão quando as descrições não guiam a escolha: na dúvida, o agente pergunta pra todo mundo. Funciona, mas gasta tempo e tokens com fonte que não tinha a resposta, e num cenário real acaba trazendo contexto que não devia. Guarda essa imagem, porque é justamente ela que eu quero usar pra explicar o próximo bloco.


Na prática: o AI Search nas buscas

Pra ver o índice do AI Search trabalhando eu virei a chave e perguntei sobre um tema de documento, algo que vive nos PDFs que eu indexei no docindex. E aí ele foi na fonte certa:

Repara na referência lá embaixo: docindex. Ele recuperou os trechos dos meus documentos sobre RAG (aquele "A Systematic Literature Review of Retrieval-Augmented Generation" e os PDFs de uso de IA generativa), montou a resposta explicando a seção 2.8 e citou o índice como fonte. É o RAG customizado do post 3 rodando de dentro do agente, com o meu chunking, os meus campos, do meu jeito.

Então já temos as duas fontes novas testadas: o Databricks entrega o número de negócio e o AI Search entrega o conhecimento dos documentos. O problema é fazer o agente escolher a fonte certa na hora certa, sem sair batendo em todas. E é aí que entra o pulo.


A descrição é o roteamento do agente

Esse é o ponto mais importante de se prestar atenção, quando o agente está em orquestração generativa, ele não tem um mapa fixo dizendo "pergunta de bônus vai no Databricks". O que ele lê pra decidir qual base chamar é a descrição de cada fonte. Se a descrição está vaga, genérica ou vazia, o modelo não sabe diferenciar uma da outra e faz o que a gente viu no teste do bônus: consulta todas por segurança.

Então a descrição não é campo de enfeite pra preencher com qualquer coisa. Ela é o que roteia. Uma descrição boa diz de forma bem específica o que tem ali dentro e quando aquela fonte deve ser usada, Exemplo:

  • Descrição ruim: "Dados do Databricks".

  • Descrição boa: "Dados transacionais e financeiros da operação: total de bônus gerados, transações, vouchers e saldo de clientes. Use esta fonte para perguntas com números, valores, totais e métricas de negócio."

Com a segunda, quando chega um "qual o total de bônus" o modelo bate o olho, vê "bônus" e "total" na descrição do Databricks e vai direto nele, sem passear pelo blog e pela internet.

Reginaldo, mas e se mesmo com descrição boa ele ainda insistir em consultar tudo?

Acontece, ainda mais quando as fontes têm assunto parecido. Aí o segundo reforço é no prompt do agente, nas Instructions. Você escreve o roteamento na unha, algo do tipo:

Regras de fonte:
- Perguntas com números, valores, totais ou métricas de negócio
  (bônus, transações, vouchers): use SOMENTE a fonte Azure Databricks.
- Perguntas sobre documentos, papers e material de estudo:
  use SOMENTE a fonte Azure AI Search (docindex).
- Perguntas sobre conteúdo do blog: use o site datainaction.dev.
- Só recorra à busca na web se nenhuma fonte interna responder.

Descrição fiel em cada base mais essas regras no prompt, e o agente para de sair consultando tudo. Ele fica mais rápido, mais barato em tokens e, principalmente, mais previsível, que é o que você quer quando isso vai pra produção.


RESUMO

  • Dá pra plugar o Azure Databricks direto como fonte de conhecimento: escolhe o catálogo (Dataset) no Unity Catalog e seleciona até 15 tabelas ou views. Aponte pra gold e views curadas, não pro bronze cru.

  • Depois de criar a fonte, autorize a conexão em Manage your connections até ficar Connected, senão ela não responde. O Copilot trata esse acesso como um Power Platform connector, por isso o Type na lista aparece assim.

  • O Azure AI Search pluga o índice que você montou no Foundry IQ (post 3), mas só entra índice com integrated vectorization. Sem isso ele cai em Unsupported.

  • Nos testes o Databricks entregou o número (R$ 147.764.468,26 da view de gold) e o AI Search entregou os documentos (docindex), cada um citando a sua fonte.

  • O agente fechou com 4 bases mais a web, mas sem descrição boa ele consulta todas as fontes de uma vez, como aconteceu na pergunta do bônus.

  • A descrição de cada base é o roteamento. Escreva o que tem ali e quando usar, e reforce as regras de fonte no prompt do agente pra ele acertar a fonte e não passear por todas.

E com isso fecha a série de Base de Conhecimento. Passamos pelo Knowledge e todas as fontes (post 1), o SharePoint e o fluxo de busca (post 2), o semantic index e o Foundry IQ (post 3), site público vs web search (post 4) e hoje o Databricks e o AI Search como fonte. Espero que tenha ajudado a clarear onde cada fonte brilha. Semana que vem a gente sobe um andar e começa a falar de Tools, que é quando o agente deixa de só saber e passa a fazer.

Referências:

https://learn.microsoft.com/en-us/microsoft-copilot-studio/knowledge-add-databricks

https://learn.microsoft.com/en-us/microsoft-copilot-studio/knowledge-azure-ai-search

https://learn.microsoft.com/en-us/microsoft-copilot-studio/knowledge-copilot-studio

Fique bem e até a próxima.

#copilotstudio #databricks #azureaisearch #foundryiq #ia #agentes #datainaction

#copilotstudio#databricks#azureaisearch#foundryiq#ia#agentes#datainaction

Gostou? Tem mais no YouTube e no LinkedIn.

← Voltar ao blog