Tanke ledare
Flytta stora sprÄkmodeller (LLM) till verkliga affÀrsapplikationer

Stora sprÄkmodeller finns överallt. Varje kundsamtal eller VC-pitch involverar frÄgor om hur redo LLM-tekniken Àr och hur den kommer att driva framtida applikationer. Jag tÀckte in nÄgra mönster om detta mitt tidigare inlÀgg. HÀr kommer jag att prata om nÄgra verkliga mönster för en applikation inom lÀkemedelsindustrin som Persistent Systems arbetat med.
Stora sprÄkmodeller och kÀrnstyrkor
LLM Àr bra pÄ att förstÄ sprÄk, det Àr deras styrka. Det vanligaste mönstret vi ser med applikationer Àr retrieval augmented generation (RAG), dÀr kunskap sammanstÀlls externt frÄn datakÀllor och tillhandahÄlls i ett sammanhang som en uppmaning för LLM att parafrasera ett svar. I det hÀr fallet fungerar supersnabba sökmekanismer som vektordatabaser och Elasticsearch-baserade motorer som en första söklinje. Sedan sammanstÀlls sökresultaten till en prompt och skickas till LLM mestadels som ett API-anrop.
Ett annat mönster Àr att generera en frÄga pÄ strukturerad data genom att mata LLM en datamodell som uppmaning och en specifik anvÀndarfrÄga. Det hÀr mönstret kan anvÀndas för att utveckla ett avancerat "tala med dina data"-grÀnssnitt för SQL-databaser som Snowflake, sÄvÀl som grafdatabaser som Neo4j.
Utnyttja LLM-mönster för verkliga insikter
Persistent Systems tittade nyligen pÄ ett mönster för Blast Motion, ett sporttelemetriföretag (svinganalys för baseboll, golf, etc.), dÀr vi analyserade tidsseriedata för spelarsammanfattningar för att fÄ rekommendationer.
För mer komplexa applikationer behöver vi ofta kedja LLM-förfrÄgningar med bearbetning mellan samtalen. För ett lÀkemedelsföretag har vi utvecklat en smart trails-app som filtrerar patienter för kliniska prövningar baserat pÄ kriterier utvunna frÄn kliniska prövningsdokument. HÀr anvÀnde vi en LLM-kedja. Först utvecklade vi en LLM för att lÀsa testdokument i pdf och anvÀnda RAG-mönster för att extrahera inklusions- och exkluderingskriterier.
För detta anvÀndes en relativt enklare LLM som GPT-3.5-Turbo (ChatGPT). Sedan kombinerade vi dessa extraherade enheter med datamodell av patientens SQL-databas i Snowflake, för att skapa en prompt. Denna prompt matas till en mer kraftfull LLM som GPT4 ger oss en SQL-frÄga för att filtrera patienter, som Àr redo att köras pÄ Snowflake. Eftersom vi anvÀnder LLM-kedja kan vi anvÀnda flera LLM:er för varje steg i kedjan, vilket gör det möjligt för oss att hantera kostnader.
För nÀrvarande beslutade vi att hÄlla denna kedja deterministisk för bÀttre kontroll. Det vill sÀga, vi bestÀmde oss för att ha mer intelligens i kedjorna och hÄlla orkestreringen vÀldigt enkel och förutsÀgbar. Varje del av kedjan Àr en komplex applikation i sig som skulle ta nÄgra mÄnader att utveckla under dagarna före LLM.
Drivs av mer avancerade anvÀndningsfall
För ett mer avancerat fall kan vi anvÀnda agenter som Reagera för att uppmana LLM att skapa steg för steg instruktioner att följa för en viss anvÀndarfrÄga. Detta skulle naturligtvis behöva en avancerad LLM som GPT4 eller Cohere eller Claude 2. Men dÄ finns det en risk att modellen tar ett felaktigt steg som mÄste verifieras med skyddsrÀcken. Detta Àr en avvÀgning mellan att flytta intelligens i kontrollerbara lÀnkar i kedjan eller att göra hela kedjan autonom.
Idag, nÀr vi vÀnjer oss vid Äldern av Generativ AI för sprÄk, börjar branschen att ta till sig LLM-applikationer med förutsÀgbara kedjor. NÀr denna adoption vÀxer kommer vi snart att börja experimentera med mer autonomi för dessa kedjor via agenter. Det Àr vad debatten om AGI handlar om och vi Àr intresserade av att se hur allt detta utvecklas över tiden.