Vision-Modus ist standardmäßig automatisch aktiviert. Wenn das von Ihnen konfigurierte Modell Vision-Unterstützung aktiviert hat, werden hochgeladene Dokumente die reichhaltigste verfügbare Verarbeitungs-Pipeline für dieses Format verwenden.
Format-Unterstützungsmatrix
Jedes Dokumentformat hat eine dedizierte Verarbeitungspipeline. Das Verhalten ändert sich je nachdem, ob das Modell Vision unterstützt.| Format | Textextraktion | Vision-Modus (supports_vision=ON) | Fallback (supports_vision=OFF) |
|---|---|---|---|
| pdfplumber (seitenweise Text) | Intelligente Verarbeitung: textreiche Seiten extrahieren Text + eingebettete Bilder (tokeneffizient); gescannte/nur-Bild-Seiten werden als ganzseitige PNG über PyMuPDF gerendert | Nur Textextraktion; Agent liest über read_uploaded_file-Tool | |
| DOCX / DOC | markitdown (Markdown-Konvertierung) | Eingebettete Bilder extrahiert mit [Figure N] Positionsmarkern über python-docx | Nur Textextraktion; Bilder gehen verloren |
| PPTX / PPT | markitdown (Text aus jeder Folie) | Eingebettete Bilder extrahiert mit [Figure N] Markern und Folientriennern über python-pptx | Nur Textextraktion; Folienvisuals gehen verloren |
| XLSX / XLS | markitdown (Tabellenstruktur erhalten) | Gleich wie Textmodus (Tabellen profitieren nicht von Vision) | Gleich |
| Bilder (JPG, PNG, GIF, WebP) | N/A | Gesendet als image_url Vision-Inhaltsblöcke | Annotiert als [Attached image: filename] — Modell ist sich bewusst, kann aber den Inhalt nicht sehen |
| Textdateien (TXT, MD, PY, JS, HTML, CSV, JSON) | Direktes Lesen / Parsen | N/A (Text ist Text) | Gleich |
Funktionsweise
Wenn ein Benutzer ein Dokument in ein Gespräch hochlädt, führt FIM One eine Verarbeitungspipeline basierend auf dem Dateityp und den Modellfähigkeiten aus:Dateityp-Erkennung
Das System identifiziert das Dokumentformat anhand der Dateierweiterung und des MIME-Typs und wählt dann die entsprechende Extraktions-Pipeline aus. Jede hochgeladene Datei wird mit ihrer UUID
file_id gekennzeichnet, die in den Nachrichtenkontext eingefügt wird, damit der Agent direkt über das Tool read_uploaded_file darauf zugreifen kann.Textextraktion
Unabhängig von der Vision-Unterstützung extrahiert das System immer Textinhalte. PDF verwendet pdfplumber für seitenweise Text. Office-Formate verwenden markitdown für die Markdown-Konvertierung. Textdateien werden direkt gelesen.
Vision-Verarbeitung (falls unterstützt)
Wenn das Modell
supports_vision=true hat und das Dokument ein unterstützter Typ ist:- PDF (intelligente Verarbeitung): Jede Seite wird analysiert — textreiche Seiten extrahieren Text plus alle eingebetteten Bilder separat (um Token zu sparen), während gescannte oder nur Bilder enthaltende Seiten als vollständiges Seiten-PNG mit der konfigurierten DPI für maximale Treue gerendert werden
- DOCX / PPTX: Eingebettete Bilder werden aus dem Dokument-XML mit Positionsmarkern
[Figure N]extrahiert - Bilder: Werden direkt als Vision-Inhaltsblöcke durchgeleitet
Inhaltsassemblierung
Der extrahierte Text und die Vision-Inhalte werden in das vom Modell erwartete Nachrichtenformat assembliert. Text und Bilder werden verschachtelt, damit das Modell visuelle und textliche Informationen korrelieren kann.
Multi-Turn-Persistenz
Vision-Inhalte aus hochgeladenen Dateien werden in den Nachrichtenmetadaten gespeichert und bleiben über Gesprächsrunden hinweg erhalten. Ob Bilder von einem vom Benutzer hochgeladenen Foto oder aus einem Dokument extrahiert wurden, sie bleiben für das Modell verfügbar, um in nachfolgenden Nachrichten darauf zu verweisen.
Vision-Modus-Konfiguration
Es gibt drei Möglichkeiten, um zu steuern, wie Dokumente verarbeitet werden, aufgelistet von der spezifischsten bis zur allgemeinsten.1. Pro-Modell-Umschalter
Navigieren Sie zu Admin > Models > Edit > Advanced und aktivieren Sie das Kontrollkästchen Vision Support. Dies ist die primäre Kontrolle — sie teilt dem System mit, ob ein bestimmtes Modell Bildinhalte akzeptieren kann.2. Globale Umgebungsvariable
Setzen SieDOCUMENT_PROCESSING_MODE in Ihrer Umgebung, um das Standardverhalten systemweit zu überschreiben:
3. Parameter pro Anfrage
Übergeben Sie den Parameterdoc_mode in der Chat-API, um die Verarbeitung für eine einzelne Anfrage zu steuern:
Der Modus
auto (Standard) verwendet Vision, wenn das Modell supports_vision=true hat und das Dokument ein Typ ist, der von der Vision-Verarbeitung profitiert. Dies ist die empfohlene Einstellung für die meisten Bereitstellungen.Umgebungsvariablen
| Variable | Standard | Beschreibung |
|---|---|---|
DOCUMENT_PROCESSING_MODE | auto | Verarbeitungsstrategie: auto (Vision verwenden, wenn verfügbar), vision (immer rendern), text (nie rendern) |
DOCUMENT_VISION_DPI | 150 | PDF-Rendering-Auflösung in Punkten pro Zoll. Höhere Werte erzeugen bessere Qualität, verbrauchen aber mehr Token |
DOCUMENT_VISION_MAX_PAGES | 20 | Maximale Anzahl von PDF-Seiten, die als Bilder gerendert werden. Seiten über diesem Limit fallen auf Textextraktion zurück |
Token-Kostenüberlegungen
Visueller Inhalt verbraucht deutlich mehr Token als reiner Text. Das Verständnis der Kostenabwägungen hilft Ihnen, das System angemessen zu konfigurieren. Ungefähre Schätzungen:| Szenario | Ungefähre Token-Kosten |
|---|---|
| Eine PDF-Seite bei 150 DPI | 1.000 — 2.000 Token |
| 10-seitige PDF im Vision-Modus | 10.000 — 20.000 Token |
| Dieselbe 10-seitige PDF nur als Text | 2.000 — 5.000 Token |
| Ein eingebettetes DOCX-Bild | 500 — 1.500 Token |
Tipps zur Kostenoptimierung
- Setzen Sie
DOCUMENT_VISION_MAX_PAGESauf einen angemessenen Grenzwert (z. B. 10) für die allgemeine Nutzung - Reduzieren Sie
DOCUMENT_VISION_DPIvon 150 auf 100, wenn die Bildqualität akzeptabel ist — dies reduziert den Token-Verbrauch um etwa 40% - Verwenden Sie den
text-Modus für Dokumente, bei denen das Layout nicht wichtig ist (z. B. reine Textberichte, Tabellenkalkulationen) - Verwenden Sie den
vision-Modus selektiv für Dokumente, bei denen das visuelle Layout kritisch ist (z. B. Rechnungen, Formulare, Diagramme)
Designentscheidungen und Einschränkungen
Warum nicht LibreOffice für vollständiges Seiten-Rendering?
LibreOffice kann pixel-perfekte Seiten-Renderings von DOCX- und PPTX-Dateien erstellen, fügt aber etwa 4 GB zum Docker-Image hinzu. Stattdessen extrahiert FIM One eingebettete Bilder direkt aus der Dokument-XML mit python-docx und python-pptx — beide sind bereits transitive Abhängigkeiten von markitdown, daher entsteht kein zusätzlicher Installationsaufwand. Der Kompromiss: Wir erhalten die tatsächlich eingebetteten Bilder in voller Qualität, verlieren aber den Kontext des Seitenlayouts. Die[Figure N] Positionsmarker helfen dem LLM, Text und Bilder zu korrelieren, aber die räumliche Beziehung ist ungefähr statt exakt.
Was geht ohne LibreOffice verloren?
| Verlorenes Element | Auswirkung |
|---|---|
| Textformatierung (fett, kursiv, Schriftgrößen) | LLM erhält nur Klartext |
| Räumliche Positionierung von Bild und Text | [Figure N]-Marker approximieren, zeigen aber keine genaue Platzierung |
| Von Office generierte Diagramme (nicht als Bilder eingebettet) | XML-definierte Diagramme werden nicht extrahiert |
| Seitenkopf- und -fußzeilen in DOCX | Teilweise von markitdown beibehalten |
PDF Vision vs. DOCX/PPTX Vision
Die Qualität der Bildverarbeitung variiert je nach Format:- PDF — Intelligente seitenweise Verarbeitung. Textreiche Seiten extrahieren Textinhalte plus alle eingebetteten Bilder separat, was erheblich token-effizienter ist. Gescannte oder nur Bilder enthaltende Seiten (z. B. fotografierte Dokumente, gescannte Verträge) werden als Ganzseitenbilder im PNG-Format für maximale visuelle Qualität dargestellt. Dieser adaptive Ansatz balanciert Qualität und Token-Kosten automatisch.
- DOCX / PPTX — Textinhalte plus extrahierte eingebettete Bilder. Gut für die meisten Geschäftsdokumente, aber Seitenlayout und Formatierung bleiben nicht erhalten.
Automatisches Fallback
Wenn ein Modell mit Unterstützung für Bildverarbeitung konfiguriert ist, aber zur Laufzeit Bildinhalte ablehnt, versucht das System die Anfrage automatisch erneut ohne Dokumentbilder. Von Benutzern hochgeladene Bilder (z. B. vom Benutzer angehängte Screenshots) bleiben bei der Wiederholung erhalten — nur aus Dokumenten abgeleitete Bilder werden entfernt.Dieser Fallback-Mechanismus verhindert Aufgabenfehler, die durch falsch konfigurierte Bildverarbeitungseinstellungen verursacht werden. Wenn Sie sehen, dass ein Modell konsistent zurückfällt, überprüfen Sie seine Bildverarbeitungsunterstützungskonfiguration unter Admin > Modelle.
Sicherheitsvorkehrungen
Schutz der Dateiintegrität
Wenn der Agent eine Datei nicht lesen kann (z. B. ein bildbasiertes PDF ohne aktivierte Bildverarbeitung), verhindert eine Schutzmaßnahme auf Systemebene, dass der Agent Inhalte aus anderen Dateien ersetzt. Ohne diesen Schutz könnte der Agent eine andere zugängliche Datei lesen und deren Inhalt so darstellen, als würde er aus dem Zieldokument stammen. Die Schutzmaßnahme stellt sicher, dass der Agent die Einschränkung ehrlich meldet, anstatt eine Antwort aus nicht verwandten Quellen zu erfinden, wenn eine Datei nicht lesbar ist.Beschreibende Fehlerführung
Wenn eine Datei vom Toolread_uploaded_file nicht gelesen werden kann, enthält die Fehlermeldung:
- Den erkannten Dateityp und den Grund, warum er nicht verarbeitet werden konnte
- Eine Empfehlung, Vision auf dem Modell zu aktivieren, wenn die Datei bildbasiert ist
- Alternative Ansätze, die der Benutzer versuchen kann (z. B. Export in ein anderes Format)
Best Practices
Für Administratoren
-
Vision selektiv aktivieren. Aktivieren Sie
supports_visionnur auf Modellen, die echte Bildeingangsunterstützung bieten. Fehlkonfiguration verschwendet Token im Fallback-Wiederholungszyklus. -
Mit
auto-Modus beginnen. Das Standardverhalten ist für die meisten Bereitstellungen korrekt — Vision wird verwendet, wenn es vorteilhaft und verfügbar ist. -
Token-Nutzung überwachen. Nach der Aktivierung von Vision überwachen Sie das Token-Verbrauchsdashboard. Wenn die Kosten unerwartet ansteigen, passen Sie
DOCUMENT_VISION_MAX_PAGESoderDOCUMENT_VISION_DPIan. -
Verwenden Sie das vorgefertigte Sandbox-Image. Das
Dockerfile.sandboxenthält gängige Data-Science-Pakete (pdfplumber, Pillow, pandas usw.), die für die KI-Code-Ausführung gegen Dokumente erforderlich sind. Erstellen Sie es überdocker composeoder manuell mitdocker build -f Dockerfile.sandbox -t fim-sandbox ., um sicherzustellen, dass die Code-Ausführung in--network=none-Containern funktioniert.
Für Endbenutzer
- PDF liefert die besten Ergebnisse. Wenn visuelle Treue wichtig ist, exportieren Sie Ihre Office-Dokumente vor dem Hochladen als PDF.
- Tabellenkalkulationen funktionieren auch so. XLSX-Dateien werden als strukturierte Tabellen extrahiert — Vision bietet keinen zusätzlichen Nutzen.
- Große PDFs können gekürzt werden. Wenn Ihr Dokument das
DOCUMENT_VISION_MAX_PAGES-Limit überschreitet, werden nur die ersten N Seiten als Bilder dargestellt. Die verbleibenden Seiten sind weiterhin als extrahierter Text verfügbar. - Bildqualität ist wichtig. Verwenden Sie für eigenständige Bild-Uploads wenn möglich hochauflösende Originale. Komprimierte oder niedrig aufgelöste Bilder verringern die Fähigkeit des Modells, Details zu extrahieren.