Spaces:
Sleeping
Sleeping
Update article_generator.py
Browse files- article_generator.py +13 -13
article_generator.py
CHANGED
|
@@ -247,31 +247,31 @@ def perform_initial_tavily_search(h2_texts, h3_texts):
|
|
| 247 |
for idx, h2_text in enumerate(h2_texts):
|
| 248 |
h3_for_this_h2 = [h3 for h3 in h3_texts if h3.startswith(f"{idx+1}-")]
|
| 249 |
if not h3_for_this_h2 and h2_text.strip() != "まとめ":
|
| 250 |
-
print(f"{h2_text}
|
| 251 |
continue
|
| 252 |
query = f"{h2_text} {' '.join(h3_for_this_h2)}"
|
| 253 |
queries.append(query)
|
| 254 |
|
| 255 |
-
print("Tavily search
|
| 256 |
responses = tavily_search_tool.search(queries)
|
| 257 |
-
|
| 258 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
| 259 |
if not isinstance(responses, list):
|
| 260 |
-
print("Error: Response is
|
| 261 |
return {}
|
| 262 |
|
| 263 |
-
# レスポンスをフィルタリング
|
| 264 |
filtered_responses = filter_responses_by_domain(responses, allowed_domains)
|
| 265 |
response_dict = {}
|
| 266 |
for i, query in enumerate(queries):
|
| 267 |
-
if i < len(filtered_responses)
|
| 268 |
-
|
| 269 |
-
|
| 270 |
-
else:
|
| 271 |
-
print(f"Error: Expected dictionary but received {type(filtered_responses[i])}")
|
| 272 |
-
response_dict[query] = "Invalid response format"
|
| 273 |
else:
|
| 274 |
-
response_dict[query] = "
|
| 275 |
return response_dict
|
| 276 |
|
| 277 |
def save_preloaded_tavily_data(data):
|
|
|
|
| 247 |
for idx, h2_text in enumerate(h2_texts):
|
| 248 |
h3_for_this_h2 = [h3 for h3 in h3_texts if h3.startswith(f"{idx+1}-")]
|
| 249 |
if not h3_for_this_h2 and h2_text.strip() != "まとめ":
|
| 250 |
+
print(f"No matching h3 elements found for h2: {h2_text} at index {idx+1}")
|
| 251 |
continue
|
| 252 |
query = f"{h2_text} {' '.join(h3_for_this_h2)}"
|
| 253 |
queries.append(query)
|
| 254 |
|
| 255 |
+
print("Executing Tavily search with queries:", queries)
|
| 256 |
responses = tavily_search_tool.search(queries)
|
| 257 |
+
if isinstance(responses, str):
|
| 258 |
+
try:
|
| 259 |
+
responses = json.loads(responses) # 文字列をJSONとして解析
|
| 260 |
+
except json.JSONDecodeError:
|
| 261 |
+
print("Error: Response string is not valid JSON.")
|
| 262 |
+
return {}
|
| 263 |
if not isinstance(responses, list):
|
| 264 |
+
print("Error: Response format is incorrect, expected a list.")
|
| 265 |
return {}
|
| 266 |
|
|
|
|
| 267 |
filtered_responses = filter_responses_by_domain(responses, allowed_domains)
|
| 268 |
response_dict = {}
|
| 269 |
for i, query in enumerate(queries):
|
| 270 |
+
response = filtered_responses[i] if i < len(filtered_responses) else None
|
| 271 |
+
if isinstance(response, dict):
|
| 272 |
+
response_dict[query] = response.get('title', 'No title received')
|
|
|
|
|
|
|
|
|
|
| 273 |
else:
|
| 274 |
+
response_dict[query] = "Invalid response format or no response received"
|
| 275 |
return response_dict
|
| 276 |
|
| 277 |
def save_preloaded_tavily_data(data):
|