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.