Introdução a aplicativos de IA generativa no Databricks
O Mosaic AI é uma plataforma de código para construção de, avaliação de, implantação dee monitoramento aplicativos de IA generativa (aplicativos de IA de geração). Ele se integra com estruturas populares de código aberto, enquanto adiciona governança, observabilidade e ferramentas operacionais de nível empresarial, conhecidas coletivamente como LLMOps.
Suporte de código aberto em Mosaic AI
O Mosaic AI complementa, mas não substitui bibliotecas e SDKs de IA de código aberto existentes, como:
- OpenAI
- LangChain
- LangGraph
- AutoGen
- LlamaIndex
- CrewAI
- Kernel semântico
- DSPy
Ao fornecer registro interno, monitoramento, infraestrutura robusta e opções de implantação seguras, a Mosaic AI garante que essas estruturas possam ser usadas para criar aplicativos de IA de geração de alta qualidade em escala para empresas. É importante ressaltar que, quer você crie e hospede seu aplicativo de IA de geração no Databricks ou em outro lugar, você ainda pode aproveitar os recursos de avaliação e monitoramento do Mosaic AI. Para equipes que preferem um controle mais granular e direto, o Mosaic AI também suporta aplicativos de IA de geração personalizada criados do zero usando apenas Python - sem necessidade de estrutura.
O que são aplicativos de IA de geração?
Um aplicativo de IA de geração é um aplicativo que usa modelos de IA generativos (como LLMs, modelos de geração de imagem e modelos de conversão de texto em fala) para criar novas saídas, automatizar tarefas complexas ou se envolver em interações inteligentes com base na entrada do usuário. Embora os aplicativos de IA da geração possam usar vários modelos, este guia se concentra em aplicativos alimentados por LLMs.
Embora os aplicativos de IA de geração baseados em LLM possam ser criados de maneiras diferentes, eles geralmente se enquadram em um dos dois padrões de arquitetura:
Tipo 1: LLM monolítico + prompt | Tipo 2 (recomendado): Sistema de agentes | |
---|---|---|
O que é? | Um único LLM com prompts cuidadosamente desenhados. | Vários componentes que interagem (chamadas LLM, ferramentas de recuperação, chamadas API) orquestrados em conjunto - variando de cadeias simples a sofisticados sistemas multi-agentes. |
Exemplo de caso de uso | Classificação de conteúdo: Usando um LLM para categorizar tíquetes de suporte ao cliente em tópicos predefinidos. | Assistente inteligente: Combinando recuperação de documentos, várias chamadas LLM e APIs externas para pesquisar, analisar e gerar relatórios abrangentes. |
Melhor para | Tarefas simples e focadas, protótipos rápidos e prompts claros e bem definidos. | Fluxos de trabalho complexos, tarefas que exigem vários recursos e tarefas que exigem reflexão sobre as etapas anteriores. |
Principais benefícios | Implementação mais simples, desenvolvimento mais rápido e menor complexidade operacional. | Mais confiável e sustentável, melhor controle e flexibilidade, mais fácil de testar e verificar e otimização no nível do componente. |
Limitações | Menos flexível, mais difícil de otimizar e funcionalidade limitada. | Implementação mais complexa, configuração mais inicial e necessidade de coordenação de componentes. |
Para a maioria dos casos de uso corporativos, a Databricks recomenda um sistema de agente . Ao dividir os sistemas em componentes menores e bem definidos, os desenvolvedores podem gerenciar melhor a complexidade, mantendo altos níveis de controle e conformidade necessários para aplicativos corporativos.
O Mosaic AI fornece ferramentas e recursos que funcionam tanto para sistemas monolíticos quanto para sistemas de agentes, e o restante desta documentação abrange a criação de ambos os tipos de aplicativos de IA de geração.
Para ler mais sobre a teoria por trás dos sistemas de agentes versus modelos monolíticos, ver as postagens do blog dos fundadores da Databricks:
- sistemas de agentes de IA: Engenharia modular para aplicações de IA empresariais confiáveis
- A mudança de modelos para sistemas compostos de IA
O que é um sistema de agentes?
Um sistema de agente é um sistema orientado por IA que pode perceber, decidir e agir de forma autônoma em um ambiente para atingir objetivos. Ao contrário de um LLM autónomo que apenas gera um resultado quando solicitado, um sistema de agente possui um grau de capacidade de ação. Os modernos sistemas de agentes baseados em LLM usam um LLM como o "cérebro" para interpretar o contexto, raciocinar sobre o que fazer a seguir e emitir ações como chamadas de API, mecanismos de recuperação e invocações de ferramentas para realizar tarefas.
Um sistema de agente é simplesmente um sistema com um LLM em seu núcleo. Esse sistema:
- Recebe solicitações de usuários ou mensagens de outro agente.
- Razões sobre como proceder: quais dados buscar, qual lógica aplicar, quais ferramentas chamar ou se deve solicitar mais entrada do usuário.
- Executa um plano e, possivelmente, chama várias ferramentas ou delega a subagentes.
- Retorna uma resposta ou solicita esclarecimentos adicionais ao usuário.
Ao unir de inteligência geral (os recursos pré-treinados do LLM) e de inteligência de dados (o conhecimento especializado e APIs específicas para o seu negócio), os sistemas de agentes permitem casos de uso corporativos de alto impacto, como fluxos avançados de atendimento ao cliente, bots de análise ricos em dados e orquestração de vários agentes para tarefas operacionais complexas.
O que um sistema de agente pode fazer?
Um sistema de agente pode:
- Planeje ações dinamicamente
- Transportar o estado de uma etapa para a seguinte
- Ajustar a sua estratégia com base em novas informações, sem intervenção humana contínua
Quando um LLM autônomo pode gerar um itinerário de viagem quando solicitado, um sistema de agente pode recuperar informações do cliente e realmente reservar os voos aproveitando ferramentas e APIs de forma autônoma. Ao combinar "inteligência geral" do LLM com "inteligência de dados" (dados específicos de domínio ou APIs), os sistemas de agentes podem lidar com casos de uso empresariais sofisticados que um único modelo estático teria dificuldade em resolver.
A agência é um contínuo; quanto mais liberdade se fornecer aos modelos para controlar o comportamento do sistema, mais autónomo o aplicativo se torna. Na prática, a maioria dos sistemas de produção restringe cuidadosamente a autonomia do agente para garantir conformidade e previsibilidade, por exemplo, exigindo aprovação humana para ações arriscadas.
Inteligência geral vs. inteligência de dados
- Inteligência geral: Refere-se ao que o LLM inerentemente sabe a partir de uma ampla pré-formação em textos diversos. Isto é útil para a fluência linguística e raciocínio geral.
- Inteligência de dados: Refere-se aos dados e APIs específicos do domínio da sua organização. Isso pode incluir registros de clientes, informações sobre produtos, bases de dados de conhecimento ou documentos que reflitam seu ambiente de negócios exclusivo.
Os sistemas de agentes combinam essas duas perspetivas: eles começam com o conhecimento amplo e genérico de um LLM e, em seguida, trazem dados em tempo real ou específicos do domínio para responder a perguntas detalhadas ou executar ações especializadas.
Exemplo de sistema de agente
Considere um cenário de call center entre um cliente e um agente de IA generativa.
O cliente faz um pedido: "Podem ajudar-me a devolver a minha última encomenda?"
- Motivo e plano: Dada a intenção da consulta, o agente "planeja": "Procure o pedido recente do usuário e verifique nossa política de devolução."
- Localizar informações (inteligência de dados): O agente consulta o banco de dados de pedidos para recuperar o pedido relevante e faz referência a um documento de política.
-
Motivo: O agente verifica se esse pedido se encaixa na janela de retorno.
- Opcional human-in-the-loop: O agente verifica uma regra adicional: se o item for de uma determinada categoria ou estiver fora da janela de retorno normal, escale para um humano.
- Ação: O agente aciona o processo de devolução e gera uma etiqueta de envio.
- Motivo: O agente gera uma resposta ao cliente.
O agente de IA responde ao cliente: "Feito! Aqui está a sua etiqueta de envio..."
Em um contexto humano de call center, essas etapas são de segunda natureza. No contexto de um sistema de agentes , o LLM "raciocina" enquanto o sistema recorre a ferramentas especializadas ou fontes de dados para preencher os detalhes.
Níveis de complexidade: De LLMs a sistemas de agentes
Ao criar qualquer aplicativo com LLM, comece simples. Uma solução que lhe dá 80% do caminho geralmente envolve uma única chamada LLM aprimorada por recuperação ou prompts cuidadosamente projetados. Introduza comportamentos agenciais mais complexos (como chamada dinâmica de ferramentas ou orquestração de vários agentes) quando realmente precisar deles para uma melhor flexibilidade ou decisões baseadas em modelos. As cadeias determinísticas oferecem fluxos previsíveis e baseados em regras para tarefas bem definidas, enquanto abordagens mais agenticas têm o custo de complexidade extra e latência potencial.
Você pode encontrar vários níveis de complexidade ao criar sistemas de IA:
-
Modelos de Linguagem Grande (MLG + Prompt)
- Um LLM autónomo que responde a prompts de texto usando o seu conhecimento pré-treinado.
- Bom para consultas simples ou genéricas, mas muitas vezes desconectado de seus dados comerciais do mundo real.
-
Sistema de agente pré-definido ("Chain")
- Você orquestra usando etapas determinísticas e predefinidas (por exemplo, sempre recupera de um repositório vetorial, sempre combina o resultado com a pergunta do usuário e, em seguida, chama o LLM).
- A lógica é fixa e o LLM não decide qual ferramenta chamar em seguida.
-
Sistema de agente chamador de ferramentas
- O LLM seleciona e chama automaticamente "ferramentas" em tempo de execução.
- Essa abordagem oferece suporte a decisões dinâmicas e sensíveis ao contexto sobre quais ferramentas invocar, como um banco de dados do CRM ou uma API de postagem do Slack.
-
Sistemas multiagentes
- Vários agentes especializados, cada um com sua própria função ou domínio.
- Um coordenador (às vezes um supervisor de IA , às vezes baseado em regras) decide qual agente invocar em cada etapa.
- Os agentes podem entregar tarefas uns aos outros, preservando o fluxo geral de conversas.
Mosaic AI Agent Framework é independente desses padrões, tornando fácil começar de forma simples e evoluir para níveis mais altos de automação e autonomia à medida que os requisitos da sua aplicação crescem.
Ferramentas em um sistema de agente
No contexto de um sistema de agente, as ferramentas são funções de interação única que um LLM pode invocar para executar uma tarefa claramente definida. O modelo de IA normalmente gera parâmetros para cada chamada de ferramenta, e a ferramenta fornece uma interação direta de entrada-saída. Não há memória de várias voltas no lado da ferramenta.
Algumas categorias de ferramentas comuns incluem:
-
Ferramentas que recuperam ou analisam dados
- Ferramentas de recuperação de vetores: Consultar um índice vetorial para localizar os blocos de texto mais relevantes.
- Ferramentas de recuperação estruturada: Consultar tabelas Delta ou usar APIs para recuperar informações estruturadas.
- Ferramenta de pesquisa na Web: Pesquisa na Internet ou num corpus web interno.
- Modelos clássicos de ML: Ferramentas que invocam modelos de ML para executar previsões de classificação ou regressão, por exemplo, um modelo scikit-learn ou XGBoost.
- modelos Gen AI: Ferramentas que realizam geração especializada, como geração de código ou geração de imagem, e retornam os resultados.
-
Ferramentas que modificam o estado de um sistema externo
- ferramenta de chamada de API: pontos de extremidade do CRM, serviços internos ou outras integrações de terceiros para tarefas como "atualizar status de envio".
- Ferramenta de execução de código: Executa código fornecido pelo utilizador (ou, em alguns casos, gerado por LLM) num ambiente controlado.
- Slack ou integração de e-mail: Publica uma mensagem ou envia uma notificação.
-
Ferramentas que executam lógica ou realizam uma tarefa específica
- Ferramenta de execução de código: Executa código fornecido pelo utilizador ou gerado por LLM num ambiente isolado, por exemplo, scripts Python.
Para obter mais informações sobre as ferramentas de agente de IA do Mosaic, consulte ferramentas de agente de IA.
Principais características das ferramentas
Ferramentas em um sistema de agente:
- Execute uma única operação bem definida.
- Não mantenha um contexto contínuo além dessa invocação.
- Permita que o sistema do agente alcance dados ou serviços externos que o LLM não pode acessar diretamente.
Gestão de erros de ferramentas e segurança
Como cada chamada de ferramenta é uma operação externa, como, por exemplo, chamar uma API, o sistema deve lidar com falhas de forma elegante, tais como tempos de espera excedidos, respostas malformadas ou entradas inválidas. Na produção, pode limitar o número de chamadas de ferramenta permitidas, ter uma resposta de contingência se todas as chamadas de ferramenta falharem e aplicar limitações para garantir que o sistema do agente não tente repetidamente a mesma ação com falha.