import streamlit as st from smolagents import CodeAgent, DuckDuckGoSearchTool, HfApiModel # Define the blog-writing agent with DuckDuckGo tool blog_agent = CodeAgent( tools=[DuckDuckGoSearchTool()], model=HfApiModel() ) # Function to log agent actions def log_agent_action(prompt, result, agent_name): st.write(f"### Agent Activity ({agent_name}):") st.write("**Prompt Sent to Agent:**") st.code(prompt, language="text") st.write("**Agent Output:**") st.code(result, language="text") # Streamlit app title st.title("AI Blog Writing Agent with Real-Time Insights") # App description st.write("Generate creative blogs enriched with real-time insights using the AI Blog Writing Agent powered by SmolAgents and DuckDuckGo.") # Input blog topic or prompt blog_prompt = st.text_area("Enter your blog topic or prompt:", placeholder="E.g., The Future of AI in Healthcare") # Button to generate blog content if st.button("Generate Blog Content"): if blog_prompt: with st.spinner("Generating blog content with real-time insights..."): try: # Run the blog agent with the given prompt blog_result = blog_agent.run(blog_prompt) # Display the generated blog content st.subheader("Generated Blog Content:") st.write(blog_result) # Log backend activity log_agent_action(blog_prompt, blog_result, "Blog Writing Agent with DuckDuckGo") except Exception as e: st.error(f"An error occurred: {e}") else: st.warning("Please enter a blog topic or prompt to proceed.") # Footer st.markdown("---") st.caption("Powered by SmolAgents, DuckDuckGo, and Streamlit")