Yasu777 commited on
Commit
07c2825
·
verified ·
1 Parent(s): ea0d663

Update article_generator.py

Browse files
Files changed (1) hide show
  1. article_generator.py +11 -15
article_generator.py CHANGED
@@ -240,38 +240,34 @@ def generate_text_with_gpt4(prompt):
240
  )
241
  return response.choices[0]["message"]["content"].strip()
242
 
 
243
  # 初期データをTavily検索で収集する関数
244
  def perform_initial_tavily_search(h2_texts, h3_texts):
245
  tavily_search_tool = EnhancedTavilySearchTool()
246
  queries = []
 
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):
 
240
  )
241
  return response.choices[0]["message"]["content"].strip()
242
 
243
+ # 初期データをTavily検索で収集する関数
244
  # 初期データをTavily検索で収集する関数
245
  def perform_initial_tavily_search(h2_texts, h3_texts):
246
  tavily_search_tool = EnhancedTavilySearchTool()
247
  queries = []
248
+
249
  for idx, h2_text in enumerate(h2_texts):
250
  h3_for_this_h2 = [h3 for h3 in h3_texts if h3.startswith(f"{idx+1}-")]
251
+ if not h3_for_this_h2 and h2_text.strip() != "まとめ": # "まとめ" セクションを除外
252
  print(f"No matching h3 elements found for h2: {h2_text} at index {idx+1}")
253
  continue
254
+
255
  query = f"{h2_text} {' '.join(h3_for_this_h2)}"
256
  queries.append(query)
257
 
258
+ print("Performing Tavily search with queries:", queries)
259
  responses = tavily_search_tool.search(queries)
 
 
 
 
 
 
 
 
 
260
 
261
+ # フィルタリングを適用
262
  filtered_responses = filter_responses_by_domain(responses, allowed_domains)
263
+
264
  response_dict = {}
265
  for i, query in enumerate(queries):
266
+ if i < len(filtered_responses): # 応答リストの範囲内にあることを確認
267
+ response_dict[query] = filtered_responses[i]
 
268
  else:
269
+ response_dict[query] = "No response received"
270
+
271
  return response_dict
272
 
273
  def save_preloaded_tavily_data(data):