# text.summarize Ollama-basierte treue Zusammenfassung. Sendet Quelltext an einen konfigurierten LLM-Endpunkt mit einem Treue-vor-Kreativität- System-Prompt und liefert die Zusammenfassung plus audit-taugliche Modell-Herkunfts-Felder. ## Capability - `text.summarize@0.1.0` ## Eingaben | Name | Typ | Beschreibung | | ----------- | ---- | ---------------------------------------------------------------------------------- | | `text` | text | Quelltext. | | `style` | text | Optionaler Stil-Hinweis (z.B. `one paragraph`, `three bullet points`, `a tweet`). Default: `one paragraph`. | | `language` | text | Optionaler Ziel-Sprache (z.B. `German`, `ja-JP`). Leer = Quellsprache. | | `endpoint` | text | Ollama-förmiger `/api/chat`-Endpunkt. | | `model` | text | Modell-ID am Endpunkt. | | `api_key` | text | Optionaler Bearer-Token für Cloud-Endpunkte. | ## Ausgaben | Name | Typ | Beschreibung | | ---------------- | ---- | ------------------------------------------------------------------ | | `summary` | text | Die Zusammenfassung. | | `style` | text | Echo des Stil-Inputs. | | `language` | text | Echo des Sprach-Inputs. | | `model_endpoint` | text | URL, gegen die zusammengefasst wurde. | | `model_name` | text | Modell-ID wie an die LLM-API gesendet. | | `model_digest` | text | SHA-256-Digest des bedienenden Ollama-Modells (wenn erreichbar). | ## Treue vor Kreativität Der System-Prompt ist so getrimmt, dass die Zusammenfassung aus dem Quelltext herleitbar bleibt — keine Spekulation, kein mitgedachter Kontext, keine „kreativen" Umformulierungen, die abdriften. Geeignet für Compliance-Flows, in denen eine halluzinierte Zusammenfassung schlimmer ist als eine ausführliche. Das Modell behält die Freiheit, die das vom Operator gewählte LLM ihm gibt; dieses Modul ist der Prompt + Audit-Rahmen, kein fine-tuned Modell. ## Berechtigungen ```yaml permissions: - "net: localhost" - "net: 127.0.0.1" - "net: api.openai.com" - "net: api.anthropic.com" ``` Analog `text.translate` — lokales Ollama per Default, Cloud per Operator-Policy zuschaltbar. ## Grenzen in v0.1.0 - Single-Shot. Sehr lange Quelltexte (> 32k Tokens je nach Modell) brauchen einen vorgeschalteten Chunker; v0.1.0 macht noch keine automatische Chunked-Summarise+Reduce- Pipeline. - Keine strukturierte Ausgabe. `summary` ist Freitext. JSON-formatierte Zusammenfassungen (`{ key_points: [], conclusions: [] }`) sind ein v0.2.0-Kandidat. ## Beispiel-Flow ```yaml name: extract-summarise inputs: document: bytes steps: - id: extract use: text.extract@^0 with: document: $inputs.document - id: summarise use: text.summarize@^0 with: text: $extract.extracted.pages[*].text style: "three bullet points" endpoint: "http://localhost:11434/api/chat" model: "qwen2.5:14b" outputs: summary: $summarise.summary audit_model: $summarise.model_digest ``` ## Build ```bash cargo build --release --target wasm32-wasip2 # Ausgabe: target/wasm32-wasip2/release/text_summarize.wasm ```