4.4 KiB
4.4 KiB
Image Analysis Code Flow Analysis
Zusammenfassung der Parameter und Handovers
1. Ablauf für Image-Analyse (durch Dokumentenverarbeitung)
Eingabe
- methodAi.process() wird aufgerufen mit:
aiPrompt: Textanweisung für die BildanalysedocumentList: Liste von Dokumenten (einschließlich Bilder)resultType: Output-Format (optional, default: txt)
Verarbeitung
-
mainServiceAi.py →
callAiDocuments()- Delegiert an
subCoreAi.callAiDocuments()
- Delegiert an
-
subCoreAi.py →
callAiDocuments()- Prüft, ob Dokumente vorhanden sind
- Wenn ja: ruft
documentProcessor.callAiText()auf
-
subDocumentProcessing.py →
callAiText()- Ruft
processDocumentsPerChunk()auf
- Ruft
-
subDocumentProcessing.py →
_processChunksWithMapping()- Analysiert jeden Chunk
- Wichtig: Zeile 645-689 - Erkennung von Bildern
- Prüft
is_imageFlag basierend auf:document_mime_type(z.B. "image/jpeg")part.mimeTypepart.typeGroup == "image"
-
subCoreAi.py →
readImage()(wird aufgerufen für Bildchunks)- Zeile 561-625
- Setzt
operationType = IMAGE_ANALYSE - Ruft
aiObjects.callImage()auf mit:prompt: Der Analyse-PromptimageData: Die Bilddaten (bytes oder base64)mimeType: Z.B. "image/jpeg"options: MitoperationType=IMAGE_ANALYSE
Ausgabe
- Textanalyse des Bildes
2. Ablauf für direkte Image-Analyse
Eingabe
- mainServiceAi.readImage() wird direkt aufgerufen mit:
prompt: TextanweisungimageData: Bilddaten (bytes oder base64)mimeType: Z.B. "image/jpeg"options: Optional, wird aufIMAGE_ANALYSEgesetzt
Verarbeitung
-
mainServiceAi.py →
readImage()- Delegiert an
subCoreAi.readImage()
- Delegiert an
-
subCoreAi.py →
readImage()- Setzt
operationType = IMAGE_ANALYSE(Zeile 582) - Ruft
aiObjects.callImage()auf
- Setzt
Ausgabe
- Textanalyse des Bildes
Wo werden welche Funktionen genutzt?
mainServiceAi.py
readImage() (Zeile 96-105)
- Verwendung: Wird direkt von außen aufgerufen (z.B. API)
- Delegiert an:
subCoreAi.readImage() - Verwendung: ✅ Wird verwendet
generateImage() (Zeile 108-118)
- Verwendung: Wird direkt von außen aufgerufen (z.B. API)
- Delegiert an:
subCoreAi.generateImage() - Verwendung: ✅ Wird verwendet
subCoreAi.py
readImage() (Zeile 561-625)
- Verwendung:
- Wird von
mainServiceAi.readImage()aufgerufen - Wird von
subDocumentProcessing._processChunksWithMapping()aufgerufen (Zeile 670)
- Wird von
- Verwendung: ✅ Wird verwendet
generateImage() (Zeile 628-660)
- Verwendung: Wird von
mainServiceAi.generateImage()aufgerufen - Verwendung: ✅ Wird verwendet
subDocumentProcessing.py
_processChunksWithMapping() (Zeile 594-994)
- Bildanalyse: Zeile 645-689
- Erkennt Bilder basierend auf MIME-Type und typeGroup
- Ruft
core_ai.readImage()auf
- Verwendung: ✅ Wird verwendet
Parameter-Validierung
✅ Alle Parameter korrekt
-
operationType:
- Wird immer auf
IMAGE_ANALYSEgesetzt (subCoreAi Zeile 582) - Wird korrekt übergeben
- Wird immer auf
-
imageData:
- Wird korrekt geladen und übergeben
- Unterstützt bytes und base64
-
mimeType:
- Wird automatisch erkannt
- Standard: "image/jpeg"
-
prompt:
- Wird korrekt übergeben
- Kann von Benutzer angepasst werden
Handovers sind korrekt
mainServiceAi → subCoreAi
- ✅
readImage()delegiert korrekt - ✅
generateImage()delegiert korrekt
subDocumentProcessing → subCoreAi
- ✅ Erkennt Bilder korrekt (Zeile 645-689)
- ✅ Ruft
readImage()mit korrekten Parametern auf - ✅ Setzt
operationType=IMAGE_ANALYSE
subCoreAi → aiObjects
- ✅ Ruft
callImage()mit korrekten Parametern auf - ✅ Setzt
operationType=IMAGE_ANALYSE
Identifizierte Probleme
⚠️ Keine Probleme identifiziert
Die Parameter und Handovers sind alle korrekt:
- ✅ Operation Type wird korrekt gesetzt
- ✅ Bilddaten werden korrekt geladen und übergeben
- ✅ MIME-Type wird korrekt erkannt
- ✅ Prompt wird korrekt übergeben
- ✅ Alle Delegierungen funktionieren korrekt
Test-Strategie
Der Test verwendet:
- Direkte Bildanalyse über
mainServiceAi.readImage() - Testet alle Modelle die
IMAGE_ANALYSEunterstützen - Validiert die Antworten auf Inhalt und Struktur