Skip to content

Commit 88d2efc

Browse files
authored
Merge pull request #103 from enoch3712/102-fix-vision-not-working-properly
fix with vision refactoring
2 parents f15ee8e + 2d03981 commit 88d2efc

File tree

8 files changed

+300
-138
lines changed

8 files changed

+300
-138
lines changed

extract_thinker/document_loader/document_loader.py

+12-10
Original file line numberDiff line numberDiff line change
@@ -69,25 +69,27 @@ def load(self, source: Union[str, BytesIO]) -> Any:
6969
"""Enhanced load method that handles vision mode."""
7070
if not self.can_handle(source):
7171
raise ValueError("Unsupported file type or stream.")
72-
72+
7373
response = {}
7474

75+
# Always process text content
76+
content = self.load_content_from_file(source) if isinstance(source, str) else self.load_content_from_stream(source)
77+
78+
# Merge content with response
79+
if content is not None:
80+
if isinstance(content, dict):
81+
response.update(content)
82+
else:
83+
response['content'] = content
84+
85+
# If vision mode is enabled, add images
7586
if self.vision_mode:
7687
if not self.can_handle_vision(source):
7788
raise ValueError("Source cannot be processed in vision mode. Only PDFs and images are supported.")
7889

7990
# Convert to images and add to response
8091
response['images'] = self.convert_to_images(source)
8192

82-
# Normal processing
83-
content = self.load_content_from_file(source) if isinstance(source, str) else self.load_content_from_stream(source)
84-
85-
# Merge content with response
86-
if isinstance(content, dict):
87-
response.update(content)
88-
else:
89-
response['content'] = content
90-
9193
return response
9294

9395
def getContent(self) -> Any:

extract_thinker/document_loader/document_loader_llm_image.py

+14-12
Original file line numberDiff line numberDiff line change
@@ -12,20 +12,22 @@ def __init__(self, content=None, cache_ttl=300, llm=None):
1212
self.llm = llm
1313

1414
def load_content_from_file(self, file_path: str) -> Union[str, object]:
15-
images = self.convert_to_images(file_path)
16-
results = []
17-
for _, image_bytes in images.items():
18-
image_stream = BytesIO(image_bytes)
19-
results.append({"image": image_stream})
20-
return results
15+
pass
16+
# images = self.convert_to_images(file_path)
17+
# results = []
18+
# for _, image_bytes in images.items():
19+
# image_stream = BytesIO(image_bytes)
20+
# results.append({"image": image_stream})
21+
# return results
2122

2223
def load_content_from_stream(self, stream: BytesIO) -> Union[str, object]:
23-
images = self.convert_to_images(stream)
24-
results = []
25-
for _, image_bytes in images.items():
26-
image_stream = BytesIO(image_bytes)
27-
results.append({"image": image_stream})
28-
return results
24+
pass
25+
# images = self.convert_to_images(stream)
26+
# results = []
27+
# for _, image_bytes in images.items():
28+
# image_stream = BytesIO(image_bytes)
29+
# results.append({"image": image_stream})
30+
# return results
2931

3032
def load_content_from_stream_list(self, stream: BytesIO) -> List[Any]:
3133
return self.load_content_from_stream(stream)

0 commit comments

Comments
 (0)