Spaces:
Sleeping
Sleeping
File size: 2,651 Bytes
fd01f0f c19d193 fd01f0f 6aae614 9b5b26a 6da4451 fe36f09 6da4451 fd01f0f fe36f09 c637eb6 fe36f09 c637eb6 fe36f09 c637eb6 cb70f9e fe36f09 fd01f0f 8c01ffb fd01f0f b9d410e 9861483 8c01ffb fd01f0f e121372 9861483 fd01f0f 13d500a 8c01ffb fd01f0f 9861483 8fe992b 4669dc3 8c01ffb 8fe992b fd01f0f 9861483 | 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 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 | import datetime
import pytz
import yaml
from smolagents import CodeAgent, HfApiModel
from smolagents.tools import tool
from tools.final_answer import FinalAnswerTool
from Gradio_UI import GradioUI
import datetime
import pytz
import yaml
import math
# ✅ This is the CORRECT and SIMPLE agent
from smolagents.agents import CodeAgent
from smolagents import HfApiModel
from smolagents.tools import tool
from tools.final_answer import FinalAnswerTool
from Gradio_UI import GradioUI
# -----------------------------
# ✅ Define tools directly here
# -----------------------------
@tool
def sigmoid_transform(x1: float, x2: float, x3: float) -> str:
"""Applies the sigmoid transformation to three numbers and returns markdown-formatted output.
Args:
x1: First number
x2: Second number
x3: Third number
Returns:
A markdown string with sigmoid-transformed values.
"""
def sigmoid(x):
return 1 / (1 + math.exp(-x))
return (
"### 🔥 Sigmoid Transformation Results\n"
f"- **x1 = {x1}** → σ(x1) = `{sigmoid(x1):.4f}`\n"
f"- **x2 = {x2}** → σ(x2) = `{sigmoid(x2):.4f}`\n"
f"- **x3 = {x3}** → σ(x3) = `{sigmoid(x3):.4f}`\n"
)
@tool
def my_custom_tool(arg1: str, arg2: int) -> str:
"""A tool that does nothing yet
Args:
arg1: the first argument
arg2: the second argument
"""
return "What magic will you build?"
@tool
def get_current_time_in_timezone(timezone: str) -> str:
"""Fetch the current local time in a specified timezone.
Args:
timezone: A valid timezone string (e.g., 'America/New_York').
"""
try:
tz = pytz.timezone(timezone)
local_time = datetime.datetime.now(tz).strftime("%Y-%m-%d %H:%M:%S")
return f"The current local time in {timezone} is: {local_time}"
except Exception as e:
return f"Error: {str(e)}"
# -----------------------------
# ✅ Load simplified prompt template
# -----------------------------
with open("prompts.yaml") as f:
prompt_templates = yaml.safe_load(f)
# -----------------------------
# ✅ Set up model and agent
# -----------------------------
model = HfApiModel(
model_id='Qwen/Qwen2.5-Coder-32B-Instruct',
max_tokens=2048,
temperature=0.5
)
final_answer = FinalAnswerTool()
agent = CodeAgent(
model=model,
tools=[final_answer, my_custom_tool, get_current_time_in_timezone],
prompt_templates=prompt_templates,
max_steps=6,
verbosity_level=1,
)
# -----------------------------
# ✅ Launch Gradio interface
# -----------------------------
GradioUI(agent).launch()
|