Spaces:
Sleeping
Sleeping
File size: 1,927 Bytes
07ad07e 9b5b26a c19d193 6aae614 9b5b26a 7c1c3f0 40a1328 7c1c3f0 07ad07e 9b5b26a 07ad07e 9b5b26a 07ad07e 9b5b26a 07ad07e 9b5b26a 07ad07e 9b5b26a 07ad07e 9b5b26a 8c01ffb 6aae614 ae7a494 e121372 07ad07e 13d500a 8c01ffb 9b5b26a 8c01ffb 861422e 07ad07e 8c01ffb 8fe992b 07ad07e 8c01ffb 861422e 8fe992b 8c01ffb |
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 |
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
from huggingface_hub import login
import os
# 从环境变量获取 Token
token = os.getenv("HUGGINGFACE_HUB_TOKEN")
# 输入从 Hugging Face 网站获取的 API Token
login(token)
# 这个工具将根据输入参数返回一条自定义消息
@tool
def call_me_here(name: str, count: int) -> str:
"""返回一个问候消息。
Args:
name: 被称呼的名字
count: 一个整数计数
"""
return f"Hello {name}, you are calling me {count} times now!"
@tool
def get_current_time_in_timezone(timezone: str) -> str:
"""获取指定时区的当前本地时间。
Args:
timezone: 字符串,表示有效的时区(例如,'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 fetching time for timezone '{timezone}': {str(e)}"
final_answer = FinalAnswerTool()
model = HfApiModel(
max_tokens=2096,
temperature=0.5,
model_id='Qwen/Qwen2.5-Coder-32B-Instruct',
custom_role_conversions=None,
)
# Import tool from 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)
agent = CodeAgent(
model=model,
tools=[final_answer, call_me_here, get_current_time_in_timezone], # 添加 call_me_here 工具
max_steps=6,
verbosity_level=1,
grammar=None,
planning_interval=None,
name=None,
description=None,
prompt_templates=prompt_templates
)
GradioUI(agent).launch() |