Sofortantwort
Prompt Chaining einfach erklärt
Komplexe Aufgaben durch verkettete LLM-Aufrufe lösen.
- Kurz gesagt
- Komplexe Aufgaben in einfachere Teilschritte zerlegen
- Typischer Einsatz
- Dokumentenverarbeitung, Code-Generierung, Content-Erstellung
- Wichtig zu wissen
- Bessere Kontrolle und Debugging als ein einzelner komplexer Prompt
Prompt Chaining im Überblick
Prompt Chaining bedeutet, komplexe Aufgaben in mehrere LLM-Aufrufe zu zerlegen. Die Ausgabe eines Schritts wird zur Eingabe des nächsten – wie eine Kette.
Warum ist das besser als ein einzelner Prompt?
- Einfachere Prompts: Jeder Schritt hat eine klare, fokussierte Aufgabe
- Bessere Kontrolle: Zwischenergebnisse können validiert werden
- Einfacheres Debugging: Fehler sind leichter zu lokalisieren
- Flexibilität: Verschiedene Modelle für verschiedene Schritte
Beispiel Dokumentenanalyse:
Schritt 1: "Extrahiere alle Fakten aus diesem Text"
↓ [Liste von Fakten]
Schritt 2: "Kategorisiere diese Fakten nach Thema"
↓ [Kategorisierte Fakten]
Schritt 3: "Schreibe eine Zusammenfassung basierend auf den wichtigsten Fakten"
↓ [Finale Zusammenfassung]
Technisch betrachtet
Einfache Chain in Python
def document_analysis_chain(document: str) -> str:
# Schritt 1: Fakten extrahieren
facts = llm.complete(f"Extrahiere alle Fakten:\n{document}")
# Schritt 2: Kategorisieren
categorized = llm.complete(f"Kategorisiere diese Fakten:\n{facts}")
# Schritt 3: Zusammenfassen
summary = llm.complete(f"Schreibe eine Zusammenfassung:\n{categorized}")
return summary
LangChain Beispiel
from langchain import PromptTemplate, LLMChain
from langchain.chains import SequentialChain
extract_chain = LLMChain(
llm=llm,
prompt=PromptTemplate.from_template("Extrahiere Fakten: {document}"),
output_key="facts"
)
summarize_chain = LLMChain(
llm=llm,
prompt=PromptTemplate.from_template("Fasse zusammen: {facts}"),
output_key="summary"
)
chain = SequentialChain(
chains=[extract_chain, summarize_chain],
input_variables=["document"],
output_variables=["summary"]
)
Best Practices
| Practice | Beschreibung |
|---|---|
| Validierung | Zwischenergebnisse prüfen |
| Fehlerbehandlung | Retry, Fallback, Logging |
| Modell-Auswahl | Günstigere Modelle für einfache Schritte |
| Parallelisierung | Unabhängige Schritte parallel ausführen |