sparrow-parse 0.4.7__py3-none-any.whl → 0.4.9__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- sparrow_parse/__init__.py +1 -1
- sparrow_parse/extractors/vllm_extractor.py +31 -31
- sparrow_parse/vllm/mlx_inference.py +6 -4
- {sparrow_parse-0.4.7.dist-info → sparrow_parse-0.4.9.dist-info}/METADATA +1 -1
- {sparrow_parse-0.4.7.dist-info → sparrow_parse-0.4.9.dist-info}/RECORD +8 -8
- {sparrow_parse-0.4.7.dist-info → sparrow_parse-0.4.9.dist-info}/WHEEL +0 -0
- {sparrow_parse-0.4.7.dist-info → sparrow_parse-0.4.9.dist-info}/entry_points.txt +0 -0
- {sparrow_parse-0.4.7.dist-info → sparrow_parse-0.4.9.dist-info}/top_level.txt +0 -0
sparrow_parse/__init__.py
CHANGED
@@ -1 +1 @@
|
|
1
|
-
__version__ = '0.4.
|
1
|
+
__version__ = '0.4.9'
|
@@ -152,34 +152,34 @@ if __name__ == "__main__":
|
|
152
152
|
|
153
153
|
extractor = VLLMExtractor()
|
154
154
|
|
155
|
-
# export HF_TOKEN="hf_"
|
156
|
-
config = {
|
157
|
-
|
158
|
-
|
159
|
-
|
160
|
-
|
161
|
-
|
162
|
-
|
163
|
-
}
|
164
|
-
|
165
|
-
# Use the factory to get the correct instance
|
166
|
-
factory = InferenceFactory(config)
|
167
|
-
model_inference_instance = factory.get_inference_instance()
|
168
|
-
|
169
|
-
input_data = [
|
170
|
-
|
171
|
-
|
172
|
-
|
173
|
-
|
174
|
-
]
|
175
|
-
|
176
|
-
# Now you can run inference without knowing which implementation is used
|
177
|
-
results_array, num_pages = extractor.run_inference(model_inference_instance, input_data, tables_only=True,
|
178
|
-
|
179
|
-
|
180
|
-
|
181
|
-
|
182
|
-
|
183
|
-
for i, result in enumerate(results_array):
|
184
|
-
|
185
|
-
print(f"Number of pages: {num_pages}")
|
155
|
+
# # export HF_TOKEN="hf_"
|
156
|
+
# config = {
|
157
|
+
# "method": "mlx", # Could be 'huggingface', 'mlx' or 'local_gpu'
|
158
|
+
# "model_name": "mlx-community/Qwen2-VL-7B-Instruct-8bit",
|
159
|
+
# # "hf_space": "katanaml/sparrow-qwen2-vl-7b",
|
160
|
+
# # "hf_token": os.getenv('HF_TOKEN'),
|
161
|
+
# # Additional fields for local GPU inference
|
162
|
+
# # "device": "cuda", "model_path": "model.pth"
|
163
|
+
# }
|
164
|
+
#
|
165
|
+
# # Use the factory to get the correct instance
|
166
|
+
# factory = InferenceFactory(config)
|
167
|
+
# model_inference_instance = factory.get_inference_instance()
|
168
|
+
#
|
169
|
+
# input_data = [
|
170
|
+
# {
|
171
|
+
# "file_path": "/Users/andrejb/Work/katana-git/sparrow/sparrow-ml/llm/data/invoice_1.jpg",
|
172
|
+
# "text_input": "retrieve document data. return response in JSON format"
|
173
|
+
# }
|
174
|
+
# ]
|
175
|
+
#
|
176
|
+
# # Now you can run inference without knowing which implementation is used
|
177
|
+
# results_array, num_pages = extractor.run_inference(model_inference_instance, input_data, tables_only=True,
|
178
|
+
# generic_query=False,
|
179
|
+
# debug_dir="/Users/andrejb/Work/katana-git/sparrow/sparrow-ml/llm/data/",
|
180
|
+
# debug=True,
|
181
|
+
# mode=None)
|
182
|
+
#
|
183
|
+
# for i, result in enumerate(results_array):
|
184
|
+
# print(f"Result for page {i + 1}:", result)
|
185
|
+
# print(f"Number of pages: {num_pages}")
|
@@ -4,7 +4,9 @@ from mlx_vlm.utils import load_image
|
|
4
4
|
from sparrow_parse.vllm.inference_base import ModelInference
|
5
5
|
import os
|
6
6
|
import json
|
7
|
+
from rich.console import Console
|
7
8
|
|
9
|
+
console = Console()
|
8
10
|
|
9
11
|
class MLXInference(ModelInference):
|
10
12
|
"""
|
@@ -19,7 +21,7 @@ class MLXInference(ModelInference):
|
|
19
21
|
:param model_name: Name of the model to load.
|
20
22
|
"""
|
21
23
|
self.model_name = model_name
|
22
|
-
print(f"MLXInference initialized for model: {model_name}")
|
24
|
+
console.print(f"MLXInference initialized for model: {model_name}")
|
23
25
|
|
24
26
|
|
25
27
|
@staticmethod
|
@@ -31,7 +33,7 @@ class MLXInference(ModelInference):
|
|
31
33
|
:return: Tuple containing the loaded model and processor.
|
32
34
|
"""
|
33
35
|
model, processor = load(model_name)
|
34
|
-
print(f"Loaded model: {model_name}")
|
36
|
+
console.print(f"Loaded model: {model_name}")
|
35
37
|
return model, processor
|
36
38
|
|
37
39
|
|
@@ -52,7 +54,7 @@ class MLXInference(ModelInference):
|
|
52
54
|
formatted_json = json.loads(cleaned_text)
|
53
55
|
return json.dumps(formatted_json, indent=2)
|
54
56
|
except json.JSONDecodeError as e:
|
55
|
-
print(f"Failed to parse JSON in MLX inference backend: {e}")
|
57
|
+
console.print(f"Failed to parse JSON in MLX inference backend: {e}")
|
56
58
|
return output_text
|
57
59
|
|
58
60
|
|
@@ -120,7 +122,7 @@ class MLXInference(ModelInference):
|
|
120
122
|
)
|
121
123
|
results.append(self.process_response(response))
|
122
124
|
|
123
|
-
print("Inference completed successfully for: ", file_path)
|
125
|
+
console.print("Inference completed successfully for: ", file_path)
|
124
126
|
|
125
127
|
return results
|
126
128
|
|
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.1
|
2
2
|
Name: sparrow-parse
|
3
|
-
Version: 0.4.
|
3
|
+
Version: 0.4.9
|
4
4
|
Summary: Sparrow Parse is a Python package (part of Sparrow) for parsing and extracting information from documents.
|
5
5
|
Home-page: https://github.com/katanaml/sparrow/tree/main/sparrow-data/parse
|
6
6
|
Author: Andrej Baranovskij
|
@@ -1,7 +1,7 @@
|
|
1
|
-
sparrow_parse/__init__.py,sha256=
|
1
|
+
sparrow_parse/__init__.py,sha256=HVLYuTxwxepBhsoeROAeognEnSW-LkbZ_mSNgbAcTqA,21
|
2
2
|
sparrow_parse/__main__.py,sha256=Xs1bpJV0n08KWOoQE34FBYn6EBXZA9HIYJKrE4ZdG78,153
|
3
3
|
sparrow_parse/extractors/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
4
|
-
sparrow_parse/extractors/vllm_extractor.py,sha256=
|
4
|
+
sparrow_parse/extractors/vllm_extractor.py,sha256=PDLgLlKiq3Bv-UOQTzX3AgxNOLcEU2EniGAXLjMC30U,7820
|
5
5
|
sparrow_parse/helpers/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
6
6
|
sparrow_parse/helpers/pdf_optimizer.py,sha256=GIqQYWtixFeZGCRFXL0lQfQByapCDuQzzRHAkzcPwLE,3302
|
7
7
|
sparrow_parse/processors/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
@@ -11,9 +11,9 @@ sparrow_parse/vllm/huggingface_inference.py,sha256=EJnG6PesGKMc_0qGPN8ufE6pSnhAg
|
|
11
11
|
sparrow_parse/vllm/inference_base.py,sha256=4mwGoAY63MB4cHZpV0czTkJWEzimmiTzqqzKmLNzgjw,820
|
12
12
|
sparrow_parse/vllm/inference_factory.py,sha256=FTM65O-dW2WZchHOrNN7_Q3-FlVoAc65iSptuuUuClM,1166
|
13
13
|
sparrow_parse/vllm/local_gpu_inference.py,sha256=aHoJTejb5xrXjWDIGu5RBQWEyRCOBCB04sMvO2Wyvg8,628
|
14
|
-
sparrow_parse/vllm/mlx_inference.py,sha256=
|
15
|
-
sparrow_parse-0.4.
|
16
|
-
sparrow_parse-0.4.
|
17
|
-
sparrow_parse-0.4.
|
18
|
-
sparrow_parse-0.4.
|
19
|
-
sparrow_parse-0.4.
|
14
|
+
sparrow_parse/vllm/mlx_inference.py,sha256=jlycb0WwpQKGkfCrYYgirOdXrqEV6RROB86dmBvAlrU,4961
|
15
|
+
sparrow_parse-0.4.9.dist-info/METADATA,sha256=vunHfk8AaOMZGvmR-5oeph45PBfJMiiYKRbSBGZ-AGA,6432
|
16
|
+
sparrow_parse-0.4.9.dist-info/WHEEL,sha256=tZoeGjtWxWRfdplE7E3d45VPlLNQnvbKiYnx7gwAy8A,92
|
17
|
+
sparrow_parse-0.4.9.dist-info/entry_points.txt,sha256=8CrvTVTTcz1YuZ8aRCYNOH15ZOAaYLlcbYX3t28HwJY,54
|
18
|
+
sparrow_parse-0.4.9.dist-info/top_level.txt,sha256=n6b-WtT91zKLyCPZTP7wvne8v_yvIahcsz-4sX8I0rY,14
|
19
|
+
sparrow_parse-0.4.9.dist-info/RECORD,,
|
File without changes
|
File without changes
|
File without changes
|