smolagent / app.py
Rktim's picture
Update app.py
372108e verified
Raw
History Blame Contribute Delete
2.3 kB
import os
from huggingface_hub import login
def main():
# Read the token from an environment variable
token = os.getenv("hugging_face_api")
if token is None:
raise ValueError("Hugging Face token not found in environment variables.")
# Log in to Hugging Face Hub
login(token=token)
# Continue with the rest of your script
print("Successfully logged in to Hugging Face Hub.")
if __name__ == "__main__":
main()
from smolagents import tool , HfApiModel, CodeAgent
import gradio as gr
@tool
def area_of_circle(radius:float)->float:
"""Calculate the area of a circle.
Args:
radius: The radius of the circle.
Returns:
The area of the circle.
"""
return 3.14 * radius * radius
@tool
def area_of_rectangle(length:float, width:float)->float:
"""Calculate the area of a rectangle.
Args:
length: The length of the rectangle.
width: The width of the rectangle.
Returns:
The area of the rectangle.
"""
return length * width
@tool
def area_of_triangle(base:float, height:float)->float:
"""Calculate the area of a triangle.
Args:
base: The base of the triangle.
height: The height of the triangle.
Returns:
The area of the triangle.
"""
return 0.5 * base * height
@tool
def area_of_square(side:float)->float:
"""Calculate the area of a square.
Args:
side: The side of the square.
Returns:
The area of the square.
"""
return side * side
model = HfApiModel(
"Qwen/Qwen2.5-72B-Instruct",
provider="together",
max_tokens=4096,
temperature=0.1
)
agent=CodeAgent(
model=model,
tools=[area_of_circle, area_of_rectangle, area_of_triangle, area_of_square],
max_steps=10,
verbosity_level=2.0,
additional_authorized_imports=['math','numpy']
)
def run_agent(task: str) -> str:
"""Run the agent with the given task and return the result."""
result = agent.run(task)
return str(result)
ui = gr.Interface(
fn=run_agent,
inputs=gr.Textbox(lines=2, placeholder="Enter your task here, e.g., 'Calculate the area of a rectangle with length 5 and width 10'..."),
outputs="text",
title="Area Calculator Agent",
description="Enter a task to calculate the area of a shape."
)
# Launch the interface
ui.launch()