Introdução aos aplicativos generativos AI em Databricks
Mosaic AI é uma plataforma que prioriza o código para criar , avaliar , implantar e monitorar aplicativos generativos AI (gen AI apps). Ele se integra a estruturas populares de código aberto e, ao mesmo tempo, acrescenta governança, observabilidade e ferramentas operacionais de nível empresarial, conhecidas coletivamente como LLMOps.
Suporte de código aberto no Mosaic AI
Mosaic AI complementa , mas não substitui, o código aberto gen AI biblioteca e os SDKs existentes, como o código aberto gen biblioteca:
- Inteligência artificial aberta
- LangChain
- Gráfico Lang
- AutoGen
- Índice LlamaM
- Tripulação AI
- Núcleo semântico
- Espião
Ao fornecer opções integradas de registro, monitoramento, infraestrutura robusta e implantação segura, a Mosaic AI garante que essas estruturas possam ser usadas para criar aplicativos de alta qualidade na escala AI para empresas. É importante ressaltar que, independentemente de o senhor criar e hospedar seu aplicativo gen AI em Databricks ou em outro lugar, ainda poderá aproveitar os recursos de avaliação e monitoramento do Mosaic AI. Para as equipes que preferem um controle mais granular e direto, o site Mosaic AI também oferece suporte a aplicativos AI personalizados criados desde o início usando apenas o site Python, sem necessidade de estrutura.
O que são aplicativos da geração AI?
Um aplicativo gen AI é um aplicativo que usa modelos generativos AI (como LLMs, modelos de geração de imagens e modelos de conversão de texto em fala) para criar novos resultados, automatizar tarefas complexas ou participar de interações inteligentes com base na entrada do usuário. Embora os aplicativos do gen AI possam usar vários modelos, este guia se concentra em aplicativos alimentados por LLMs.
Embora os aplicativos da LLMgeração possam ser integrados de diferentes maneiras, eles geralmente se enquadram em um dos dois padrões de arquitetura:AI
Tipo 1: LLM monolítico + prompt | Tipo 2 (recomendado): sistema de agentes | |
---|---|---|
O que é isso? | Um único LLM com prompts cuidadosamente elaborados. | Múltiplos componentes que interagem (chamadas LLM, recuperadores, chamadas API) orquestrados em conjunto - variando de cadeias simples a sistemas multiagentes sofisticados. |
Exemplo de caso de uso | Classificação de conteúdo: Uso de um LLM para categorizar os tíquetes de suporte ao cliente em tópicos predefinidos. | Assistente inteligente: combinando a recuperação de documentos, várias chamadas LLM e APIs externas para pesquisar, analisar e gerar relatórios abrangentes. |
Melhor para | Tarefa simples e focada, protótipos rápidos e prompts claros e bem definidos. | Fluxo de trabalho complexo, tarefa que requer múltiplas capacidades e tarefa que requer reflexão sobre etapas anteriores. |
Principais benefícios | Implementação mais simples, desenvolvimento mais rápido e menor complexidade operacional. | Mais confiável e fácil de manter, melhor controle e flexibilidade, mais facilidade de testar e verificar e otimização em nível de componente. |
Limitações | Menos flexível, mais difícil de otimizar e funcionalidade limitada. | Implementação mais complexa, configuração inicial mais completa e necessidade de coordenação de componentes. |
Para a maioria dos casos de uso corporativo, a Databricks recomenda um sistema de agente. Ao dividir os sistemas em componentes menores e bem definidos, os desenvolvedores podem gerenciar melhor a complexidade e, ao mesmo tempo, manter os altos níveis de controle e compliance necessários para os aplicativos corporativos.
Mosaic AI fornece ferramentas e recursos que funcionam tanto para sistemas monolíticos quanto para sistemas de agentes, e o restante desta documentação aborda a criação de ambos os tipos de aplicativos do gen AI.
Para ler mais sobre a teoria por trás dos sistemas de agentes versus modelos monolíticos, consulte a postagem no blog dos fundadores do Databricks:
- AI sistemas de agentes: Engenharia modular para aplicativos empresariais confiáveis AI
- A mudança de modelos para sistemas compostos AI
O que é um sistema de agentes?
Um sistema de agente é um sistema orientado porAIque pode perceber, decidir e agir de forma autônoma em um ambiente para atingir metas . Diferentemente de um LLM autônomo que só produz um resultado quando solicitado, um sistema de agente possui um grau de agência . Os modernos sistemas de agentes baseados em LLMusam um LLM como o "cérebro" para interpretar o contexto, raciocinar sobre o que fazer em seguida e emitir ações como chamadas para API, mecanismos de recuperação e invocações de ferramentas para realizar a tarefa.
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.
- Motivos sobre como proceder: quais dados buscar, qual lógica aplicar, quais ferramentas chamar ou se deve solicitar mais informações do usuário.
- Executa um plano e, possivelmente, chama várias ferramentas ou delegados para subagentes.
- Retorna uma resposta ou solicita esclarecimentos adicionais ao usuário.
Ao fazer a ponte entre a inteligência geral (os recursos pré-treinados do LLM) e a inteligência de dados (o conhecimento especializado e APIs específico de sua empresa), os sistemas de agentes possibilitam casos de uso empresarial de alto impacto, como fluxos avançados de atendimento ao cliente, bots analíticos ricos em dados e orquestração de vários agentes para tarefas operacionais complexas.
O que um sistema de agentes pode fazer?
Um sistema de agentes pode:
- Planeje ações de forma dinâmica
- Transferir 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
Enquanto um site autônomo LLM poderia gerar um itinerário de viagem quando solicitado, um sistema de agentes poderia recuperar as informações do cliente e realmente reservar os voos utilizando ferramentas e o site APIs de forma autônoma. Ao combinar a "inteligência geral" do LLM com a " inteligência de dados " (dados específicos do domínio ou APIs), os sistemas de agentes podem lidar com casos de uso corporativo sofisticados que um único modelo estático teria dificuldade de resolver.
A agência é um continuum; quanto mais liberdade você fornece aos modelos para controlar o comportamento do sistema, mais agente o aplicativo se torna. Na prática, a maioria dos sistemas de produção restringe cuidadosamente a autonomia do agente para garantir compliance e previsibilidade, por exemplo, exigindo aprovação humana para ações arriscadas.
Inteligência geral versus inteligência de dados
- Inteligência geral: Refere-se ao que o LLM sabe inerentemente a partir de um amplo pré-treinamento em textos diversos. Isso é útil para fluência linguística e raciocínio geral.
- Inteligência de dados: Refere-se aos dados e APIs específicos do domínio de sua organização. Isso pode incluir registros de clientes, informações sobre produtos, bases de conhecimento ou documentos que reflitam seu ambiente de negócios exclusivo.
Os sistemas de agentes combinam essas duas perspectivas: Eles começam com um conhecimento amplo e genérico do LLMe, em seguida, trazem dados reais ou específicos do domínio para responder a perguntas detalhadas ou realizar ações especializadas.
Exemplo de sistema de agentes
Considere um cenário de call center entre um cliente e um agente do site AI:
O cliente faz uma solicitação: “Você pode me ajudar a devolver meu último pedido?”
-
Motivo e plano : dada a intenção da consulta, o agente “planeja ": “Consulte o pedido recente do usuário e confira 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 o pedido se encaixa na janela de devolução.
- Opcional: o agente verifica uma regra adicional: se o item for de uma determinada categoria ou estiver fora da janela normal de devolução, passe para um humano .
-
Ação : O agente aciona o processo de devolução e gera um rótulo de remessa.
-
Motivo : o agente gera uma resposta para o cliente.
O agente do AI responde ao cliente: "Pronto! Aqui está o seu rótulo de remessa"
Em um contexto de call center humano , essas etapas são naturais. Em um contexto de 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 tecnologia LLM, comece de forma simples. Uma solução que leva o senhor a 80% do caminho geralmente envolve uma única chamada para LLM, aprimorada por recuperação ou prompts cuidadosamente projetados. Introduza comportamentos agênticos mais complexos (como a chamada de ferramentas dinâmicas ou a orquestração de vários agentes) quando realmente precisar deles para obter maior flexibilidade ou tomar decisões baseadas em modelos. As cadeias determinísticas oferecem fluxos previsíveis e baseados em regras para tarefas bem definidas, enquanto as abordagens mais agênticas têm o custo de complexidade extra e possível latência.
O senhor pode encontrar vários níveis de complexidade ao criar sistemas AI:
-
LLMs (LLM + Prompt)
- Um LLM autônomo que responde a solicitações de texto usando seu conhecimento pré-treinado.
- Bom para consultas simples ou genéricas, mas geralmente desconectado dos dados comerciais do mundo real.
-
Sistema de agente codificado (“Chain”)
- O senhor orquestra usando etapas determinísticas e predefinidas (por exemplo, sempre recupera de um armazenamento de vetores, 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 de chamada de ferramentas
- O LLM seleciona e chama automaticamente as "ferramentas" em tempo de execução.
- Essa abordagem oferece suporte a decisões dinâmicas e sensíveis ao contexto sobre quais ferramentas devem ser invocadas, como um banco de dados de 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 AI supervisor, às vezes baseado em regras) decide qual agente invocar em cada etapa.
- Os agentes podem passar a tarefa uns para os outros, preservando o fluxo geral da conversa.
Mosaic AI O Agent Framework é agnóstico em relação a esses padrões, o que facilita o início simples e a evolução para níveis mais altos de automação e autonomia à medida que os requisitos do seu aplicativo aumentam.
Ferramentas em um sistema de agentes
No contexto de um sistema de agentes, as ferramentas são funções de interação única que um LLM pode invocar para realizar uma tarefa bem definida. O modelo AI normalmente gera parâmetros para cada chamada de ferramenta, e a ferramenta fornece uma interação direta de entrada e 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 vetorial: consulte um índice vetorial para localizar os trechos de texto mais relevantes.
- Ferramentas de recuperação estruturada: Consulte as tabelas do site Delta ou use o site APIs para recuperar informações estruturadas.
- Ferramenta de pesquisa na Web: Pesquise na Internet ou em um corpus interno da Web.
- Modelos clássicos de ML: Ferramentas que invocam modelos de ML para realizar previsões de classificação ou regressão, por exemplo, um modelo scikit-learn ou XGBoost.
- Geração de modelos 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
- API Ferramenta de chamada: Ponto de extremidade do CRM, serviço interno ou outras integrações de terceiros para tarefas como "atualizar status de envio".
- Ferramenta de execução de código: execução de código fornecido pelo usuário (ou, em alguns casos, LLM-generated) em um sandbox.
- Integração com o Slack ou email: Publica uma mensagem ou envia uma notificação.
-
Ferramentas que executam a lógica ou realizam uma tarefa específica
- Ferramenta de código executor: execução de código fornecido pelo usuário ou LLM-gerado em um sandbox, por exemplo, Python scripts.
Para saber mais sobre as ferramentas do agente Mosaic AI, consulte AI agent tools.
principais características das ferramentas
Ferramentas em um sistema de agentes:
- Realizar operações únicas e bem definidas.
- Não mantenha um contexto contínuo além dessa invocação.
- Permitir que o sistema do agente acesse dados ou serviços externos que o LLM não pode acessar diretamente.
Tratamento de erros e segurança da ferramenta
Como cada chamada de ferramenta é uma operação externa, por exemplo, chamar um API, o sistema deve lidar com falhas de forma elegante, como time-outs, respostas malformadas de tratamento de erros ou entradas inválidas. Na produção, o senhor pode limitar o número de chamadas de ferramenta permitidas, ter uma resposta de fallback se todas as chamadas de ferramenta falharem e aplicar guardrails para garantir que o sistema do agente não tente repetidamente a mesma ação de falha.