L'orchestrazione degli LLM aiuta a gestire, concatenare, coordinare e monitorare i modelli linguistici di grandi dimensioni (LLM). L'orchestrazione degli LLM viene effettuata tramite i framework di orchestrazione. Questi framework sono strumenti completi che semplificano la creazione e la gestione di applicazioni basate su LLM.
LLMOps utilizza l'orchestrazione in un'ampia gamma di applicazioni, come la generazione di linguaggio naturale, la traduzione automatica, i processi decisionali e i chatbot. Poiché le organizzazioni adottano l'intelligenza artificiale per creare questo tipo di applicazioni di AI generativa (gen AI), è fondamentale attuare un'orchestrazione degli LLM efficiente.
Per quanto potente sia il foundation model di un LLM, gli LLM hanno dei limiti intrinseci quando operano autonomamente. Ad esempio, gli LLM non hanno la capacità di conservare o apprendere nuove informazioni in tempo reale e faticano a completare problemi in più fasi perché sono limitati dalla quantità di contesto che sono in grado di memorizzare.1 Inoltre, coordinare numerosi LLM può diventare rapidamente complesso quando si deve interagire con le application programming interface (API) dei diversi provider di LLM.
I framework di orchestrazione degli LLM compensano questi limiti semplificando i complessi processi di integrazione del prompt engineering, dell'interazione API, del recupero dei dati e della gestione dello stato attraverso le conversazioni con i modelli linguistici.2
Ogni giorno vengono sviluppati e guadagnano popolarità nuovi framework di orchestrazione. Alcune orchestrazioni LLM sono progettate per funzionare come framework di configurazione o gestione di database, mentre altre utilizzano agenti AI per collaborare al completamento di attività o obiettivi.
Per capire come funzionano i framework di orchestrazione degli LLM, è utile capire dove si colloca l'orchestrazione nell'architettura delle applicazioni basate su LLM.
Il livello di orchestrazione è la spina dorsale dello stack di app LLM. L'orchestratore crea un workflow coerente gestendo le interazioni tra gli altri livelli dell'architettura dell'applicazione.3 In modo analogo a un orchestratore in campo musicale, l'orchestratore LLM delega e gestisce il workflow di ogni componente tecnico in base alla composizione dell'applicazione.
Questi componenti includono l'interazione tra LLM, modelli di prompt, database vettoriali e agenti.4 L'orchestrazione garantisce che ogni componente di un'applicazione di gen AI funzioni in modo coerente fornendo strumenti e meccanismi per gestire efficacemente il ciclo di vita degli LLM all'interno di varie applicazioni e ambienti.
I framework di orchestrazione semplificano attività complesse, tra cui il concatenamento dei prompt, l'interazione con API esterne, il recupero di dati contestuali dai database vettoriali e la gestione della memoria su più interazioni LLM. Ecco una panoramica generale delle attività operative tipicamente utilizzate nelle orchestrazioni LLM:
Il prompt engineering è la pratica di strutturare gli input (prompt) dell'LLM in modo che gli strumenti di AI generativa producano output ottimizzati. I framework di orchestrazione forniscono modelli di prompt che includono istruzioni, esempi few-shot, contesto specifico e domande appropriate per un'attività.5
Il concatenamento si riferisce a una sequenza di chiamate che connettono più LLM per combinare i loro output per ottenere risultati più dettagliati (nota anche come concatenamento dei prompt), uno strumento o una fase di pre-elaborazione dei dati.6
Il livello di orchestrazione gestisce queste attività di prompting memorizzando i prompt all'interno di una base di conoscenza o di una libreria, dove può facilmente cercare e recuperare i dati di prompting. L'orchestratore può selezionare dinamicamente i prompt dalla libreria in base agli input in tempo reale, al contesto o alle preferenze dell'utente. Inoltre, può sequenziare i prompt in un ordine logico per gestire i flussi di conversazione.
Gli LLM non hanno la capacità intrinseca di apprendere continuamente e sono limitati nella comprensione del contesto. Gestendo i prompt, l'orchestratore perfeziona gli output valutando le risposte.
Inoltre, gli LLM non sono in grado di verificare la correttezza delle informazioni in modo autonomo, il che può portare ad allucinazioni se non vengono gestiti correttamente. L'orchestratore può verificare la correttezza delle risposte e assicurarsi che aderiscano alle linee guida personalizzate. Se una risposta non è adeguata, l'orchestratore può segnalarla affinché venga esaminata da un essere umano o fornire suggerimenti alternativi che consentono in modo efficace all'LLM di apprendere e migliorare.7
La maggior parte dei framework di orchestrazione LLM include una qualche forma di LLMOps per il monitoraggio operativo. Queste funzionalità includono la raccolta di metriche di prestazione basate sui test di benchmark LLM. Queste metriche possono essere osservate tramite dashboard che consentono agli utenti di tenere traccia delle metriche delle prestazioni degli LLM in tempo reale.
Altre risorse LLMOps includono strumenti diagnostici per l'analisi della causa principale (RCA), che riducono il tempo necessario per il debug.
L'orchestratore facilita l'accesso ai dati e il recupero da fonti identificate utilizzando connettori o API adeguati. La pre-elaborazione si riferisce alla conversione di dati non elaborati provenienti da più fonti in un formato adatto per l'LLM. Più grande è una raccolta di dati, più sofisticato deve essere il meccanismo di analisi dei dati. La pre-elaborazione garantisce che i dati siano adattati ai requisiti posti da ciascun algoritmo di data mining.8 Gli orchestratori possono facilitare la pre-elaborazione regolando e perfezionando i dati per renderli più utili.
L'orchestratore avvia l'LLM affinché svolga il compito che gli è stato assegnato. Una volta completata l'elaborazione, l'orchestratore riceve l'output del modello e integra tutti i meccanismi di feedback per valutarne la qualità complessiva e lo invia alla destinazione appropriata.
L'orchestratore contiene memorie che fungono da base di conoscenza per migliorare gli output e le interazioni dell'LLM e fornire una comprensione contestuale. Gestendo e memorizzando messaggi o input precedenti, l'orchestratore accumula conoscenze a lungo termine che forniscono risposte più accurate tenendo conto delle interazioni passate.9
L'orchestratore ha il compito di facilitare l'implementazione delle funzioni di osservabilità dell'LLM e dei framework di guard rail. Dal punto di vista dei processi LLMOps, gli LLM che non dispongono di queste funzionalità rischiano di produrre risultati fuorvianti e di presentare rischi per la sicurezza a causa delle capacità limitate degli LLM che non sono altamente ottimizzati.
I framework di orchestrazione degli LLM offrono gli strumenti necessari per gestire e ottimizzare le interazioni e i workflow LLM, migliorando i processi LLMOps.
Gli sviluppatori di applicazioni possono scegliere se adottare le soluzioni emergenti o crearne di proprie partendo da zero. La scelta del giusto framework di orchestrazione LLM richiede una pianificazione e una strategia ponderate.
Gli aspetti da considerare prima di scegliere un framework di orchestrazione LLM sono:
Consulta la documentazione API del framework e assicurati che sia utile e consenta agli sviluppatori di iniziare facilmente. Inoltre, consulta le risorse della community del framework per valutare il tipo di supporto fornito per la risoluzione dei problemi.
Valuta le implicazioni in termini di costi derivanti dall'adozione di framework diversi. Molti framework di orchestrazione LLM sono open source con un'opzione aziendale a pagamento. Assicurati che il modello di prezzo copra non solo l'investimento iniziale, ma anche i costi ricorrenti, come licenze, aggiornamenti e servizi di assistenza. Un framework conveniente offre un equilibrio tra prezzo e funzionalità offerte.
Nella scelta dell'LLM giusto, è opportuno verificare le funzionalità di sicurezza quali crittografia, controlli di accesso e registri di controllo che garantiscono la sicurezza dei dati e contribuiscono a proteggere i dati e a rispettare le normative sulla privacy pertinenti.
Richiedi informazioni sugli strumenti di monitoraggio e gestione. Questi includono funzionalità per il monitoraggio di metriche come i tempi di risposta, l'accuratezza e l'utilizzo delle risorse.
Di seguito sono riportati alcuni framework di orchestrazione noti ed emergenti:
IBM watsonx Orchestrate utilizza l'elaborazione del linguaggio naturale (NLP) per accedere a un'ampia gamma di skill di machine learning. Il framework di IBM è costituito da migliaia di app e skill predefinite, tra cui un builder di assistenti AI e uno Skills Studio.
I casi d'uso includono il supporto ai dipartimenti delle risorse umane fornendo ai team gli strumenti necessari per integrare e supportare i nuovi assunti e potenziare i team di approvvigionamento e vendita.
Un framework open source basato su Python per la creazione di applicazioni LLM. LangChain è composto da diverse librerie open source che forniscono un'interfaccia flessibile con i componenti delle applicazioni LLM come modelli di incorporamento, LLM, database vettoriali, retriever e altro ancora.11
I casi d'uso end-to-end comuni di LangChain includono catene di domande e risposte e agenti su un database SQL, chatbot, estrazione, analisi delle query, riassunti, simulazioni di agenti, agenti autonomi e molto altro.12
Il framework di conversazione multi-agente open source di Microsoft offre un'astrazione di alto livello dei foundation model. AutoGen è un agentic framework, il che significa che utilizza più agenti per dialogare e risolvere compiti. Le sue funzioni principali includono agenti AI personalizzabili che intrattengono conversazioni multi-agente con schemi flessibili per creare un'ampia gamma di applicazioni LLM.13
Le implementazioni di AutoGen nelle app basate su LLM includono chatbot di tutoraggio per esercizi di matematica, partite di scacchi conversazionali, processi decisionali, chat di gruppo dinamiche e programmazione multi-agente.14 AutoGen offre monitoraggio e analisi dei replay per il debug tramite AgentOps.15
LlamaIndex fornisce gli strumenti per creare applicazioni LLM adattate al contesto. Questi includono strumenti di integrazione dei dati come connettori di dati per elaborare dati provenienti da oltre 160 fonti e formati.16 LlamaIndex include anche una suite di moduli per valutare le prestazioni delle applicazioni LLM.
I casi d'uso più comuni di LlamaIndex includono applicazioni Q&A (Retrieval-Augmented-Generation, note anche come RAG), chatbot, analisi dei documenti ed estrazione dei dati, nonché l'ottimizzazione dei modelli sui dati per migliorare le prestazioni.17
Haystack è un framework Python open source basato su due concetti principali per creare sistemi di gen AI end-to-end personalizzati: componenti e pipeline. Haystack collabora con molti provider di LLM, database vettoriali e strumenti AI che rendono la sua piattaforma di sviluppo completa e flessibile.18
I casi d'uso comuni offerti da Haystack includono i sistemi di ricerca semantica, l'estrazione di informazioni e la risposta alle domande in stile FAQ.19
crewAI è un framework multi-agente open source basato su LangChain. Gli agenti AI autonomi, progettati per il role-playing, vengono organizzati in squadre per completare workflow e attività legate alle applicazioni LLM.20 crewAI offre anche una versione aziendale chiamata crewAI+.
Le applicazioni per principianti e utenti più tecnici includono la generazione di landing page, l'analisi di titoli azionari e la connessione. CrewAI utilizza AgentOps per fornire monitoraggio e metriche per gli agenti.21
I framework di orchestrazione LLM continuano a maturare con l'avanzare delle applicazioni di gen AI, semplificando i workflow LLMOps per un maggior numero di soluzioni di intelligenza artificiale.
I framework di orchestrazione forniscono gli strumenti e la struttura necessari a un'applicazione LLM per ottenere il massimo dai modelli. I framework futuri potrebbero utilizzare agenti AI e sistemi multi-agente per promuovere l'automazione intelligente.
I modelli nei framework di orchestrazione emergenti suggeriscono che la creazione di architetture più complesse, come sistemi multi-agente in grado di integrarsi per implementare funzionalità, fornisce agli agenti le competenze necessarie per portare a termine workflow autonomi.
Anche l'usabilità sta diventando una priorità per le piattaforme di orchestrazione. Con la maturazione del mercato, verranno sviluppati altri strumenti che si concentrano sull'esperienza dell'utente. Questo approccio riduce anche le barriere tecniche all'utilizzo di questi framework. Alcuni framework di orchestrazione, come IBM watsonx Orchestrate, utilizzano un'interfaccia in linguaggio naturale per semplificare l'interazione e l'usabilità.
Gestire l'orchestrazione degli LLM è un compito complesso, ma rappresenta un elemento fondamentale per scalare e automatizzare i workflow basati su LLM.
Esplora la libreria IBM di foundation model nel portfolio di watsonx per scalare in sicurezza l'AI generativa per la tua azienda.
Metti l'AI al servizio della tua azienda grazie all'esperienza leader di settore e alla gamma di soluzioni di IBM nel campo dell'AI.
Reinventa i workflow e le operazioni critiche aggiungendo l'AI per massimizzare le esperienze, il processo decisionale in tempo reale e il valore di business.
1 Andrei Kucharavy, "Fundamental Limitations of Generative LLMS", SpringerLink, 1 gennaio 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 giugno 2024. https://masterofcode.com/blog/llm-orchestration.
3 Matt Bornstein, Rajko Radovanovic, "Emerging Architectures for LLM Applications", Andreessen Horowitz, 8 maggio 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 and others, "Big Data Preprocessing: Methods and Prospects - Big Data Analytics", SpringerLink, 1 novembre 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 For real Use Cases", crewAI, https://www.crewai.com/.
21 crewAI, Inc. "Agent Monitoring with AgentOps", crewAI, https://docs.crewai.com/introduction#agentops.