Edificio con LangChain

Comprende le catene e cosa succede tra una decisione del modello e esecuzione di uno strumento.

LangChain offre parti riutilizzabili per collegare modelli e strumenti. Il loro valore è compreso seguendo i messaggi che viaggiano tra l'applicazione, il modello e le funzioni che eseguono le azioni.

Concetti Chiave

LangChain è un framework di applicazione con LLM. Unifica alcuni dei giochi con i fornitori e consente di comporre prompts, modelli, strumenti e processi di elaborazione dei risultati. LangGraph fornisce Flow Control e stato per gli agenti LangSmith Serve come osservazione e valutazione. Imparare il livello di base non richiede simultaneamente di padroneggiare l'intero ecosistema.

Uno. Catena a catena Collega le fasi definite dallo sviluppatore. Un agente permette al modello di proporre strumenti e ordine da esecuzione entro i confini. Condivisione di un'interfaccia tra i modelli facilita le modifiche ma non garantisce capacità identiche: verifica la chiamata degli strumenti, i parametri, i confini e le prestazioni del fornitore scelto.

Modulo Obiettivi

Blocchi riutilizzabili

A dose pronta Combina istruzioni costanti con variabili. "Spiega {concepto} con un esempio" separa la struttura dall'argomento. La chat del prompt A conserva i ruoli: istruzioni di sistema, messaggi utente e risposte precedenti. L'esempio di poche immagini A illustra il formato atteso. rimane diverso da una regola di autorizzazione.

Composizione A come prompt | model | parser descrive una sequenza usando LCEL, LangChain Expression Language. Il prompt prepara l'ingresso, il modello produce una risposta e un parser rimuove o valida il modulo di uscita. Il parser di testo A non controlla che le dichiarazioni siano vere: il formato e la veridicità sono problemi separati.

Gli strumenti sono di solito espressi come funzioni con tipi e descrizioni. L'arredatore @tool consente un'esposizione di metadati al quadro. create_agent riunisce il modello e gli strumenti, e agent.invoke avviare la esecuzione. Questa semplicità di utilizzo di lavoro utile nascosto non rimuove le responsabilità di sicurezza. The Documentazione attuale degli agenti spiegare questa costruzione e la sua configurazione.

Che succede sotto il cofano?

Il runtime prepara i messaggi e gli schemi degli strumenti. Il modello può restituire il testo, chiamate a strumenti o altri blocchi supportati; Non pensare che sia finita solo perche' e' arrivato il messaggio. Quando c'è uno chiamata eccezionale, l'applicazione identifica il nome registrato, analizza gli argomenti e gestisce lo strumento consentito.

Ogni risultato è collegato con l'identificatore chiamata appropriato. Quindi entra nel contesto del seguente richiesta. Così il modello può utilizzare il valore ottenuto, richiedere un'altra operazione o produrre una risposta finale. Il loop dovrebbe anche avere limiti e gestire gli errori: finire non dipende esclusivamente da come il modello decide di farlo.

Conservare stato non significa che lo LLM modifichi i suoi pesi o impari definitivamente il suo nome utente. L'applicazione o un servizio ha un contesto e contribuisce all'interferenza futura. Non è neppure obbligatorio inviare nuovamente in rete l’intera cronologia letterale in ogni integrazione: possono essere disponibili meccanismi di continuazione, riduzione e riepilogo. Ciò che è necessario è preservare il contesto rilevante e relazione tra chiamate e risultati.

Esempio guidato

Considerare "18 Multiples di 5 e dividere il risultato tra 3." Gli strumenti disponibili sono multiplicar y dividir.

Passaggio Responsabile Evidenza osservabile
1 Applicazione Aggiungi la domanda ai messaggi e chiamata agent.invoke.
2 Modello Richieste multiplicar(18, 5) con un identificatore call-a.
3 Tempo di esecuzione Esegui il registro delle funzioni 90 per call-a.
4 Modello Richieste dividir(90, 3) come call-b.
5 Tempo di esecuzione divisore valido diverso da zero; torna indietro 30.
6 Modello e tempo di esecuzione Producono e consegnano la risposta finale: 30.

La funzione di moltiplicazione non chiamata la LLM. E' un codice normale all'interno di un'applicazione che usa un modello. Per controllare la dimostrazione, controllare sia il risultato che gli argomenti: ottenere 30 per caso non dimostra che gli strumenti giusti sono stati utilizzati.

Prova dopo "dividere tra zero". Il risultato atteso è un errore controllato o una correzione richiesta, non un'eccezione senza gestire un numero inventato. Infine, rimuove deliberatamente il risultato di call-a e spiegare perché perdiamo le prove che l'operazione secondo richiesto.

Errori comuni

Esercizio di pensionamento

La moltiplicazione restituisce 90 correttamente, ma l'agente lo recupera più volte. Quali due punti esamineresti prima di aumentare il limite di passaggio?

Soluzione

In primo luogo, confermare che il risultato appare nel contesto con l'identificatore chiamata giusto. In secondo luogo, controllare le istruzioni, la descrizione degli strumenti e le condizioni di completamento per verificare che l'agente riconosce il risultato. Per aumentare il limite potrebbe fare più affrontare un difettoso esecuzione senza rivestire la causa. Aggiunge anche un limite per il mancato mantenimento del controllo.

Fonti e recensioni

Query Agenti, Tools y Messaggi Documentazione ufficiale di LangChain. L'apprendimento chiave è quello di essere in grado di capire, in ogni freccia del diagramma, quale messaggio circola, che interpreta e dove viene eseguito il codice.

Search a CertiTips

12 corsi disponibili.