Pular para o conteúdo

Governança de agentes de IA com Unity Catalog e Unity Gateway no Databricks | Demonstração do Unity Catalog

Ver no idioma original →

Autoria: Databricks · Assistir no YouTube

Vídeo de autoria do canal indicado, não da IANIA; todos os direitos pertencem ao criador. Transcrição, resumo e tradução gerados automaticamente; o conteúdo no idioma original é preservado na versão em idioma original.

Idioma original: inglês

Vídeo original: Governing AI Agents with Unity Catalog and Unity Gateway on Databricks | Unity Catalog Demo · Canal: Databricks · 05:44 · Assistir no YouTube

Tópicos: Agentes de IA, Cibersegurança e segurança de software, Privacidade e proteção de dados, RAG, busca e recuperação de informação

A demonstração mostra como um notebook configura controles de governança no Unity Catalog e no AI Gateway para aplicar políticas e filtros por função. Usuários diferentes, Alice e Bob, têm acesso a dados públicos e a conjuntos específicos de acordo com seus grupos: suporte ou finanças. Ao fazer a mesma pergunta sobre a Acme, cada usuário recebe respostas baseadas apenas nos dados que pode consultar. Assim, o Unity Catalog filtra os dados antes que eles cheguem ao agente e fornece o contexto apropriado para cada usuário.

  • Um notebook configura as políticas e os controles de governança necessários no Unity Catalog.
  • O AI Gateway aplica políticas integradas, incluindo verificações de jailbreak, conteúdo inseguro e dados sensíveis.
  • Funções personalizadas gerenciadas pelo Unity Catalog verificam ações externas e bloqueiam exportações em massa de dados de clientes.
  • Um filtro por função usa tags do Unity Catalog e os grupos dos usuários para determinar quais dados podem ser consultados.
  • Alice, do grupo de suporte, e Bob, do grupo de finanças, podem acessar dados públicos e os dados do respectivo domínio.
  • A demonstração usa dados de clientes da Acme e da Globex Retail, além de documentos para compor o contexto das respostas.
  • Uma consulta de busca vetorial é simulada no notebook para encontrar documentos relacionados à pergunta.
  • Com a mesma pergunta e os mesmos conjuntos de dados, Alice recebe respostas sobre suporte e Bob recebe respostas sobre finanças.
  • O Unity Catalog filtra os dados antes que eles cheguem ao agente, personalizando o contexto conforme o usuário.
Início Capítulo Resumo
00:00 Configuração da governança no Unity Catalog A demonstração apresenta o notebook e os controles de governança configurados no catálogo.
01:36 Filtros por função e dados de demonstração O filtro usa grupos e tags para controlar o acesso de Alice e Bob aos dados públicos, de suporte e de finanças.
03:08 Consulta e contexto dos documentos O notebook prepara uma busca vetorial simulada e configura o AI Gateway para consultar dados conforme o escopo permitido.
04:40 Respostas diferentes para Alice e Bob A mesma pergunta retorna informações de suporte para Alice e de finanças para Bob, devido aos filtros de acesso.

O importante é que este notebook configura todos os controles de governança necessários do Unity Catalog. — 00:31

Ambos podem ver dados públicos, mas cada um também pode ver os dados do seu grupo. — 02:07

Para Alice, recebemos respostas relacionadas ao domínio de suporte. — 05:12

O Unity Catalog filtra os dados antes que eles cheguem ao agente. — 05:44

  • Databricks (empresa): Empresa cujo ambiente é usado na demonstração de governança de dados e agentes de IA.
  • Unity Catalog (ferramenta): Recurso de governança que organiza controles de acesso e filtra os dados disponibilizados ao agente.
  • Unity Gateway (ferramenta): Gateway mencionado no título da demonstração, usado para governar as interações com o agente.
  • AI Gateway (ferramenta): Gateway configurado com políticas e funções que permitem controlar entradas, saídas e ações do agente.
  • UDF (conceito): Função definida pelo usuário, usada na demonstração para implementar verificações de governança.
  • busca vetorial (conceito): Método usado para localizar documentos relacionados à pergunta e compor o contexto da consulta.
  • Alice (pessoa): Usuária do grupo de suporte, cujas respostas incluem informações desse domínio e dados públicos.
  • Bob (pessoa): Usuário do grupo de finanças, cujas respostas incluem informações desse domínio e dados públicos.

00:00 [música] >> Vamos analisar isso com um exemplo. Você se lembra de Alice e Bob. Alice e Bob são dois usuários diferentes que veem resultados diferentes ao consultar um modelo, porque ele é governado pelo Unity Catalog. O que criamos aqui foi um notebook que implementa todas as informações do exemplo que acabamos de discutir. Não se prenda muito aos detalhes. Esta é uma tarefa típica de engenharia de dados

00:31 de dados. Criamos um notebook. Codificamos todas as nossas regras e políticas nesse notebook, e podemos ver os dados que criamos. O importante é que esse notebook configura todos os controles de governança necessários do Unity Catalog, e vou mostrá-los diretamente no Explorer. Aqui no Explorer, você pode ver o catálogo chamado governance demo e, dentro dele, configuramos um AI gateway. Esse AI gateway foi configurado com

01:03 um conjunto de políticas. Três dessas políticas são integradas. Já oferecemos políticas contra jailbreak, conteúdo inseguro, conteúdo e dados confidenciais. Mas também criamos duas políticas personalizadas que se conectam a UDFs gerenciadas pelo Unity Catalog. Temos uma que verifica o modelo antes de uma pergunta ser feita e bloqueia operações específicas de exportação. Você também pode ver essas funções aqui. A função “ask before external actions” está aqui. É simplesmente uma função que verifica

01:36 a entrada e, em seguida, retorna uma resposta que o agent pode seguir. O mesmo vale para “block bulk customer export”. Recebemos algumas entradas aqui na forma de parâmetros e, então, decidimos se isso está certo ou não e retornamos os resultados aos quais o AI gateway e o agent podem reagir. Também configuramos um filtro por função. Esse filtro usa uma tag específica no Unity Catalog e os grupos dos quais

02:07 os usuários fazem parte para decidir quais funções eles podem ver. Lembre-se de que eu disse que temos Bob e Alice. Bob está no setor financeiro e Alice está no suporte. Então, você pode ver que os dois conseguem acessar conjuntos de dados públicos; também podem acessar dados públicos. Além disso, podem ver dados de suporte se fizerem parte do grupo de suporte ou informações financeiras se fizerem parte do grupo financeiro. Ou um ou outro, mas ambos podem ver os dados públicos. Lembre-se disso; veremos isso novamente em um instante, quando executarmos o notebook.

02:38 Então, tudo isso está sendo configurado aqui, e temos duas tabelas. Uma é uma tabela de fatos de clientes, que contém algumas informações armazenadas sobre um conjunto de clientes de demonstração. Aqui temos apenas dois clientes: Acme e… Aqui estão eles: Acme e Globex Retail. Então, temos dois clientes que podemos consultar. Lembre-se disso também: mais adiante, no nosso exemplo, vamos perguntar sobre a Acme, então não queremos ver nada da

03:08 Globex. Também temos um conjunto de documentos de conhecimento que podemos consultar. Isso vai criar o nosso contexto. Então, com base na pergunta que você fizer, a consulta que executaremos será baseada na empresa sobre a qual estamos perguntando, no escopo que você pode ver — como público, financeiro ou suporte — e nas informações que você pode obter do documento. De volta ao notebook. Se eu voltar ao notebook, aqui está.

03:39 Configuramos tudo e, em seguida, você pode ver que estamos executando uma consulta aqui para uma busca. Basicamente, é uma busca vetorial, mas está simulada neste notebook para manter as coisas simples. Você pode ver que, como gerente ou proprietário principal, consigo ver todos os registros. Isso não é válido para Alice e Bob. Eles só podem ver subconjuntos desses registros. Então, como isso funciona? Estamos configurando mais detalhes aqui. Estamos configurando

04:09 o AI gateway, que tem as UDFs de entrada e de saída. Temos o filtro por função. Vamos dar uma olhada na pergunta que estamos fazendo. Neste exemplo, em que tenho todos os conjuntos de dados, esta é a pergunta que estamos fazendo. A busca consulta a busca vetorial para encontrar todos os documentos relacionados a essa pergunta. O importante é que estamos perguntando sobre a Acme e sobre o risco de renovação ou chamados de suporte em aberto. Agora, aqui embaixo, na

04:40 consulta por usuário, estamos usando um modelo de IA e, em seguida, o AI gateway para fazer a mesma pergunta a esse gateway, tanto como Alice quanto como Bob. Lembre-se de que Bob consegue ver os dados públicos, assim como Alice. Aqui está Alice com os dados públicos, e aqui está Bob com os dados públicos. Alice está no suporte, então pode ver informações de suporte, e Bob pode ver informações financeiras. Com os mesmos conjuntos de dados, a mesma entrada e os mesmos dois conjuntos de arquivos e tabelas, você pode

05:12 ver que os resultados retornados pelo agent são diferentes. Para Alice, recebemos respostas relacionadas ao domínio de suporte. Você pode ver que elas falam sobre o que pode ser feito aqui, por exemplo, o acompanhamento do runbook que discutimos no exemplo, além de outros detalhes. Você também pode ver, aqui embaixo, que as respostas de Bob são todas sobre finanças. Isso mostra que, com a mesma entrada

05:44 e filtros diferentes, com base na procedência e no usuário que executa a consulta, vemos dois resultados diferentes. Esse é o poder do Unity Catalog: filtrar os dados antes que cheguem ao agent e fornecer ao agent o contexto importante para o usuário que faz a pergunta — seja Bob, Alice ou eu. Assim, obtemos resultados completamente diferentes. Isso é importante e resolve o problema de forma holística. >> [música]

Transcrição original

[00:00] [music] >> Let’s look at this from a from an example. Uh you remember Alice and Bob. Alice and Bob are two different users seeing two different results when querying a model because it’s governed by Unity Catalog. What we have built here is a notebook that implements all of the example information that we just discussed. Don’t really get hung up on the details. This is a typical data

[00:31] engineering task. We created a notebook. We encoded all of our rules policies in this notebook and we can see the data that we have created. The important part is that this notebook sets up all of the Unity Catalog required governance controls and I’m going to show you these directly in the Explorer. So here in the Explorer you can see the catalog called governance demo and inside we set up an AI gateway. That AI gateway has been configured with

[01:03] a set of policies. Three of these policies are building ones. So we already ship with jailbreak, unsafe content, content, and sensitive data policies. But we also created two custom one that wire into UDFs that are managed by Unity Catalog. We have one that checks the model before a question is asked and we block specific export operations. You can see those functions here as well. So ask before external actions is here. Really just a function that checks

[01:36] the input and then returns a response that the agent can follow. The same for block bulk customer export. We are getting some input input input here in form of a parameters and then decide if this is right or not and then return the results that the AI gateway and the agent can react to. We also set up a a role filter. That role filter use a specific tag in Unity Catalog and the groups that

[02:07] the users are in to decide what roles they can see. Remember that I said that we have Bob and Alice. Bob is in finance and Alice is in support. So, you can see that both of them can see uh public uh data sets, but they can also public data. They can also see either support data if they are in the support group or they can see finance information if they are in the finance group. So, either or, but both can see public. Remember this, we will see this in a second also when we run the notebook.

[02:38] So, all of this is being set up here and we have two tables. One is a customer fact table which holds some information that we um have stored for a for a set of demo customers uh and those customers here have really just uh or we have just two customers here. Uh Acme and the Here we are. Acme and Globex Retail. So, we have two customers um that we can look at. Remember this again, we will ask for Acme later on as in our example, so we will don’t want to see anything from

[03:08] Globex. We also have a set of knowledge dogs that we can look at. This will build our um this will build our context. So, based on the question that you ask, uh the query that we will run is based on which company we are asking for and what scope you can see like public or finance or support and the information that you can get out of the document. Back to the notebook. So, if I switch back to the notebook, here it is.

[03:39] We set everything up and then you can see we are running a query here across uh a lookup. This is basically a vector search, but it’s emulated in this notebook um for simply uh simple uh yeah, for reasons of keeping it simple, um but you can see I can as a manager or I can see here as the main owner all of the records. That is wrong for Alice and Bob. They can only see subsets of this. So, how does that work? We’re setting up more details in here. We’re setting up

[04:09] the AI gateway, which has the incoming and outgoing UDFs. We have the role filter. So, let’s have a look at the question that we’re asking. So, in this example where I have all of the data sets, this is the question that we’re asking for. The lookup is really into the vector search, finding all documents related to this question. Important is we’re asking for Acme and we’re asking for renewal risk or open and open support issues. Now, down here in the

[04:40] per user query, we’re using now a there’s the AI model and then the AI gateway and ask the same question against that gateway both as Alice and as Bob. You remember that Bob can see both can see public. Here’s Alice with public and here’s Bob with public. And Alice is in support, so she can see support information and Bob can see finance. With the same data sets, the same input, the same two sets of data files that we have and tables that we have, you can

[05:12] see that the results the agent returns is different. For Alice, we get answers back that pertain to the support domain. You can see that it talks about what can be done here, for example, the the follow-up on the um the run book as we discussed in the example and other details. You can also see for Bob down here that his answers are all about finance. So, this shows you that with the same input

[05:44] but different filters based on the provenance based on the user running the query. We see see two different results. That is the power of Unity Catalog filtering the data before it hits the agent giving the agent the context that is that is important for the user asking the question either Bob or Alice or me and we get different results all together. So that is important and solves this problem holistically. >> [music]