Wyszukiwanie w witrynie

Jak LangChain zmienia GenAI w naprawdę przydatnego asystenta


Era agentów AI może zacząć się od połączenia prostych modułów, które umożliwią przepływ pracy w przypadku rzeczywistych zadań. Diagnoza raka to tylko jeden z przykładów.

Korzystając z LangChain, programiści byli w stanie połączyć obrazowanie ultradźwiękowe do celów takich jak diagnostyka raka piersi z podpowiedziami w języku naturalnym w stylu ChatGPT.

Generatywny ruch AI w ChatGPT OpenAI i jego pochodnych jest prawdopodobnie najbardziej znany ze złych tekstów rapowych i automatycznej pomocy programistycznej. Jednak nowa platforma open source oparta na dużych modelach językowych zapewnia bardziej praktyczny nacisk na GenAI.

LangChain, mający nieco ponad rok, można uznać za delikatne wprowadzenie do programowania agentów AI za pomocą bardzo prostego zestawu bibliotek bazujących na modelach GenAI. Technologia jest wspierana przez startup o tej samej nazwie, oferujący platformę serwerową do komercyjnego wdrażania aplikacji zbudowanych przy użyciu LangChain.

Istotą LangChain jest to, że łączy on w sobie duży model języka z różnymi zasobami zewnętrznymi. W ten sposób może na przykład pobrać dane z bazy danych i przekazać dane wyjściowe modelu językowego do aplikacji, pobrać dane wyjściowe tej aplikacji i przekazać je z powrotem do modelu językowego i tak dalej.

Ramy pozwalają zatem na łączenie zasobów, gdzie każdy zasób staje się swego rodzaju agentem, zajmującym się częścią problemu w kontekście modelu językowego i podpowiedzi.

Istnieją już intrygujące przykłady praktycznych zastosowań z różnych dyscyplin.

Na przykład, korzystając z LangChain, programiści mogli połączyć obrazowanie ultrasonograficzne do celów takich jak diagnoza raka piersi z podpowiedziami w języku naturalnym w stylu ChatGPT. Radiolog może przywołać komputer jako asystenta analitycznego, wypowiadając na obrazie USG piersi zdanie typu „Proszę o podsumowanie danych obserwacji w zależności od położenia sondy”.

Ciekawym aspektem programu, opracowanego przez Jaeyounga Huha i współpracowników z Korea Advanced Institute of Science and Technology, jest to, że łączy on trzy różne sieci neuronowe szeroko stosowanej odmiany - ResNet-50 - będący klasycznym neuronem wizyjnym sieć, która specjalizuje się w klasyfikacji obrazów.

Każda z trzech sieci neuronowych jest szkolona oddzielnie do wykonywania jednego zadania, takiego jak identyfikacja podejrzanej postaci na obrazie ultrasonograficznym, klasyfikacja tej postaci i określenie lokalizacji formy w ciele.

Celem LangChain jest owinięcie tych trzech sieci poleceniami języka naturalnego, takimi jak „podaj informacje o sondowaniu dla danego obrazu”, a następnie „podaj podsumowanie danych obserwacji”.

Zatem na najprostszym poziomie LangChain może być sposobem na stworzenie przyjaznego dla użytkownika interfejsu AI, o jakim od dawna marzyli specjaliści z takich dziedzin jak sztuczna inteligencja medyczna, którzy chcieli stworzyć asystenta lekarza reagującego na polecenia mówione .

Celem niektórych wysiłków LangChain jest próba wyeliminowania niesławnych halucynacji GenAI - skłonności programów do pewnego potwierdzania fałszywych informacji - poprzez oparcie technologii na wiarygodnych źródłach zewnętrznych. Grupa z firmy konsultingowej Accenture, na której czele stoi Sohini Roychowdhury, opisuje system umożliwiający prognozowanie finansów za pośrednictwem „czatbota finansowego”.

System pobiera komórki z arkusza kalkulacyjnego i konwertuje je na stwierdzenia dotyczące danych w języku naturalnym, które można następnie przeszukiwać w celu znalezienia zdania pasującego do pytania.

Oto jak to działa: użytkownik zadaje modelowi językowemu pytanie w języku naturalnym, np. „Jak radzi sobie moja sprzedaż?” Podpowiedź jest wprowadzana do szablonu, który generuje bardziej precyzyjny podpowiedź do modelu językowego. Podpowiedź ta może zawierać więcej szczegółowych pytań pytających, niż dana osoba by pomyślała, aby uzyskać lepszą podpowiedź.

Ulepszony monit uruchamia wyszukiwanie słów kluczowych, które wybiera, które ze zdań - zbudowanych na podstawie danych tabelarycznych - wskazują na najbardziej trafne dane w tabeli (np. sprzedaż, zysk).

Po pobraniu odpowiednich danych drugi zestaw szablonów pomaga chatbotowi sformułować odpowiedź na zapytanie, korzystając ze zdań z danych tabelarycznych w odpowiedzi na czacie.

Roychowdhury i zespołowi nie udaje się wyeliminować halucynacji. Zamiast tego zaprojektowali mechanizm punktacji „pewności”, za pomocą którego chatbot porównuje swoje odpowiedzi z pytaniem, sprawdza, jak dobrze pasują, a następnie przypisuje swojej odpowiedzi wysoki, średni lub niski wynik zaufania.

„Wskaźnik pewności informuje użytkownika, aby zachował ostrożność podczas podejmowania kluczowych decyzji, korzystając z odpowiedzi o średnim lub niskim stopniu pewności” - wyjaśnia Roychowdhury. „Wynik pewności dodatkowo pomaga określić, które zapytania użytkowników wymagają dalszego dopracowania, aby zapewnić niezawodność”.

Programiści odkrywają, że LangChain może być sposobem na automatyzację niektórych niezwykle przyziemnych zadań. Jednym z przykładów jest sprawdzanie sposobu, w jaki pracownicy korzystają z Internetu, aby upewnić się, że nie przeglądają nielegalnych witryn internetowych. Dokument opisujący „zasady dopuszczalnego użytkowania” dla korporacji jest przesyłany do tak zwanej wektorowej bazy danych - specjalnego rodzaju bazy danych, która może porównywać ciągi tekstowe z, powiedzmy, adresu URL ze zbiorem ciągów tekstowych w dokumencie, aby sprawdzić, czy istnieją mecz.

Gdy osoba wpisze adres URL w przeglądarce, zarówno adres URL witryny, jak i podsumowanie zawartości witryny mogą zostać automatycznie porównane z dokumentem zasad w bazie danych wektorowych, aby sprawdzić, czy treść witryny pasuje do jakichkolwiek zabronionych tematów. Programista może zautomatyzować porównanie za pomocą prostego monitu tekstowego z pytaniem: „Czy cokolwiek w tej witrynie pasuje do elementów zabronionych?”

Taki przykład wyraźnie pokazuje, że duże modele językowe i LangChain wykraczają poza zapytania indywidualne. Stają się dla programistów sposobem na wykorzystanie poleceń języka naturalnego w celu zintegrowania różnych dostępnych im narzędzi z funkcjami ukrytymi.

LangChain nie jest jedyną platformą do kompilowania przepływów pracy o jakości agenta. Powstaje coraz więcej takich platform, w tym jądro semantyczne firmy Microsoft i LlamaIndex o otwartym kodzie źródłowym, który opiera się na LangChain.

Grupa naukowców ze Stanford, UC Berkeley i Carnegie Mellon wraz ze współpracownikami z sektora prywatnego wprowadziła w październiku coś, co nazywają DSPy, czyli podejście programistyczne, które zastępuje ręcznie kodowane podpowiedzi w języku naturalnym opisami funkcjonalnymi i może z kolei automatycznie generować podpowiedzi. Opisy funkcjonalne mogą być bardzo szerokie, np. „konsumuj pytania i udzielaj odpowiedzi”. DSPy zawiera kompilator optymalizujący przepływ modeli językowych i narzędzi pomocniczych.

Autorzy zauważają, że wysiłki DSPy są analogiczne do struktur głębokiego uczenia się, które posiadają zaawansowane sieci neuronowe poprzez warstwy abstrakcji, w tym Torch i Theano.

Autorzy twierdzą, że znacznie poprawiła się jakość w porównaniu z koniecznością ręcznego tworzenia podpowiedzi w każdym przypadku. „Bez ręcznie wykonanych podpowiedzi i w ciągu kilku minut do kilkudziesięciu minut od kompilacji, kompozycje modułów DSPy mogą podnieść jakość prostych programów z 33% do 82%” - piszą.

To dopiero początek gry frameworkowej GenAI i w nadchodzącym roku możesz spodziewać się znacznie większej liczby warstw abstrakcji na wierzchu, pod spodem i wokół LangChain.

Powiązane artykuły