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
- 238