Glossario

LangChain

Semplifica lo sviluppo di applicazioni AI con LangChain! Costruisci potenti soluzioni basate su LLM come chatbot e strumenti di sintesi senza alcuno sforzo.

Addestra i modelli YOLO semplicemente
con Ultralytics HUB

Per saperne di più

LangChain è un framework open-source progettato per semplificare lo sviluppo di applicazioni basate su grandi modelli linguistici (LLM). Fornisce un'interfaccia standard e componenti per concatenare gli LLM con altre risorse computazionali e fonti di dati, consentendo la creazione di applicazioni di intelligenza artificiale (AI) più sofisticate e consapevoli del contesto. Invece di interagire con un LLM in modo isolato, LangChain permette agli sviluppatori di collegare modelli come GPT-4 o Claude 3 ad API esterne, database o file locali, rendendoli più versatili e potenti.

Componenti principali

LangChain raggiunge la sua funzionalità attraverso diverse astrazioni chiave:

  • Modelli: Integrazioni con vari LLM (come quelli di OpenAI) e Modelli di incorporazione.
  • Prompts: Strumenti per la gestione e l'ottimizzazione dei prompt inviati agli LLM, compresi i modelli di prompt e la generazione dinamica di prompt. Una progettazione efficace dei prompt è fondamentale per guidare il comportamento degli LLM.
  • Catene: Sequenze di chiamate a un LLM o a un altro strumento. Le catene semplici possono coinvolgere una singola chiamata a un LLM, mentre le catene complesse(prompt chaining) possono collegare più chiamate a un LLM o interazioni con altri strumenti.
  • Indici: Strutturano i dati in modo che i LLM possano interagire facilmente con essi, spesso con tecniche come la creazione di embeddings e la loro memorizzazione in un database vettoriale come Pinecone o Chroma per una ricerca semantica efficiente.
  • Memoria: Consente alle catene o agli agenti di ricordare le interazioni precedenti, fornendo un contesto per le conversazioni o i compiti in corso. Questo aspetto è essenziale per la creazione di applicazioni statiche come i chatbot.
  • Agenti: Permette ai LLM di prendere decisioni su quali azioni intraprendere, di utilizzare strumenti (come motori di ricerca o calcolatori), di osservare i risultati e di iterare fino al completamento di un compito. Ciò consente una risoluzione dei problemi più autonoma.

Rilevanza nell'intelligenza artificiale e nell'apprendimento automatico

LangChain ha guadagnato un'importante posizione nella comunità del Machine Learning (ML) perché affronta le sfide pratiche della costruzione di applicazioni reali sulla base di LLM. Mentre framework come PyTorch e TensorFlow sono fondamentali per l'addestramento e la definizione dei modelli, LangChain si concentra sul livello applicativo, ovvero sull'orchestrazione dell'interazione di questi potenti modelli con sistemi e dati esterni. Questo differisce da piattaforme come Ultralytics HUB, che semplificano il processo di formazione dei modelli personalizzati, la gestione dei set di dati e l'implementazione dei modelli principalmente per attività come il rilevamento degli oggetti utilizzando modelli come Ultralytics YOLO11.

LangChain funge da ponte, consentendo alle sofisticate capacità di elaborazione del linguaggio naturale (NLP) degli LLM di essere messe a terra in contesti specifici o di attivare azioni esterne. Semplifica i flussi di lavoro complessi che altrimenti richiederebbero un codice personalizzato significativo per le chiamate API, la gestione dei dati e la gestione dello stato.

Applicazioni del mondo reale

LangChain consente di realizzare un'ampia gamma di applicazioni combinando l'intelligenza di LLM con risorse esterne:

  1. Risposta a domande su documenti privati: Immagina che un'azienda voglia un chatbot interno in grado di rispondere alle domande dei dipendenti sulla base di documenti di politica aziendale o manuali tecnici. LangChain può essere utilizzato per costruire un sistema di Retrieval-Augmented Generation (RAG). I documenti vengono caricati, suddivisi, incorporati e archiviati in un database vettoriale. Quando un utente pone una domanda, LangChain recupera i pezzi di documento rilevanti, li combina con la domanda dell'utente in un prompt e lo invia a un LLM per generare una risposta basata solo sul contesto fornito. In questo modo si sfrutta il ragionamento dell'LLM e si limitano le risposte a fonti di dati specifiche. Molti strumenti interni di knowledge base utilizzano questo modello.
  2. Agenti autonomi per il completamento dei compiti: Un utente potrebbe chiedere a un assistente AI di "Riassumere le ultime notizie su Ultralytics e scrivere un'email al mio manager a riguardo". Un agente LangChain, alimentato da un LLM, potrebbe decidere di:
    • Utilizza uno strumento di ricerca sul web per trovare articoli recenti su Ultralytics.
    • Usa uno strumento di riassunto del testo (o lo stesso LLM) per condensare i risultati.
    • LangChain gestisce la sequenza di utilizzo degli strumenti, la formulazione delle richieste e il flusso di informazioni tra i vari passaggi, consentendo all'LLM di agire come un motore di ragionamento che orchestra varie funzionalità. Alcuni esempi sono gli assistenti personali e gli strumenti di ricerca automatizzati.

LangChain e concetti correlati

È utile distinguere LangChain dai termini correlati:

  • LLMs vs. LangChain: Gli LLM (ad esempio, GPT-3, Llama) sono i modelli principali che comprendono e generano il testo. LangChain è un framework che utilizza questi LLM come componenti per costruire applicazioni. Organizza l'interazione tra gli LLM e altri strumenti/dati.
  • Ingegneria dei Prompt vs. LangChain: L'ingegneria dei prompt è l'arte di creare input efficaci per gli LLM. LangChain fornisce strumenti (come i modelli di prompt) per rendere l'ingegnerizzazione dei prompt più semplice e sistematica all'interno di un contesto applicativo, ma comprende molto di più, tra cui la gestione degli stati e l'integrazione degli strumenti.
  • Hugging Face Transformers vs. LangChain: La libreria Hugging Face Transformers fornisce l'accesso a migliaia di modelli pre-addestrati (tra cui molti LLM) e strumenti per la loro messa a punto ed esecuzione. LangChain si integra spesso con i modelli di Hugging Face , ma si concentra sul compito di alto livello di costruire applicazioni intorno a questi modelli piuttosto che sull'implementazione del modello stesso.

LangChain offre un potente toolkit per gli sviluppatori che desiderano sfruttare le capacità degli LLM per applicazioni complesse e consapevoli del contesto. Il suo design modulare e il crescente ecosistema di integrazioni lo rendono una scelta popolare per la creazione della prossima generazione di strumenti basati sull'intelligenza artificiale. Puoi approfondire le sue funzionalità attraverso la documentazione ufficiale di LangChain e il repository GitHub di LangChain.

Leggi tutto