Język Wyrażeń LangChain (LCEL) to deklaratywna metoda orkiestracji prac AI, która pozwala łatwo łączyć ze sobą wiele kroków przetwarzania jak ogniwa w łańcuchu. Dlatego też workflow zdefiniowany przez LCEL jest określany jako "łańcuch" w LangChain. Od najprostszych łańcuchów "prompt + LLM" po najbardziej złożone łańcuchy (np. łańcuchy składające się z setek kroków).

Funkcje języka wyrażeń LangChain obejmują:

  • Wsparcie dla przetwarzania strumieniowego: Podczas budowania łańcuchów za pomocą LCEL, w celu szybkiego uzyskania zawartości zwracanej przez model LLM, LCEL obsługuje także przetwarzanie strumieniowe, osiągając efekty podobne do pobierania zawartości znak po znaku, tak jak w ChatGPT.

  • Wsparcie dla asynchroniczności: Każdy łańcuch zbudowany za pomocą LCEL może być używany zarówno z interfejsami synchronicznymi, jak i asynchronicznymi. Celem użycia interfejsów asynchronicznych jest poprawa wydajności oraz obsługa większej liczby równoczesnych żądań.

  • Wsparcie dla wykonania równoległego: Kiedy twój łańcuch LCEL posiada kroki, które można wykonać równolegle (np. gdy pobierasz dokumenty z wielu źródeł), automatycznie je wykonujemy zarówno dla interfejsów synchronicznych, jak i asynchronicznych, aby osiągnąć minimalne opóźnienie.

  • Powtarzanie i cofanie: Skonfiguruj powtórzenia i cofanie dla dowolnej części łańcucha LCEL.

  • Wsparcie dla dostępu do wyników pośrednich: W przypadku złożonych łańcuchów prac flow, często pożądane jest możliwość przeglądania wyników pośrednich pomiędzy różnymi krokami zadania podczas debugowania.

  • Tryby wejścia i wyjścia: Tryby wejścia i wyjścia są wywnioskowane na podstawie struktury łańcucha, dostarczając schematów Pydantic i JSONSchema dla każdego łańcucha LCEL. Mogą one być używane do walidacji wejścia i wyjścia, i stanowią część LangServe.

  • Wsparcie dla integracji z usługą monitorowania LangSmith: W miarę jak łańcuchy stają się coraz bardziej złożone, dokładne zrozumienie tego, co dzieje się na każdym kroku, staje się coraz ważniejsze. Dzięki LCEL wszystkie kroki są automatycznie rejestrowane w LangSmith w celu osiągnięcia maksymalnej obserwowalności i debugowania.

  • Wsparcie dla wdrożeń przy użyciu LangServe: Każdy łańcuch stworzony za pomocą LCEL może być łatwo wdrożony za pomocą LangServe.