Agenci
Ponieważ implementacje dużych modeli językowych (LLM) rozszerzają się w głąb i szerokość, pojawia się kilka wymagań:
- Możliwość programowania LLM i tworzenia monitów wielokrotnego użytku oraz bezproblemowego włączania monitów do większych aplikacji .
- Tworzenie łańcuchów do sekwencjonowania interakcji LLM dla większych aplikacji.
- Zautomatyzuj zaimprowizowane podpowiedzi w łańcuchu myśli za pośrednictwem agenta , który może działać autonomicznie, biorąc pod uwagę zakres narzędzi.
- Twórz skalowalne potoki monitów , które mogą zbierać odpowiednie dane z różnych źródeł, wszystkie na podstawie danych wprowadzanych przez użytkownika i stanowią monit; i prześlij monit do LLM.
W przypadku operacji związanych z LLM istnieje oczywista potrzeba automatyzacji. Obecnie ta automatyzacja ma postać tzw. agentów .
Łańcuch podpowiedzi to wykonanie z góry określonej i ustalonej sekwencji działań.
Atrakcyjność Agentów polega na tym, że Agenci nie śledzą z góry określonej sekwencji wydarzeń. Agenci mogą zachować wysoki poziom autonomii.
Biorąc pod uwagę poniższy obraz, agenci mają dostęp do zestawu narzędzi, a agent może odpowiedzieć na każde żądanie mieszczące się w zakresie tych narzędzi. Potok wykonania nadaje agentowi autonomię i może być wymagana pewna liczba iteracji, zanim agent osiągnie ostateczną odpowiedź .
Czynności wykonywane przez agenta polegają na:
- Używanie narzędzia
- Obserwacja jego produkcji
- Rowerem do innego narzędzia
- Zwracanie danych wyjściowych do użytkownika
„Mężczyźni stali się narzędziami swoich narzędzi”.
- Henry David Thoreau
Jest obserwacja, myśl i ostatecznie ostateczna odpowiedź. Diagram pokazuje, jak można wywołać inny typ akcji w przypadkach, gdy ostateczna odpowiedź nie została osiągnięta.
Dane wyjściowe wycięte poniżej diagramu pokazują, jak działa agent i jak tworzony jest łańcuch w sposób autonomiczny.
Biorąc LangChain za punkt odniesienia, agenci mają trzy koncepcje:
Narzędzia
Jak pokazano we wcześniejszej części artykułu, istnieje wiele narzędzi, z których można skorzystać. Narzędzie może być postrzegane jako funkcja, która wykonuje określone zadanie.
Narzędzia obejmują wyszukiwarkę Google, wyszukiwanie w bazie danych, Python REPL, a nawet wywoływanie istniejących łańcuchów.
W ramach LangChain interfejs narzędzia jest funkcją, która powinna mieć:
- String jako dane wejściowe,
- I string jako wyjście.
To jest model językowy zasilający agenta. Poniżej znajduje się przykład, w jaki sposób LLM jest zdefiniowany w agencie:
Typy agentów
Agenci używają LLM, aby określić, które działania należy podjąć iw jakiej kolejności. Agent tworzy łańcuch myśli w locie, rozkładając żądanie użytkownika.
Agenci angażują LLM w podejmowanie decyzji o tym, które Akcje podjąć, podjęcie tej Akcji, zobaczenie Obserwacji i powtarzanie jej, aż do zakończenia. — Źródło
Agenci są skuteczni nawet w przypadkach, gdy pytanie jest niejednoznaczne i wymaga podejścia wieloprzeskokowego . Można to uznać za zautomatyzowany proces rozkładania złożonego pytania lub instrukcji na łańcuch myślowy .
Poniższy obraz dobrze ilustruje rozkład pytania i sposób, w jaki na pytanie udziela się odpowiedzi w łańcuchu myśli składającym się z fragmentów posiłku :
Poniżej znajduje się lista typów agentów w środowisku LangChain. Przeczytaj więcej tutaj, aby uzyskać pełny opis typów agentów.
Biorąc pod uwagę poniższy obraz, jedyną zmianą wprowadzoną w kodzie był AgentTypeopis. Zmiana w odpowiedzi jest wyraźnie widoczna na tym obrazie, przy użyciu dokładnie tej samej konfiguracji i tylko innej AgentType.
Aby zapoznać się z pełnymi przykładami działającego kodu agentów LangChain, przeczytaj więcej tutaj .
⭐️ Śledź mnie na LinkedIn , aby otrzymywać aktualizacje na temat Conversational AI ⭐️
Obecnie jestem Głównym Ewangelistą @ HumanFirst . Odkrywam i piszę o wszystkich rzeczach na styku sztucznej inteligencji i języka; począwszy od LLM , Chatbotów , Voicebotów , Frameworków programistycznych, ukrytych przestrzeni Data-Centric i innych.

![Czym w ogóle jest lista połączona? [Część 1]](https://post.nghiatu.com/assets/images/m/max/724/1*Xokk6XOjWyIGCBujkJsCzQ.jpeg)



































