Compartilhar via


Introdução aos aplicativos de IA generativos no Databricks

Mosaic AI oferece suporte a aplicativos de IA de geração simples e complexos, desde chatbots de RAG (Recuperação de Geração Aumentada) até agentes que solicitam ferramentas. Conheça os principais conceitos por trás de aplicativos de IA de geração e sistemas de agente, explore padrões de design comuns e obtenha instruções práticas para criar, avaliar e dimensionar aplicativos de IA de geração.

Conceitos de aplicativos de IA generativa

Familiarize-se com os conceitos de aplicativo de IA de geração fundamental.

Saiba como a IA do Mosaico aborda os principais desafios durante o desenvolvimento de IA de geração.

Tente criar aplicativos de IA de geração com a IA do Mosaico

Comece com os seguintes tutoriais de notebook.

Quando estiver pronto para obter mais complexidade, consulte os guias e tutoriais avançados:

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 de geração possam usar vários modelos, este guia se concentra em aplicativos alimentados por LLM.

Embora os aplicativos de IA generativa impulsionados por LLM possam ser criados de maneiras diferentes, geralmente se enquadram em uma de duas arquiteturas:

Tipo 1: LLM monolítico + prompt Tipo 2 (recomendado): sistema de agente
O que é isso? Uma única LLM com prompts cuidadosamente projetados. Vários componentes interativos (chamadas LLM, recuperadores, chamadas à API) orquestrados juntos – que vão desde cadeias simples até sistemas multiagentes sofisticados.
Exemplo de caso de uso Classificação de conteúdo: Usando uma 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.
Mais adequado 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 mantenedível, melhor controle e flexibilidade, mais fácil de testar e verificar e otimização no nível do componente.
Limitações Funcionalidades menos flexíveis, mais difíceis de otimizar e limitadas. Implementação mais complexa, configuração mais inicial e precisa de coordenação de componentes.

Para a maioria dos casos de uso corporativo, o Databricks recomenda um sistema de agente. Ao dividir 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 empresariais.

A IA do Mosaico tem ferramentas e funcionalidades que funcionam para sistemas monolíticos e sistemas de agente, e o restante desta documentação aborda a criação de ambos os tipos de aplicativos de IA de geração.

Para ler mais sobre a teoria por trás de sistemas de agente versus modelos monolíticos, consulte postagens no blog dos fundadores do Databricks:

O que é um sistema de agente?

Um sistema de agente é um sistema controlado por IA que pode perceber, decidir e agir de forma autônoma em um ambiente para alcançar metas. Ao contrário de uma LLM autônoma que só produz uma saída quando solicitada, um sistema de agentes possui um grau de agência. Os sistemas modernos de agentes baseados em LLM usam uma 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 uso de ferramentas para realizar tarefas.

Um sistema de agente é um sistema com uma LLM no seu núcleo. Esse sistema:

  1. Recebe solicitações ou mensagens de um usuário ou de outro agente.
  2. Motivos sobre como proceder: quais dados buscar, qual lógica aplicar, quais ferramentas chamar ou se deseja solicitar mais entradas do usuário.
  3. Executa um plano e chama possivelmente várias ferramentas ou delega para sub-agentes.
  4. Retorna uma resposta ou solicita ao usuário esclarecimentos adicionais.

Ao fazer a ponte de inteligência geral (os recursos pré-treinados da LLM) e a inteligência de dados (o conhecimento especializado e as APIs específicas para sua empresa), os sistemas de agente permitem casos de uso corporativo de alto impacto, como fluxos avançados de atendimento ao cliente, bots de análise avançadas de 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:

  • Planejar ações dinamicamente
  • Carregar o estado de uma etapa para a próxima
  • Ajustar sua estratégia com base em novas informações sem intervenção humana contínua

Quando um LLM autônomo pode produzir um itinerário de viagem quando solicitado, um sistema de agente pode recuperar informações do cliente e reservar os voos de forma autônoma aproveitando ferramentas e APIs. Combinando "inteligência geral" da LLM com "inteligência de dados" (dados específicos do domínio ou APIs), os sistemas de agente podem lidar com casos de uso corporativo sofisticados que um único modelo estático teria dificuldades para resolver.

A agência é um continuum; quanto mais liberdade você dá aos modelos para controlar o comportamento do sistema, mais agente se torna o aplicativo. Na prática, a maioria dos sistemas de produção restringe cuidadosamente a autonomia do agente para garantir a conformidade e a previsibilidade, por exemplo, exigindo aprovação humana para ações arriscadas.

Inteligência geral versus inteligência de dados

Diagrama comparando inteligência geral versus inteligência de dados.

  • Inteligência geral: Refere-se ao que o LLM inerentemente sabe de uma ampla pré-preparação em textos diversos. Isso é útil para fluência de linguagem 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 do produto, bases de dados de conhecimento ou documentos que refletem seu ambiente de negócios exclusivo.

Os sistemas de agente mesclam essas duas perspectivas: eles começam com o conhecimento amplo e genérico de uma LLM e, em seguida, trazem dados específicos de domínio ou em tempo real para responder a perguntas detalhadas ou executar ações especializadas.

Sistema de agente de exemplo

Fluxograma de interação do cliente com o aplicativo de IA generativa.

Considere o seguinte cenário de um call center entre um cliente e um agente de IA generativa:

O cliente faz uma solicitação: "Você pode me ajudar a retornar meu último pedido?"

  1. 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 retorno".
  2. Localizar informações (inteligência de dados): o agente consulta o banco de dados de pedidos para recuperar a ordem relevante e faz referência a um documento de política.
  3. Motivo: o agente verifica se essa ordem se encaixa na janela de retorno.
    • Human-in-the-loop opcional: O agente verifica uma regra adicional: se o item se enquadrar em uma determinada categoria ou estiver fora da janela de retorno normal, escalone para um humano.
  4. Ação: o agente dispara o processo de retorno e gera uma etiqueta de remessa.
  5. Motivo: o agente gera uma resposta ao cliente.

O agente de IA responde ao cliente: "Concluído! Aqui está sua etiqueta de remessa..."

Essas etapas são naturais em contexto de central de atendimento humano. Em um contexto de sistema de agente, o LLM "raciocina" enquanto o sistema solicita ferramentas especializadas ou fontes de dados para preencher as lacunas nos detalhes.

Ferramentas e fontes de dados que o sistema de agente usa.

Níveis de complexidade: de LLMs a sistemas de agentes

Você pode encontrar vários níveis de complexidade ao criar sistemas de IA.

  • LLMs (LLM + Prompt)

    • Uma LLM autônoma responde a prompts de texto com base no conhecimento de um vasto conjunto de dados de treinamento.
    • Bom para consultas simples ou genéricas, mas muitas vezes desconectado de seus dados de negócios do mundo real.

    LLM responde aos usuários

  • Sistema de agente codificado em código ("Cadeia")

    • Os desenvolvedores orquestram etapas determinísticas e predefinidas. Por exemplo, um aplicativo RAG pode sempre recuperar informações de um repositório de vetores com os resultados já combinados com o prompt do usuário.
    • A lógica é predefinida e a LLM não decide qual ferramenta chamar em seguida.

    Cadeias de ferramentas codificadas

  • Sistema de agente de chamada de ferramentas

    • O LLM decide qual ferramenta usar e quando usá-la em tempo de execução.
    • Essa abordagem dá suporte a decisões dinâmicas e com reconhecimento de contexto sobre quais ferramentas invocar, como um banco de dados CRM ou uma API de postagem do Slack.

    Os agentes de IA racionalizam um plano e executam-no com ferramentas.

  • Sistemas de vários agentes

    • 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 regra) decide qual agente invocar em cada etapa.
    • Os agentes podem entregar tarefas uns aos outros preservando o fluxo geral de conversa.

    Um coordenador gerencia vários agentes de IA.

Ao criar qualquer aplicativo com suporte a LLM, comece de maneira simples. Introduza comportamentos agente mais complexos quando você realmente precisar deles para obter melhor flexibilidade ou decisões orientadas por modelos. Cadeias determinísticas oferecem fluxos previsíveis e baseados em regras para tarefas bem definidas, enquanto abordagens mais autônomas têm o custo de maior complexidade e latência potencial.

O Mosaic AI Agent Framework é independente desses padrões, tornando mais fácil começar simples e evoluir para níveis mais altos de automação e autonomia à medida que seus requisitos de aplicativo aumentam.

Ferramentas em um sistema de agentes

No contexto de um sistema de agente, as ferramentas são funções de interação única que uma LLM pode invocar para realizar uma tarefa bem definida. O modelo de IA normalmente gera parâmetros para cada chamada de ferramenta e a ferramenta fornece uma interação direta entre entrada e saída. Não há memória para múltiplos turnos no lado da ferramenta.

Algumas categorias de ferramentas comuns incluem:

  • Ferramentas que recuperam ou analisam dados
    • Ferramentas de recuperação de vetor: Consulte um índice de vetor para localizar as partes de texto mais relevantes.
    • Ferramentas de recuperação estruturadas: Consulte tabelas Delta ou use APIs para recuperar informações estruturadas.
    • Ferramenta de pesquisa na Web: Pesquise na Internet ou em um web corpus interno.
    • Modelos clássicos de ML: Ferramentas que invocam modelos de ML para executar previsões de classificação ou regressão, como um modelo scikit-learn ou XGBoost.
    • Modelos de IA de geração: Ferramentas que executam geração especializada, como geração de código ou 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 o código fornecido pelo usuário (ou, em alguns casos, gerado por LLM) em uma área restrita.
    • Slack ou integração de email: Posta uma mensagem ou envia uma notificação.
  • Ferramentas que executam a lógica ou executam uma tarefa específica
    • Ferramenta executora de código: Executa código fornecido pelo usuário ou gerado por LLM em uma área restrita (sandbox), como scripts Python.

Para saber mais sobre as ferramentas do agente de IA do Mosaico, consulte as ferramentas do agente de IA.

Principais características das ferramentas

Ferramentas em um sistema de agente:

  • Execute uma única operação bem definida.
  • Não mantenha o contexto contínuo além dessa invocação.
  • Permitir que o sistema de agente alcance dados ou serviços externos que a LLM não pode acessar diretamente.

Tratamento e segurança de erros de ferramenta

Como cada chamada de ferramenta é uma operação externa, por exemplo, chamar uma API, o sistema deve lidar com falhas de forma adequada, tais como tempos limite, tratamento de erros de respostas malformadas ou entradas inválidas. Na produção, limite o número de chamadas de ferramenta permitidas, tenha uma resposta alternativa se todas as chamadas de ferramenta falharem e aplique medidas de proteção para garantir que o sistema de agente não tente repetidamente a mesma ação que falha.

Ver mais