Il Linguaggio di Espressione LangChain (abbreviato LCEL) è un metodo di orchestrare flussi di lavoro AI dichiarativo che consente di combinare facilmente più passaggi di elaborazione come se fossero collegati a una catena. Pertanto, i flussi di lavoro definiti da LCEL sono chiamati "Catene" in LangChain. Dalla più semplice catena "prompt + LLM" alle catene più complesse (ad esempio, catene composte da centinaia di passaggi).

Le caratteristiche del Linguaggio di Espressione LangChain sono le seguenti:

  • Supporto per l'Elaborazione in Streaming: Nella costruzione delle catene utilizzando LCEL, al fine di ottenere rapidamente i contenuti restituiti dal modello LLM, LCEL supporta anche l'elaborazione in streaming, ottenendo effetti simili al recupero dei contenuti carattere per carattere, proprio come ChatGPT.

  • Supporto Asincrono: Qualsiasi catena costruita utilizzando LCEL può essere utilizzata con API sia sincrone che asincrone. Lo scopo dell'utilizzo delle API asincrone è migliorare le prestazioni e supportare richieste concorrenti più elevate.

  • Supporto per l'Esecuzione Parallela: Ogni volta che la tua catena LCEL ha passaggi che possono essere eseguiti in parallelo (ad esempio, se stai recuperando documenti da più fonti), li eseguiamo automaticamente sia per interfacce sincrone che asincrone per ottenere la latenza minima.

  • Ripetizione e Annullamento: Configura la ripetizione e l'annullamento per qualsiasi parte della catena LCEL.

  • Supporto per l'Accesso ai Risultati Intermedi: Per catene di flussi di lavoro complessi, è spesso auspicabile poter esaminare i risultati intermedi tra diversi passaggi durante il debug.

  • Modalità di Input e Output: Le modalità di input e output vengono dedotte in base alla struttura della catena, fornendo schemi Pydantic e JSONSchema per ciascuna catena LCEL. Questi possono essere utilizzati per la convalida dell'input e dell'output e fanno parte di LangServe.

  • Supporto per l'Integrazione con il Servizio di Monitoraggio LangSmith: Man mano che le catene diventano sempre più complesse, capire accuratamente cosa succede in ciascun passaggio diventa sempre più importante. Con LCEL, tutti i passaggi vengono automaticamente registrati in LangSmith per ottenere massima osservabilità e debug.

  • Supporto per il Deployment con LangServe: Qualsiasi catena creata utilizzando LCEL può essere facilmente distribuita utilizzando LangServe.