from smolagents import CodeAgent, DuckDuckGoSearchTool, HfApiModel, load_tool, tool import datetime import requests import pytz import yaml from tools.final_answer import FinalAnswerTool from Gradio_UI import GradioUI # Bhagavad Gita API Endpoint BHAGAVAD_GITA_API = "https://bhagavadgitaapi.in/verses" @tool def get_bhagavad_gita_answer(problem: str) -> str: """ A tool that fetches relevant Bhagavad Gita verses based on a user's problem or life question. Args: problem: The problem or concern stated by the user. Returns: A verse from the Bhagavad Gita with its meaning and explanation. """ try: # Send request to Bhagavad Gita API response = requests.get(BHAGAVAD_GITA_API) if response.status_code == 200: verses = response.json() # Get all verses relevant_verse = verses.get("verses")[0] # Fetch first relevant verse verse_text = relevant_verse.get("text", "Verse not available") meaning = relevant_verse.get("translation", "Meaning not found") chapter = relevant_verse.get("chapter", "Unknown") verse_number = relevant_verse.get("verse", "Unknown") return (f"**Bhagavad Gita - Chapter {chapter}, Verse {verse_number}**\n\n" f"πŸ“– *{verse_text}*\n\n" f"πŸ” **Meaning:** {meaning}\n\n" f"☸️ **Relevance to your problem:** This verse provides wisdom on how to approach challenges.") else: return "Sorry, I couldn't fetch a relevant verse at the moment. Please try again later." except Exception as e: return f"Error fetching Bhagavad Gita teachings: {str(e)}" # Final Answer Tool final_answer = FinalAnswerTool() # Hugging Face Model model = HfApiModel( max_tokens=2096, temperature=0.5, model_id='Qwen/Qwen2.5-Coder-32B-Instruct', custom_role_conversions=None, ) # Import tool from Hugging Face Hub image_generation_tool = load_tool("agents-course/text-to-image", trust_remote_code=True) with open("prompts.yaml", 'r') as stream: prompt_templates = yaml.safe_load(stream) # Code Agent Setup agent = CodeAgent( model=model, tools=[final_answer, get_bhagavad_gita_answer], # Added Bhagavad Gita tool max_steps=6, verbosity_level=1, grammar=None, planning_interval=None, name="Bhagavad Gita AI", description="A spiritual guide using Bhagavad Gita teachings to solve life's problems.", prompt_templates=prompt_templates ) # Launch Gradio UI GradioUI(agent).launch()