Autonome Agenten mit LangChain
🦜🔗
Wer es selbst probieren will braucht ...
- einen OpenAI Key
(sorry dafür, is aber so)
 - einen SerpAPI-Key
 - ein Jupyter-EnvÂ
- Docker wird mitgeliefert
- Internet
Â
- Bekommt Ihr alles unter der URL gleich, und ich erzähl was, solange Ihr einrichtet.
Was sind Agenten?
- fast so alt wie ich, 1977 Â Hewitt
 - führt aus eigener Initiative Aktionen aus und arbeitet unabhängig vom Nutzer
 -
kommuniziert mit dem Nutzer und anderen Agenten
 - passt sich an die Umwelt an und lernt langfristig aus Beobachtungen und Entscheidungen
https://tinyurl.com/codetalks23
Was sind Agenten?
https://tinyurl.com/codetalks23
Sie sind schuld.
https://tinyurl.com/codetalks23
ChatGPT und die
LLM-(R)Evolution
Das geht jetzt intelligent& einfach
Â
-
führt aus eigener Initiative Aktionen aus und arbeitet unabhängig vom Nutzer
 -
kommuniziert mit dem Nutzer und anderen Agenten
 - passt sich an die Umwelt an und lernt langfristig aus Beobachtungen und Entscheidungen
https://tinyurl.com/codetalks23
ChatGPT und die
LLM-(R)Evolution
https://arxiv.org/pdf/2309.07864.pdf
Das Problem mit LLMs und Agenten ...Â
- Der LLM-Fuckup: XX token/s
 -
Chat & Streaming geht in UX gerade so - aber nicht bei Agenten
 - Fazit: Agenten sind asynchrone ServicesÂ
🦜🔗 LangChain
🦜🔗 LangChain
🦜🔗 LangChain
- Alternatives
- AutoChain
- Semantic Kernel
- Haystack
- llama Index
- Langchain Community
- Features, Doku, Entwickler
- viel Forks, viele Comitter
- Häufige compability breaks
- Gegenargumente
- Zu gross, zu schnell, zu viel
- Wird noch eine Weile populär bleiben.
🦜🔗 Wie tickt LangChain?
Ziele:Â
- be data-aware Daten für LLMs bereitstellen
- be agentic Agenten als Kernstrategie
Â
Dafür wird bereitgestellt:Â
- Komponenten Abstraktionen für typische Aufgaben
- Off-the-shelf chains (fast) fertige Lösungsstrecken
🦜🔗 Chains
https://python.langchain.com/docs/use_cases/more/agents
https://arxiv.org/pdf/2309.07864.pdf
Default: ReAct Agents
https://blog.research.google/2022/11/react-synergizing-reasoning-and-acting.html
Der agile
Plan-Do-Check-Act-Loop der Agenten.
ReAct
Agents
https://blog.research.google/2022/11/react-synergizing-reasoning-and-acting.html
🦜🔗 ReAct Example
HandsOn 2: ReAct mit LangChain
Â
Bitte
2_react.ipynb
aufrufen.
🦜🔗 Tools
Im Beispiel: search und llm-math
Â
Viele Tools, wachsend ...Â
- Alle Suchplattformen, Wikipedia, Arxiv, WolframAlpha, DuckDuckGo, ...
- Libraries: HuggingFace Tools
- Code ausführen: Shell , Python, Lambda
- Interaktion: Human
🦜🔗 Stand da gerade Shell?Â
Â
Kommt Ihr noch klar?
Ich soll allen Ernstes OpenAI auf meinem Rechner was ausführen lassen?
Â
Bitte
3_react_with_humantool.ipynb
aufrufen.
Â
Wer neugierig ist: unter
https://github.com/mayflower/cloudbot
ist ein kubernetes/aws-bot.
🦜🔗 Long Term Memory
Natürliche Sprache != Strukturierte Daten
! SQL, !NoSQL, !DocumentDB, !GraphDB
Wenn man bloss was hätte, was man mit Sprache abfragen könnte ...
🦜🔗 VectorStores
Superspezialdatenbanken mit 3 Spalten:
- hochdimensionaler Vektorindex
- Textblob
- Metadata
Â
Der Vektorindex kommt aus Embeddings.
🦜🔗 Embeddings
-
Texte sind in LLMs in TokenÂ
 - Embeddings sind Vektoren, die den "Sinn" von einem Stapel Token abbilden
Â
"Liebe Vektordatenbank, gib mir mal alles inhaltlich ähnliches hierzu."
Â
Â
Â
- Every other "Chat My $stuff" Chatbot
 -
Dokumentation verwendbar machen
 -
Callcenter und Supportanfragen automatisch beantworten
 -
Kundenbriefe und Mails auf Basis vergangener ähnlicher Anfragen beantworten
 - Alles Consultingwissen, von SAP bis Legal.
🦜🔗 Nutzen bei Agenten
🦜🔗 Docstore in Agenten verwenden
Â
Bitte
4_react_with_docstore.ipynb
aufrufen.
Â
🦜🔗 Strukturierte Daten
Hey, schön, dass Du Dich so
über Deinen VectorStore freust.
Â
Â
Unsere Daten liegen trotzdem in Oracle.
Â
🦜🔗 Existierende Datenbanken anbinden
SQLDatabaseToolkit kümmert sich um:
- Parsen der Schemata
- Interpretieren der Daten
- Erzeugen der SQL-Statements
Â
Bitte
5_agent_with_sql_toolkit.ipynb
aufrufen.
Â
🦜🔗 Plan & Solve
🦜🔗 Plan and execute
Der Waterfall unter den Agenten ...
Â
Bitte
6_plan_and_execute.ipynb
aufrufen.
Â
🦜🔗 BabyAGI
AGIs, das MakeMoneyFast!!!111elf der AI.
Â
Wer hat schon mal AutoGPT, BabyAGI, DevGPT, ... genutzt?
Â
GrundIdee: jedes Problem von der AI lösen lassen ohne selbst zu arbeiten.
🦜🔗 BabyAGI
Â
Bitte
7_BabyAGI.ipynb
aufrufen.
Â
🦜🔗 BabyAGI
Praxiserfahrungen:
Â
- es funktioniert in limitierten Domänen
- as in: Abteilungen, Arbeitsbereichen
- es braucht Long Term MemoryÂ
- es braucht Interaktion
- DRY in Richtig.
Â
🦜🔗 Your PAL for formal stuff
Program Aided Language
Â
Wenn eine formelle Sprache ein Problem besser lösen kann sollte sie es tun.Â
Â
In Langchain:
LLMath, Bash, Python, SQL etc ...
Â
🦜🔗 Your PAL for formal stuff
Â
Bitte
8_CPAL.ipynb
aufrufen.
Â
🦜🔗 CAMEL: Teamwork
🦜🔗 CAMEL: Teamwork
🦜🔗 CAMEL: Teamwork
Â
- Eigentlich als Simulation für Games etc gedacht
 - Erstaunlich kluge Ergebnisse
 - Kann alle anderen Features in Kooperation integrieren
 - Wirr aber wahr: Teamwork funktioniert auch für AI besser.
Â
🦜🔗 CAMEL: Teamwork
Â
Bitte
9_camel.ipynb
aufrufen.
Â
🦜🔗 Integration in Unternehmens-IT
🦜🔗 Integration in Unternehmens-IT
Â
Bitte
10_office.ipynb
aufrufen.
Â
Q&A
Ausblick
- Vieles ist noch instabil
- Wenn man bleeding edge mag cool
- lokal schnell grosse Benefits realisierbar
- Infrastruktur drumherum entsteht erst
- Observability (Langsmith etc)
- Deployment
- Automation (SuperAgent)
Autonome Agenten mit LangChain
By Johann-Peter Hartmann
Autonome Agenten mit LangChain
- 176