anu151105 commited on
Commit
cc1dc99
·
verified ·
1 Parent(s): dfeefd6

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +11 -5
app.py CHANGED
@@ -524,7 +524,7 @@ def create_blog_generator_workflow():
524
 
525
  return workflow.compile()
526
 
527
- def generate_ai_news_blog(groq_api_key=None, tavily_api_key=None, date=None):
528
  """Main function to generate AI news blog"""
529
  # Set API keys if provided
530
  if groq_api_key:
@@ -542,9 +542,14 @@ def generate_ai_news_blog(groq_api_key=None, tavily_api_key=None, date=None):
542
  else:
543
  today = date
544
 
 
 
 
 
 
545
  # Step 1: Search for AI news
546
  news_search = create_news_search_workflow()
547
- news_results = news_search.invoke({"query": "latest artificial intelligence news", "date": today})
548
 
549
  print(f"Found {len(news_results['news_items'])} AI news items")
550
 
@@ -592,12 +597,12 @@ def generate_ai_news_blog(groq_api_key=None, tavily_api_key=None, date=None):
592
  def create_gradio_interface():
593
  """Create a Gradio interface for the AI News Blog Generator"""
594
 
595
- def run_generation(groq_key, tavily_key, selected_date):
596
  if not groq_key or not tavily_key:
597
  return "Please provide both API keys."
598
 
599
  try:
600
- result = generate_ai_news_blog(groq_key, tavily_key, selected_date)
601
  return result
602
  except Exception as e:
603
  return f"Error generating blog: {str(e)}"
@@ -613,6 +618,7 @@ def create_gradio_interface():
613
  tavily_key = gr.Textbox(label="Tavily API Key", placeholder="Enter your Tavily API key", type="password")
614
  date_picker = gr.Textbox(label="Date (YYYY-MM-DD)", placeholder="Leave empty for today's date",
615
  value=datetime.now().strftime("%Y-%m-%d"))
 
616
  with gr.Row():
617
  generate_button = gr.Button("Generate AI News Blog", variant="primary")
618
  clear_button = gr.Button("Clear Output")
@@ -629,7 +635,7 @@ def create_gradio_interface():
629
  queue=False
630
  ).then(
631
  fn=run_generation,
632
- inputs=[groq_key, tavily_key, date_picker],
633
  outputs=output_md
634
  ).then(
635
  fn=lambda: "Blog generation complete!",
 
524
 
525
  return workflow.compile()
526
 
527
+ def generate_ai_news_blog(groq_api_key=None, tavily_api_key=None, date=None, topic=None):
528
  """Main function to generate AI news blog"""
529
  # Set API keys if provided
530
  if groq_api_key:
 
542
  else:
543
  today = date
544
 
545
+ # Create search query with date and topic to get recent news
546
+ query = f"latest artificial intelligence news {today} english"
547
+ if topic:
548
+ query = f"latest {topic} news {today} english" # Update query to include user-defined topic
549
+
550
  # Step 1: Search for AI news
551
  news_search = create_news_search_workflow()
552
+ news_results = news_search.invoke({"query": query, "date": today})
553
 
554
  print(f"Found {len(news_results['news_items'])} AI news items")
555
 
 
597
  def create_gradio_interface():
598
  """Create a Gradio interface for the AI News Blog Generator"""
599
 
600
+ def run_generation(groq_key, tavily_key, selected_date, topic):
601
  if not groq_key or not tavily_key:
602
  return "Please provide both API keys."
603
 
604
  try:
605
+ result = generate_ai_news_blog(groq_key, tavily_key, selected_date, topic) # Pass topic to the function
606
  return result
607
  except Exception as e:
608
  return f"Error generating blog: {str(e)}"
 
618
  tavily_key = gr.Textbox(label="Tavily API Key", placeholder="Enter your Tavily API key", type="password")
619
  date_picker = gr.Textbox(label="Date (YYYY-MM-DD)", placeholder="Leave empty for today's date",
620
  value=datetime.now().strftime("%Y-%m-%d"))
621
+ topic_input = gr.Textbox(label="Topic", placeholder="Enter a topic for news generation") # New input for topic
622
  with gr.Row():
623
  generate_button = gr.Button("Generate AI News Blog", variant="primary")
624
  clear_button = gr.Button("Clear Output")
 
635
  queue=False
636
  ).then(
637
  fn=run_generation,
638
+ inputs=[groq_key, tavily_key, date_picker, topic_input], # Include topic in inputs
639
  outputs=output_md
640
  ).then(
641
  fn=lambda: "Blog generation complete!",