spiderforce4ai 2.4.8__py3-none-any.whl → 2.4.9__py3-none-any.whl
Sign up to get free protection for your applications and to get access to all the features.
- spiderforce4ai/post_extraction_agent.py +23 -19
- {spiderforce4ai-2.4.8.dist-info → spiderforce4ai-2.4.9.dist-info}/METADATA +1 -1
- spiderforce4ai-2.4.9.dist-info/RECORD +7 -0
- spiderforce4ai-2.4.8.dist-info/RECORD +0 -7
- {spiderforce4ai-2.4.8.dist-info → spiderforce4ai-2.4.9.dist-info}/WHEEL +0 -0
- {spiderforce4ai-2.4.8.dist-info → spiderforce4ai-2.4.9.dist-info}/entry_points.txt +0 -0
- {spiderforce4ai-2.4.8.dist-info → spiderforce4ai-2.4.9.dist-info}/top_level.txt +0 -0
@@ -199,31 +199,35 @@ class PostExtractionAgent:
|
|
199
199
|
completion_args["response_format"] = {"type": self.config.response_format}
|
200
200
|
|
201
201
|
response = completion(**completion_args)
|
202
|
-
|
203
|
-
# Log raw response for debugging
|
204
202
|
raw_content = response.choices[0].message.content
|
205
203
|
logger.debug(f"Raw LLM response for {url}: {raw_content}")
|
206
|
-
|
204
|
+
|
205
|
+
# Handle response based on response_format
|
207
206
|
try:
|
208
|
-
|
209
|
-
|
210
|
-
extracted_data = json.loads(raw_content)
|
211
|
-
|
212
|
-
#
|
213
|
-
|
214
|
-
|
215
|
-
|
216
|
-
|
217
|
-
|
218
|
-
|
219
|
-
|
220
|
-
|
221
|
-
|
222
|
-
|
223
|
-
|
207
|
+
if self.config.response_format == "json_object":
|
208
|
+
# For json_object format, response should already be valid JSON
|
209
|
+
extracted_data = raw_content if isinstance(raw_content, dict) else json.loads(raw_content)
|
210
|
+
else:
|
211
|
+
# For text format or unspecified, try parsing JSON or use as text
|
212
|
+
try:
|
213
|
+
extracted_data = json.loads(raw_content)
|
214
|
+
except json.JSONDecodeError:
|
215
|
+
# Look for JSON in markdown code blocks
|
216
|
+
json_match = re.search(r'```(?:json)?\s*\n([\s\S]*?)\n```', raw_content)
|
217
|
+
if json_match:
|
218
|
+
json_content = json_match.group(1).strip()
|
219
|
+
extracted_data = json.loads(json_content)
|
220
|
+
else:
|
221
|
+
# If no JSON found and not json_object format, use raw content
|
222
|
+
extracted_data = {
|
223
|
+
"raw_content": raw_content,
|
224
|
+
"format": "text",
|
225
|
+
"timestamp": datetime.now().isoformat()
|
226
|
+
}
|
224
227
|
|
225
228
|
self.buffer.remove_request(url) # Remove from buffer if successful
|
226
229
|
return extracted_data
|
230
|
+
|
227
231
|
except Exception as e:
|
228
232
|
error_msg = (
|
229
233
|
f"Error processing LLM response for {url}:\n"
|
@@ -0,0 +1,7 @@
|
|
1
|
+
spiderforce4ai/__init__.py,sha256=DUPOKF7-vCVQi7JimsStU1qjk5x3yVUoMnUVOJxOrGk,42360
|
2
|
+
spiderforce4ai/post_extraction_agent.py,sha256=so5Ze7Vz3konpQ0iT7ZxDGE9kIYeTwPTFyzezRc5oys,15392
|
3
|
+
spiderforce4ai-2.4.9.dist-info/METADATA,sha256=kEq3anAkoe_wpPVzpgaJlsSuAzTQHDgXiDFpirXvUQc,9012
|
4
|
+
spiderforce4ai-2.4.9.dist-info/WHEEL,sha256=In9FTNxeP60KnTkGw7wk6mJPYd_dQSjEZmXdBdMCI-8,91
|
5
|
+
spiderforce4ai-2.4.9.dist-info/entry_points.txt,sha256=ibARQxOlDiL1ho12zbDZt4Uq5RKSIk_qk159ZlZ46hc,59
|
6
|
+
spiderforce4ai-2.4.9.dist-info/top_level.txt,sha256=Kth7A21Js7DCp0j5XBBi-FE45SCLouZkeNZU__Yr9Yk,15
|
7
|
+
spiderforce4ai-2.4.9.dist-info/RECORD,,
|
@@ -1,7 +0,0 @@
|
|
1
|
-
spiderforce4ai/__init__.py,sha256=DUPOKF7-vCVQi7JimsStU1qjk5x3yVUoMnUVOJxOrGk,42360
|
2
|
-
spiderforce4ai/post_extraction_agent.py,sha256=5M7pBU8O44Khfub2jSSPboSbrcsAPw6nnp576qIA2pY,14988
|
3
|
-
spiderforce4ai-2.4.8.dist-info/METADATA,sha256=zsEmCfjL_ueJzIeTJ9BIdUEF3R-4uOPDqrRxox70Cto,9012
|
4
|
-
spiderforce4ai-2.4.8.dist-info/WHEEL,sha256=In9FTNxeP60KnTkGw7wk6mJPYd_dQSjEZmXdBdMCI-8,91
|
5
|
-
spiderforce4ai-2.4.8.dist-info/entry_points.txt,sha256=ibARQxOlDiL1ho12zbDZt4Uq5RKSIk_qk159ZlZ46hc,59
|
6
|
-
spiderforce4ai-2.4.8.dist-info/top_level.txt,sha256=Kth7A21Js7DCp0j5XBBi-FE45SCLouZkeNZU__Yr9Yk,15
|
7
|
-
spiderforce4ai-2.4.8.dist-info/RECORD,,
|
File without changes
|
File without changes
|
File without changes
|