Spaces:
Sleeping
Sleeping
import yaml | |
from smolagents import CodeAgent, HfApiModel | |
from tools.final_answer import FinalAnswerTool | |
from Gradio_UI import GradioUI | |
# Simplified system prompt without any code-related instructions | |
system_prompt = ( | |
"You are a health and lifestyle advisor specializing in the early detection and prevention of hypertension. " | |
"Provide direct and concise lifestyle advice based on the user's details. " | |
"Output a clear answer as plain text with no extra commentary." | |
) | |
def clean_response(text): | |
""" | |
Simple cleanup function that removes extra whitespace and ensures proper formatting. | |
""" | |
# Remove extra whitespace | |
text = ' '.join(text.split()) | |
# Split into paragraphs for readability | |
paragraphs = text.split('\n\n') | |
cleaned_paragraphs = [p.strip() for p in paragraphs if p.strip()] | |
return '\n\n'.join(cleaned_paragraphs) | |
# Load prompt templates from YAML | |
with open("prompts.yaml", 'r') as stream: | |
prompt_templates = yaml.safe_load(stream) | |
# Initialize the model with simplified settings | |
model = HfApiModel( | |
max_tokens=1024, | |
temperature=0.5, | |
model_id='Qwen/Qwen2.5-Coder-32B-Instruct' | |
) | |
# Initialize CodeAgent with minimal configuration | |
agent = CodeAgent( | |
model=model, | |
tools=[FinalAnswerTool()], | |
max_steps=1, | |
verbosity_level=0, | |
name="Health Advisor", | |
description=system_prompt, | |
prompt_templates=prompt_templates | |
) | |
def run_agent(user_input): | |
""" | |
Runs the agent and returns a clean, formatted response. | |
""" | |
try: | |
response = agent.run(user_input) | |
return clean_response(response) | |
except Exception as e: | |
return f"I apologize, but I couldn't process your request. Please try again." | |
# Launch the Gradio UI | |
GradioUI(agent).launch() | |