Dit is een oude revisie van het document!
Inhoud
LangGraph
๐๏ธ Terug naar start
โ๏ธ LangChain start
โป๏ธ LangGraph Basis principes
๐ซ LangGraph Tests
Over LangGraph
LangGraph is een bibliotheek voor het bouwen van stateful, multi-actor applicaties met LLM's, gebruikt om agent en multi-agent workflows te creรซren. Vergeleken met andere LLM frameworks, biedt het deze kernvoordelen: cycles, controlability en persistence. Met LangGraph kunt u flows definiรซren die cycles omvatten, essentieel voor de meeste agentische architecturen, wat het onderscheidt van DAG-gebaseerde oplossingen. Als een heel low-level framework, biedt het fijnmazige controle over zowel de flow als de status van uw applicatie, cruciaal voor het creรซren van betrouwbare agents. Bovendien bevat LangGraph ingebouwde persistence, wat geavanceerde human-in-the-loop en geheugenfuncties mogelijk maakt.
pip install --quiet -U langgraph
Wat wil ik bouwen:
Een applicatie voor therapeuten die een account op kwaliteitsteem.nl hebben die taken kan uitvoeren, gegevens op kan halen en aanpassen d.m.v. Natuurlijke Taal. Verder heeft de applicatie al een AI-Chatbot (CATja) waarmee de therapeut kan chatten. Mogelijk moet ook deze Chatbot in de CAT Agent worden geรฏntegreerd.
De applicaties die ik bouw zijn opgebouwd ut Classes
De applicaties zijn gemaakt met Streamlit GUI (gebruikersinterface)
Voorafgaand aan deze (de huidige)pagina heb ik twee onderzoek pagina's gemaakt:
1๏ธโฃ "LangGraph Basis principes" pagina met diverse tutorial en video's waarin basis principes van LangGraph worden uitgelegd en door mij wat verder uitgewerkt.
2๏ธโฃ "LangGraph Tests" pagina waar ik de tutorials van de "LangGraph Basis principes" pagina verder uitwerk en aanpas voor eigen gebruik:
๐ธ Ik werk zo veel mogelijk met Classes in mijn projecten
๐ธ Ik gebruik Streamlit om de GUI te bouwen
Bovenstaande maakt dat mijn gewenste manier van werken eerst nog wat oplossingen vraagt voor ik zo maar even een applicatie kan bouwen die opgebouwd is met Classes en een Streamlit GUI heeft.
๐ธ Online zijn bijna geen voorbeelden te vinden die opgebouwd zijn met Classes
๐ธ Bij een Streamlit applicatie wordt het script telkens opnieuw uitgevoerd wat een speciale behandeling vraagt m.b.t. het geheugen van de Graph State.
Geheugen
A Long-Term Memory Agent
Dit soort geheugen is bedoeld om eerdere โgesprekkenโ te kunnen herinneren. Voor dit stoort geheugen is een Database nodig en het is niet het geheugen waar ik naar op zoek ben.
Kortetermijn geheugen
Dit soort geheugen is bedoeld om de eerdere stappen in een conversatie te herinneren en dit is het soort geheugen dat ik nodig heb om LangGraph in een streamlit applicatie te laten werken. Dit soort geheugen is ingebouwd in LangGraph. In dit geheugen worden State updates uitgevoerd en terug gehaald d.m.v. een mee te geven โthread_idโ. Om deze thread_id te kunnen gebruiken moet deze opgeslagen worden in een Streamlit session_state zodat deze bij iedere re-run van Streamlit kan worden opgehaald door deze in de configuratie mee te geven:
config = {"configurable": {"thread_id": "123456"}}
โ ๏ธ De thread_id moet een unieke ID (string) zijn voor iedere thread (daad/gesprek)
Document m.b.t. Kortetermijn geheugen gebruik LangGraph
Hoe je persistentie ("geheugen") aan uw Graph (grafiek) kunt toevoegen