Sofortantwort
Prompt Compression einfach erklärt
Prompts kürzen ohne Informationsverlust – für weniger Kosten und geringere Latenz.
- Kurz gesagt
- Reduziert Token-Anzahl im Prompt – direkte Kostenersparnis bei API-Calls
- Typischer Einsatz
- RAG-Optimierung, Long-Context-Verarbeitung, Kostenreduktion
- Wichtig zu wissen
- Methoden: Extraktion, Zusammenfassung, Selective Context, LLMLingua
Prompt Compression im Überblick
Jedes Token kostet Geld und Zeit. Bei RAG-Systemen werden oft mehrere Dokumente in den Prompt eingefügt – viele davon enthalten redundante oder irrelevante Informationen. Prompt Compression entfernt diese überflüssigen Teile, bevor der Prompt an das LLM gesendet wird.
Das Ziel: Gleiche oder bessere Antwortqualität bei deutlich weniger Tokens.
Kompressionsstrategien:
| Methode | Ansatz | Kompressionsrate |
|---|---|---|
| Extraktion | Wichtigste Sätze behalten | 2–5x |
| Zusammenfassung | LLM fasst zusammen | 5–20x |
| LLMLingua | Token-Level-Kompression | 2–6x |
| Selective Context | Self-Information-basiert | 2–4x |
Technisch betrachtet
LLMLingua in Python
from llmlingua import PromptCompressor
compressor = PromptCompressor(
model_name="microsoft/llmlingua-2-bert-base-multilingual-cased-meetingbank",
use_llmlingua2=True,
)
# Langer RAG-Kontext
context = """
[Dokument 1] ... sehr langer Text ...
[Dokument 2] ... weiterer langer Text ...
[Dokument 3] ... noch mehr Text ...
"""
compressed = compressor.compress_prompt(
context,
rate=0.5, # 50% der Tokens behalten
force_tokens=['\n'], # Zeilenumbrüche immer behalten
)
print(f"Original: {compressed['origin_tokens']} Tokens")
print(f"Komprimiert: {compressed['compressed_tokens']} Tokens")
print(f"Einsparung: {compressed['ratio']:.1f}x")
RAG-Pipeline mit Kompression
async def rag_with_compression(query: str) -> str:
# 1. Dokumente abrufen
docs = await vector_db.search(query, top_k=10)
context = "\n\n".join([d.text for d in docs])
# 2. Kontext komprimieren (vor LLM-Call)
compressed = compressor.compress_prompt(
context,
question=query, # Query-aware Kompression
rate=0.4,
)
# 3. LLM mit komprimiertem Kontext aufrufen
response = await llm.generate(
f"Kontext:\n{compressed['compressed_prompt']}\n\nFrage: {query}"
)
return responseSchritt für Schritt
Einen Prompt vor dem Modellaufruf verdichten
Prompt Compression setzt kurz vor der Antwortgenerierung an. Sie reduziert die bereits ausgewählten Inhalte auf ihre Aufgabe hin.
Aufgabe und Pflichtdetails erkennen
Schutz
Die Anwendung trennt Anweisungen, unverzichtbare Fakten, Quellen und optionale Hintergrundinformationen.
Regeln + Pflichtfakten markierenUnnötige Tokens finden
Auswahl
Wiederholungen, Boilerplate und Passagen ohne Bezug zur aktuellen Frage werden identifiziert.
Kontext → relevante BestandteileInhalte verdichten
Kompression
Extraktion, Zusammenfassung oder tokenbasierte Verfahren reduzieren die Menge bei möglichst gleichem Informationsgehalt.
relevant → kompaktMit Testfragen absichern
Evaluation
Die komprimierte Variante wird mit repräsentativen Fragen gegen den Ausgangskontext verglichen.
Qualität + Tokens + Latenz
Konkretes Beispiel
Beispiel: RAG-Kontext für eine Fachfrage
Eine Suche liefert fünf passende Abschnitte, doch zwei davon wiederholen dieselbe Definition mehrfach.
Direkt in den Prompt
Alle Abschnitte samt Kopfzeilen, Einleitungen und wiederholten Beispielen werden unverändert an das Modell gesendet.
Komprimierter Arbeitskontext
Die Anwendung erhält Kernregeln, relevante Zahlen und Quellenverweise. Wiederholte Erklärungen und Layoutreste entfallen.
Kompression kann die Antwort schneller und günstiger machen. Kritische Fakten, Zahlen und Einschränkungen müssen dabei explizit geschützt werden.
Einordnung
Vorteile und Grenzen
Das spricht dafür
- Senkt Input-Tokens, Kosten und häufig auch die Antwortzeit.
- Schafft Platz für zusätzliche relevante Quellen oder eine längere Antwort.
- Reduziert Ablenkung durch Wiederholungen und Formatballast.
- Ergänzt Chunking und Reranking direkt vor dem LLM-Aufruf.
Das solltest du beachten
- Zu starke Verdichtung kann wichtige Ausnahmen entfernen.
- Ein zusätzlicher Schritt kann selbst Rechenzeit und Fehler verursachen.
- Die ideale Rate hängt stark von Aufgabe und Risiko ab.
- Komprimierte Inhalte müssen an den Originalquellen rückprüfbar bleiben.
Vertiefung · für FortgeschrittenePrompt Compression in der Retrieval-Strecke
Die Methode verdichtet erst nach der Suche und vor der Generierung.
Relevanz verdichten