O que é orquestração de LLMs?

Um homem sentado à mesa, estudando.

Autores

Vanna Winland

AI Advocate & Technology Writer

Joshua Noble

Data Scientist

A orquestração de LLMs ajuda a solicitar, encadear, gerenciar e monitorar grandes modelos de linguagem (LLMs). A orquestração de LLMs é orientada por frameworks de orquestração. Essas frameworks são ferramentas abrangentes que simplificam a construção e o gerenciamento de aplicações orientadas por LLMs.

LLMOps usam orquestração em uma ampla gama de aplicações, como geração de linguagem natural, tradução automática, tomada de decisões e chatbots. Como as organizações adotam a inteligência artificial para criar esses tipos de aplicações de IA generativa (gen AI), a orquestração eficiente de LLMs é crucial.

Por mais poderoso que seja o modelo de base de um LLM, os LLMs são limitados no que podem realizar sozinhos. Por exemplo, os LLMs não têm a capacidade de reter ou aprender novas informações em tempo real e têm dificuldade em resolver problemas em várias etapas porque são limitados no que podem reter do contexto.1 Além disso, a coordenação de vários LLMs pode rapidamente se tornar complexa ao lidar com as interfaces de programação de aplicativos (APIs) dos diferentes provedores de LLMs.

As framework de orquestração de LLMs compensam essas limitações ao simplificar os processos complexos de integração de engenharia de prompts, interação de APIs, recuperação de dados e gerenciamento de estado em conversas com modelos de linguagem.2

Novas frameworks de orquestração de LLMs estão sendo desenvolvidas e ganhando popularidade a cada dia. Algumas orquestrações de LLMs se especializam como frameworks de configuração ou frameworks de banco de dados, enquanto outras usam agentes de IA para colaborar na conclusão de tarefas ou metas.

Projeto 3D de bolas rolando em uma pista

As últimas notícias e insights sobre IA 


Descubra insights selecionados por especialistas e notícias sobre IA, nuvem e outros assuntos no boletim informativo semanal Think. 

Como as frameworks de orquestração de LLMs funcionam

Para entender como as frameworks de orquestração de LLMs funcionam, é útil entender onde a orquestração está na arquitetura de aplicações orientadas por LLMs.

A camada de orquestração

A camada de orquestração é a espinha dorsal da stack de aplicativos de LLMs. O orquestrador cria um fluxo de trabalho coerente ao gerenciar as interações entre as outras camadas da arquitetura de aplicações.3 Semelhante a um orquestrador de música, o orquestrador de LLMs delega e gerencia o fluxo de trabalho de cada componente técnico com base na composição da aplicação.

Esses componentes incluem interação entre LLMs, modelos de prompts, bancos de dados de vetores e agentes.4 A orquestração garante que cada componente de uma aplicação de IA generativa tenha um desempenho coeso, ao fornecer ferramentas e mecanismos para gerenciar o ciclo de vida dos LLMs de forma eficaz em várias aplicações e ambientes.

Tarefas de orquestração

As frameworks de orquestração simplificam tarefas complexas, incluindo encadeamento de prompts, interface com APIs externas, busca de dados contextuais de bancos de dados vetoriais e gerenciamento de memória em múltiplas interações com LLMs. Aqui está uma visão geral das tarefas operacionais normalmente usadas em orquestrações de LLMs:

Gerenciamento de cadeias de prompts

Engenharia de prompts é a prática de estruturar entradas de LLMs (prompts) para que as ferramentas de IA generativa produzam saídas otimizadas. As estruturas de orquestração fornecem modelos de prompts que incluem instruções, exemplos few shot e contexto específico, além de perguntas apropriadas para uma tarefa.5

Encadeamento refere-se a uma sequência de chamadas que conectam vários LLMs para combinar suas saídas para obter resultados mais sutis (também conhecido como encadeamento de prompts), uma ferramenta ou uma etapa de pré-processamento de dados.6

A camada de orquestração gerencia essas tarefas de prompts ao armazenar prompts em uma base de conhecimento ou biblioteca, onde pode pesquisar e recuperar facilmente dados de prompts. O orquestrador pode selecionar dinamicamente prompts da biblioteca com base em entradas em tempo real, contexto ou preferências do usuário. Além disso, pode sequenciar os prompts em uma ordem lógica para gerenciar os fluxos de conversas.

Os LLMs não têm a capacidade inerente de aprender continuamente e são limitados na compreensão contextual. Ao gerenciar os prompts, o orquestrador refina as saídas avaliando as respostas. 

Os LLMs também são incapazes de verificar os fatos por si mesmos, levando a alucinações se não forem gerenciados. O orquestrador pode verificar os fatos nas respostas e garantir que elas cumpram as diretrizes personalizadas. Se uma resposta ficar aquém, o orquestrador pode sinalizá-la para avaliação humana ou fazer sugestões alternativas, permitindo efetivamente que o LLM aprenda e melhore.7

Gerenciamento de recursos e desempenho de LLMs

A maioria das estruturas de orquestração de LLMs inclui alguma forma de LLMOps para monitoramento operacional. Esses recursos incluem a coleta de métricas de desempenho com base em testes de benchmark de LLMs . Essas métricas podem ser observadas por meio de dashboards que permitem aos usuários acompanhar as métricas de desempenho de LLMs em tempo real.

Outros recursos de LLMOps incluem ferramentas de diagnóstico para análise da causa raiz (RCA), reduzindo o tempo necessário para depuração.

Gerenciamento e pré-processamento de dados

O orquestrador facilita o acesso a dados e a recuperação de fontes identificadas usando conectores ou APIs adequados. Pré-processamento refere-se à conversão de dados "brutos" de várias fontes em um formato adequado para o LLM. Quanto maior for uma coleta de dados, mais sofisticado deve ser o mecanismo de dados que a analisa. O pré-processamento garante que os dados sejam adaptados aos requisitos impostos por cada algoritmo de mineração de dados.8 Os orquestradores podem facilitar o pré-processamento ao ajustar e refinar os dados para torná-los mais valiosos.

Integração e interação com LLMs

O orquestrador inicia o LLM para executar a tarefa atribuída. Após a conclusão do processamento, o orquestrador recebe a saída do modelo e integra todos os mecanismos de feedback para avaliar sua qualidade geral e entregá-la ao destino apropriado.

O orquestrador contém armazenamentos de memória que atuam como uma base de conhecimento para melhorar as saídas e interações da LLM e fornecer compreensão contextual. Ao manipular e armazenar mensagens ou entradas anteriores, o orquestrador acumula conhecimento de longo prazo que fornece respostas mais precisas com base em interações anteriores.9

O orquestrador é responsável por facilitar a implementação das funcionalidades de observabilidade do LLM e das frameworks de proteção. Do ponto de vista do LLMOps, os LLMs que funcionam sem esses recursos correm o risco de produzir resultados equivocados e correr riscos de segurança com base nas capacidades limitadas dos LLMs que não estão altamente ajustados.

AI Academy

Por que os modelos de base são uma mudança de paradigma para a IA

Aprenda sobre uma nova classe de modelos de IA flexíveis e reutilizáveis que podem liberar novas receitas, reduzir custos e aumentar a produtividade, e utilize o nosso guia para se aprofundar.

Benefícios da orquestração de LLMs

As frameworks de orquestração de LLMs fornecem o gerenciamento e a otimização necessários para simplificar as interações e os fluxos de trabalho de LLMs para aprimorar os LLMOps.

  • Escalabilidade: utilização ideal de recursos pela capacitação para escalonar para cima ou para baixo, dependendo da demanda. 
  • Gerenciamento de recursos: as frameworks gerenciam recursos como CPU, GPU, memória e armazenamento, alocando recursos de forma dinâmica com base na carga de trabalho.
  • Automação de fluxos de trabalho: permite automatizar fluxos de trabalho complexos que envolvem LLMs, como pré-processamento de dados, treinamento de modelo, inferência e pós-processamento. A simplificação das operações reduz o esforço manual e melhora a eficiência geral, liberando esses encargos dos desenvolvedores.
  • Balanceamento de carga: ao distribuir solicitações entre várias instâncias de LLMs, as frameworks evitam a sobrecarga de instâncias específicas e melhoram a confiabilidade geral do sistema e os tempos de resposta.
  • Tolerância a falhas: a maioria das frameworks inclui mecanismos para detectar falhas em instâncias de LLMs e redirecionar automaticamente o tráfego para instâncias íntegras, minimizando o downtime e mantendo a disponibilidade do serviço.
  • Controle de versões e atualizações: gerencie diferentes versões de LLMs e implemente atualizações sem distribuição.
  • Eficiência de custos: a orquestração eficaz pode otimizar os custos ao alocar recursos dinamicamente com base na demanda. 
  • Segurança e conformidade: o controle e o monitoramento centralizados em todas as instâncias de LLMs garantem o cumprimento das normas regulatórias. 
  • Integração com outros serviços: promove um ecossistema coesivo ao apoiar a integração com outros serviços, como armazenamento de dados, registro, monitoramento e análise de dados.
  • Barreiras técnicas reduzidas: permite a implementação com equipes existentes, sem a necessidade de especialistas em IA. Estão sendo criadas ferramentas criadas com base em frameworks para facilitar o uso. Por exemplo, o LangFlow é uma IU gráfica (GUI) para o LangChain.10

Escolhendo a framework de orquestração de LLMs correta

Os desenvolvedores de aplicações têm a opção de adotar as soluções emergentes ou montar suas próprias soluções a partir do zero. A escolha da framework de orquestração de LLMs correta requer planejamento e estratégia cuidadosos.

Coisas a considerar antes de escolher uma framework de orquestração de LLMs: 

Usabilidade

Verifique a documentação das APIs da framework e certifique-se de que ela seja útil e permita que os desenvolvedores comecem a trabalhar com facilidade. Além disso, verifique os recursos da comunidade da framework para avaliar o tipo de suporte para solução de problemas oferecido.

Considerações de custos

Avalie as implicações de custo de adotar diferentes frameworks. Muitas frameworks de orquestração de LLMs são de código aberto com uma opção corporativa paga. Certifique-se de que o modelo de preços funcione não apenas com o investimento inicial, mas também com despesas contínuas, como licenças, atualizações e serviços de suporte. Uma framework econômica oferece um equilíbrio entre o preço e as funcionalidades que oferece.

Considerações de segurança

Ao escolher o LLM certo, verifique se há funcionalidades de segurança, como criptografia, controles de acesso e registros de auditoria, que fornecem segurança de dados e ajudam a proteger seus dados e a cumprir as regulamentações de privacidade relevantes.

Ferramentas de monitoramento e gerenciamento de desempenho

Informe-se sobre as ferramentas de monitoramento e gerenciamento. Elas incluem funcionalidades para rastrear métricas, como tempos de resposta, precisão e utilização de recursos. 

Frameworks de orquestração de LLMs

Aqui estão algumas frameworks de orquestração conhecidas e emergentes:

IBM watsonx Orchestrate™

O IBM watsonx Orchestrate usa processamento de linguagem natural (NLP) para acessar uma ampla variedade de habilidades de aprendizado de máquina. A framework da IBM consiste em milhares de aplicativos e habilidades pré-construídos, incluindo um construtor de assistentes de IA e um estúdio de habilidades. 

Os casos de uso incluem ajudar os departamentos de recursos humanos, dando às equipes as ferramentas necessárias para integrar e apoiar novas contratações e impulsionar as equipes de compras e vendas.

LangChain

Uma framework baseada em Python de código aberto para a criação de aplicações de LLMs. O LangChain é composto por várias bibliotecas de código aberto que oferecem uma interface flexível com os principais componentes de aplicações de LLMs, como modelos de incorporação, LLMs, armazenamentos de vetores, recuperadores e muito mais.11

Casos de uso de ponta a ponta comuns do LangChain incluem perguntas e respostas da cadeia e agente em um SQL Database, chatbots, extração, análise de consultas, sumarização, simulações de agentes, agentes autônomos e muito mais.12

AutoGen

A framework de conversação multiagente de código aberto da Microsoft oferece uma abstração de alto nível dos modelos de base. O AutoGen é uma framework agêntica, o que significa que usa vários agentes para conversar e resolver tarefas. Suas principais funcionalidades incluem agentes de IA personalizáveis, que se envolvem em conversas multiagentes com padrões flexíveis para criar uma ampla gama de aplicações de LLMs.13

As implementações do AutoGen em aplicativos baseados em LLMs incluem chatbots de tutoria de matemática, xadrez conversacional, tomada de decisões, chat dinâmico em grupo e programação multiagentes.14 O AutoGen oferece monitoramento e análise de dados de reprodução para depuração por meio do AgentOps.15

LlamaIndex

O LlamaIndex fornece as ferramentas para a criação de aplicações de LLMs com aumento de contexto. Isso inclui ferramentas de integração de dados, como conectores de dados, para processar dados de mais de 160 fontes e formatos.16 O LlamaIndex também inclui um pacote de módulos para avaliar o desempenho de aplicações de LLMs.

Os muitos casos de uso populares do LlamaIndex incluem aplicações de perguntas e respostas (geração aumentada de recuperação, também conhecida como RAG), chatbots, entendimento de documentos e extração de dados, além de modelos de ajuste fino com base nos dados para melhorar o desempenho.17

Haystack

O Haystack é uma framework em Python de código aberto construída com dois conceitos principais para criar sistemas de IA de geração de ponta a ponta personalizados: componentes e pipelines. O Haystack tem parcerias com muitos provedores de LLMs, bancos de dados vetoriais e ferramentas de IA, que tornam as ferramentas para construir com base nele abrangentes e flexíveis.18

Os casos de uso comuns oferecidos pelo Haystack incluem sistemas de pesquisa semântica, extração de informações e respostas a perguntas no estilo FAQ.19

crewAI

O crewAI é uma framework multiagentes de código aberto desenvolvido com base no LangChain. Agentes de IA autônomos são reunidos em equipes para realizar fluxos de trabalho e tarefas relacionados a aplicações de LLMs.20 O crewAI oferece uma versão corporativa chamada crewAI+. 

As aplicações para iniciantes e usuários mais técnicos incluem geração de páginas de destino, análise de estoque e conexão. O crewAI usa o AgentOps para fornecer monitoramento e métricas para os agentes.21

O futuro da orquestração de LLMs

As frameworks de orquestração de LLMs continuam a amadurecer à medida que as aplicações de IA generativa avançam, simplificando os fluxos de trabalho de LLMOps para mais soluções de inteligência artificial.

As frameworks de orquestração fornecem as ferramentas e a estrutura necessárias para que ums aplicação de LLMs obtenha o máximo de seus modelos. As frameworks futuras podem usar agentes de IA e sistemas multiagentes para facilitar a automação inteligente.

Padrões em frameworks de orquestração emergentes sugerem que a construção de arquiteturas mais complexas, como sistemas multiagentes capazes de integração para implementar funcionalidades, oferece aos agentes as habilidades necessárias para realizar fluxos de trabalho autônomos.

A usabilidade também está se tornando uma prioridade para plataformas de orquestração. À medida que o mercado amadurece, serão desenvolvidas mais ferramentas com foco na experiência do usuário. Essa abordagem também reduz as barreiras técnicas no uso dessas frameworks. Algumas frameworks de orquestração, como o IBM watsonx Orchestrate, aproveitam uma interface de linguagem natural para facilitar o engajamento e a usabilidade.

Gerenciar a orquestração de LLMs é uma tarefa complexa, embora a orquestração seja fundamental para escalonar e automatizar fluxos de trabalho orientados por LLMs.

Soluções relacionadas
Modelos de base

Explore a biblioteca de modelos de base da IBM no portfólio do watsonx para escalar a IA generativa com confiança na sua empresa.

Conheça o watsonx.ai
Soluções de inteligência artificial

Use a IA a serviço da sua empresa com a experiência e o portfólio de soluções líder do setor da IBM à sua disposição.

Explore as soluções de IA
Consultoria e serviços em IA

Reinvente os fluxos de trabalho e as operações críticas adicionando IA para maximizar experiências, tomadas de decisão em tempo real e valor comercial.

Explore os serviços de IA
Dê o próximo passo

Explore a biblioteca da IBM de modelos de base no portfólio do IBM® watsonx para escalar a IA generativa para os seus negócios com confiança.

Explore o watsonx.ai Explore as soluções de IA
Notas de rodapé

1 Andrei Kucharavy, “Fundamental Limitations of Generative LLMS,” SpringerLink, 1 de janeiro de 1970, https://link.springer.com/chapter/10.1007/978-3-031-54827-7_5.

2 Anna Vyshnevska, “LLM Orchestration for Competitive Business Advantage: Tools & Frameworks,” Master of Code Global, 26 de junho de 2024. https://masterofcode.com/blog/llm-orchestration.

3 Matt Bornstein, Rajko Radovanovic, “Emerging Architectures for LLM Applications,” Andreessen Horowitz, 8 de maio de 2024. https://a16z.com/emerging-architectures-for-llm-applications/

4 Vyshnevska, “LLM Orchestration for Competitive Business.” 

5 “Quick Reference,” LangChain, https://python.langchain.com/v0.1/docs/modules/model_io/prompts/quick_start/

6 “Chains,” LangChain, https://python.langchain.com/v0.1/docs/modules/chains/.

7 Manish, “Compounding GenAI Success.”

8 Salvador Garcia e outros, “Big Data Preprocessing: Methods and Prospects - Big Data Analytics,” SpringerLink, 1 de novembro de 2016, https://link.springer.com/article/10.1186/s41044-016-0014-0.

9 Manish, “Compounding GenAI Success.”

10 “Create Your AI App!” Langflow, https://www.langflow.org/.

11 “Conceptual Guide,” LangChain, https://python.langchain.com/v0.2/docs/concepts/.

12 “Use Cases,” LangChain, https://js.langchain.com/v0.1/docs/use_cases/.

13 “Getting Started: Autogen,” AutoGen RSS, https://microsoft.github.io/autogen/docs/Getting-Started/.

14 “Multi-Agent Conversation Framework: Autogen,” AutoGen RSS, https://microsoft.github.io/autogen/docs/Use-Cases/agent_chat/#diverse-applications-implemented-with-autogen.

15 “AgentOps,” AgentOps, https://www.agentops.ai/?=autogen.

16 “Loading Data (Ingestion),” LlamaIndex, https://docs.llamaindex.ai/en/stable/understanding/loading/loading/.

17 “Use Cases,” LangChain, https://js.langchain.com/v0.1/docs/use_cases/.

18 “What Is Haystack?” Haystack, https://haystack.deepset.ai/overview/intro.

19 “Use Cases,” Haystack, https://haystack.deepset.ai/overview/use-cases.

20 “Ai Agents Forreal Use Cases,” crewAI, https://www.crewai.com/.

21 crewAI, Inc. “Agent Monitoring with AgentOps,” crewAI, https://docs.crewai.com/introduction#agentops.