Yasu777 commited on
Commit
ea0d663
·
verified ·
1 Parent(s): 16f5c49

Update article_generator.py

Browse files
Files changed (1) hide show
  1. 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}に対応するh3が見つかりませんでした: インデックス {idx+1}")
251
  continue
252
  query = f"{h2_text} {' '.join(h3_for_this_h2)}"
253
  queries.append(query)
254
 
255
- print("Tavily search executing with queries:", queries)
256
  responses = tavily_search_tool.search(queries)
257
-
258
- # レスポンスの形式を確認
 
 
 
 
259
  if not isinstance(responses, list):
260
- print("Error: Response is not a list.")
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
- if isinstance(filtered_responses[i], dict):
269
- response_dict[query] = filtered_responses[i].get('title', "No title received")
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] = "No response received"
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):