0Pricing
Learn AI with Python · Lezione

Architettura di LangChain e LCEL

Componenti di LangChain, sintassi pipe di LCEL, chain, interfacce runnable, chain in streaming

Architettura di LangChain e LCEL è una lezione Learn AI with Python gratuita su CoddyKit. Questa è la lezione 1 di 4. Puoi leggere la lezione completa qui gratuitamente — poi esercitati direttamente nel browser con un editor di codice integrato e un tutor IA disponibile 24/7. Fa parte del percorso di apprendimento Learn AI with Python, e i tuoi progressi si sincronizzano tra il web e l'app CoddyKit. Il corso Learn AI with Python include 4 lezioni in totale.

Che cos'è LangChain?

LangChain è un framework per creare applicazioni LLM combinando componenti riutilizzabili: prompt, modelli, parser, retriever e memoria. Invece di collegare manualmente le chiamate API, può costruire chain che passano i dati da un componente al successivo.

pip install langchain langchain-openai

I componenti fondamentali

In quasi ogni chain compaiono tre componenti: un PromptTemplate (formatta l'input trasformandolo in un prompt), un modello chat (l'LLM) e un parser dell'output (ripulisce il risultato). LangChain li collega in una pipeline.

from langchain_openai import ChatOpenAI
from langchain_core.prompts import ChatPromptTemplate
from langchain_core.output_parsers import StrOutputParser

Creare un template di prompt

Un template di prompt contiene segnaposto che vengono riempiti a runtime. Usi la sintassi {variable}. Quando invoca la chain con un dict, le chiavi vengono sostituite con i valori corrispondenti.

prompt = ChatPromptTemplate.from_template(
    "Explain {topic} to a {audience} in two sentences."
)

LCEL: la sintassi pipe

LCEL (LangChain Expression Language) compone i componenti con l'operatore pipe |. L'output di ogni passaggio fluisce in quello successivo, da sinistra a destra, proprio come in una pipeline Unix.

model = ChatOpenAI(model="gpt-4o")

chain = prompt | model | StrOutputParser()

Perché usare StrOutputParser?

Un modello chat restituisce un oggetto messaggio, non una semplice stringa. StrOutputParser() estrae il testo .content, così la chain produce una stringa pulita. Senza questo parser, si otterrebbe un messaggio strutturato.

Invocare la chain

Esegua la chain con chain.invoke(), passando un dict che riempie le variabili del template. Il risultato è l'output sotto forma di stringa analizzata.

result = chain.invoke({"topic": "vectors", "audience": "beginner"})
print(result)

Trasmettere una chain in streaming

Per ottenere l'output in tempo reale, chiami chain.stream() invece di invoke. Restituisce un generatore che produce blocchi di output man mano che il modello li genera, proprio come lo streaming dell'API grezza.

for chunk in chain.stream({"topic": "RAG", "audience": "engineer"}):
    print(chunk, end="", flush=True)

Elaborare più input in batch

Elabori molti input in modo efficiente con chain.batch(). Passi un elenco di dict di input: LangChain li esegue simultaneamente e restituisce un elenco di risultati nello stesso ordine.

inputs = [
    {"topic": "loops", "audience": "kid"},
    {"topic": "recursion", "audience": "kid"}
]
results = chain.batch(inputs)

RunnablePassthrough

RunnablePassthrough inoltra il proprio input senza modificarlo. È essenziale quando una chain deve conservare l'input originale insieme a un valore trasformato, una situazione comune in RAG, dove si passano sia la domanda sia il contesto recuperato.

from langchain_core.runnables import RunnablePassthrough

chain = (
    {"context": retriever, "question": RunnablePassthrough()}
    | prompt | model | StrOutputParser()
)

Comporre con i dizionari

Quando un passaggio è un dict, ogni valore viene elaborato in parallelo e i risultati formano l'input del passaggio successivo. In questo modo si creano prompt con più input, tipici delle pipeline di recupero, associando ogni chiave a un runnable o a un passthrough.

parallel = {
    "context": retriever,
    "question": RunnablePassthrough()
}
# parallel feeds {"context": ..., "question": ...} downstream

Perché LCEL è importante

Le chain LCEL includono automaticamente streaming, batching e async, sono facili da leggere e si combinano come i Lego. La stessa sintassi pipe può essere usata per tutto, da un prompt su una sola riga a un sistema RAG completo.

Verifica rapida

Verifichi la sua comprensione di LCEL.

Riepilogo: architettura e LCEL

Ha composto i componenti LangChain con l'operatore pipe: prompt | model | StrOutputParser(). Ha eseguito le chain con invoke, ha usato lo streaming con stream ed elaborato molti input con batch. RunnablePassthrough e la composizione con dict consentono di creare pipeline con più input per RAG.

Domande Frequenti

La lezione «Architettura di LangChain e LCEL» è gratuita?

Sì — il testo completo di «Architettura di LangChain e LCEL» è gratuito qui sul web. Per esercitarvi in modo interattivo (un editor di codice integrato e un tutor IA 24/7) e sbloccare il resto del corso Learn AI with Python, passa a CoddyKit PRO. Il corso Learn AI with Python include 4 lezioni in totale.

Cosa imparerò in «Architettura di LangChain e LCEL»?

Componenti di LangChain, sintassi pipe di LCEL, chain, interfacce runnable, chain in streaming Eserciti Learn AI with Python con codice pratico che esegui direttamente nel browser, e un tutor IA 24/7 risponde alle tue domande mentre lavori sulla lezione.

Ho bisogno di esperienza per iniziare Learn AI with Python?

Non è richiesta alcuna esperienza precedente. Learn AI with Python su CoddyKit è strutturato per principianti e studenti avanzati, quindi puoi iniziare da qui o dall'inizio e procedere al tuo ritmo. Questa è la lezione 1 di 4.

Quanto tempo richiede la lezione «Architettura di LangChain e LCEL»?

La maggior parte delle lezioni CoddyKit richiede circa 5–10 minuti. Ogni lezione è breve e interattiva, quindi fai progressi costanti e riprendi esattamente da dove hai lasciato su web e app.

Posso scrivere ed eseguire codice in questa lezione Learn AI with Python?

Sì. Ogni lezione Learn AI with Python include un editor di codice integrato, quindi scrivi ed esegui codice reale direttamente nel tuo browser e ricevi feedback istantaneo dall'IA — nessuna configurazione locale necessaria.

Tutte le lezioni di questo corso

  1. Architettura di LangChain e LCEL
  2. Caricamento, suddivisione ed embedding dei documenti
  3. Vector store: Chroma e FAISS
  4. Creazione end-to-end di un sistema RAG di domande e risposte
← Torna a Learn AI with Python