In AI-Streaming-Response-Szenarien wird der Text blockweise generiert, und es gibt oft nicht abgeschlossene Markdown-Tags (z. B. nur den Anfang des **, aber keine Abschlussmarkierung). Der herkömmliche Renderer zeigt die ursprüngliche Markierung an, um das Erlebnis zu verderben.Streamdown löst das Problem mit der folgenden Lösung:
- Analyse des Syntaxbaums in EchtzeitInkrementelle Parsing-Techniken werden verwendet, um eine temporäre AST für jedes eintreffende Textfragment zu konstruieren und die wahrscheinliche Struktur vorherzusagen, selbst wenn die Grammatik unvollständig ist.
- Fehlertoleranter Rendering-MechanismusWenn eine nicht geschlossene Syntax erkannt wird, wird die virtuelle Schließungsmarkierung automatisch für das temporäre Rendering ergänzt und dynamisch korrigiert, wenn die tatsächliche Schließungsmarkierung empfangen wird.
- Anwendung im progressiven StilFür Inline-Stile wie fett/kursiv werden sie zunächst mit einem transluzenten Effekt gerendert und dann in Standardstile umgewandelt, wenn das Markup vollständig ist, um den visuellen Übergang zu realisieren.
Schritte zur Umsetzung:
- Installieren Sie die Streamdown-Komponente (npm install streamdown)
- Übergabe von Streaming-Text als Kinder an -Komponenten
- Aktivieren Sie die Eigenschaft parseIncompleteMarkdown (standardmäßig aktiviert)
Diese Antwort stammt aus dem ArtikelStreamdown: Ein Markdown-Renderer, der für KI-Streaming-Reaktionsfähigkeit entwickelt wurdeDie































