Spaces:
Running
Running
File size: 2,593 Bytes
ef02f0c 9b5b26a c19d193 6aae614 9b5b26a ef02f0c 9b5b26a ef02f0c 9b5b26a ef02f0c 9b5b26a ef02f0c 8c01ffb ef02f0c 8c01ffb ef02f0c 6aae614 ae7a494 ef02f0c e121372 ef02f0c 13d500a 8c01ffb ef02f0c 9b5b26a 8c01ffb 861422e ef02f0c 8c01ffb 8fe992b ef02f0c 8c01ffb ef02f0c 861422e 8fe992b ef02f0c |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 |
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()
|