File size: 2,108 Bytes
f6cb8f1 9b5b26a c19d193 6aae614 8fe992b 9b5b26a f6cb8f1 9b5b26a f6cb8f1 9b5b26a f6cb8f1 9b5b26a f6cb8f1 9b5b26a f6cb8f1 9b5b26a f6cb8f1 9b5b26a f6cb8f1 9b5b26a f6cb8f1 9b5b26a f6cb8f1 9b5b26a f6cb8f1 8c01ffb 6aae614 f6cb8f1 bf6d34c f6cb8f1 fe328e0 13d500a 8c01ffb f6cb8f1 9b5b26a 8c01ffb 861422e 9b5b26a 8c01ffb 8fe992b f6cb8f1 8c01ffb 861422e 8fe992b 9b5b26a 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 |
from smolagents import CodeAgent, DuckDuckGoSearchTool, InferenceClientModel, load_tool, tool
import datetime
import requests
import pytz
import yaml
from tools.final_answer import FinalAnswerTool
from Gradio_UI import GradioUI
# Đây là ví dụ tool chưa làm gì. Hãy khiến chúng mình kinh ngạc với sáng tạo của bạn!
@tool
def my_custom_tool(arg1:str, arg2:int)-> str: # quan trọng phải chỉ định kiểu trả về
# Giữ nguyên định dạng này cho mô tả công cụ/mô tả đối số nhưng hãy thoải mái sửa đổi công cụ
"""Công cụ chưa làm gì cả
Args:
arg1: đối số đầu tiên
arg2: đối số thứ hai
"""
return "Bạn sẽ tạo ra phép thuật gì đây?"
@tool
def get_current_time_in_timezone(timezone: str) -> str:
"""Công cụ lấy giờ hiện tại theo múi giờ chỉ định.
Args:
timezone: Chuỗi biểu diễn múi giờ hợp lệ (ví dụ: 'America/New_York').
"""
try:
# Tạo object múi giờ
tz = pytz.timezone(timezone)
# Lấy giờ hiện tại theo múi giờ đó
local_time = datetime.datetime.now(tz).strftime("%Y-%m-%d %H:%M:%S")
return f"Giờ hiện tại tại {timezone} là: {local_time}"
except Exception as e:
return f"Lỗi khi lấy giờ cho múi giờ '{timezone}': {str(e)}"
final_answer = FinalAnswerTool()
model = InferenceClientModel(
max_tokens=2096,
temperature=0.5,
model_id='Qwen/Qwen2.5-Coder-32B-Instruct',
custom_role_conversions=None,
)
# Import tool từ 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], # thêm tools của bạn vào đây (đừng xóa final_answer)
max_steps=6,
verbosity_level=1,
grammar=None,
planning_interval=None,
name=None,
description=None,
prompt_templates=prompt_templates
)
GradioUI(agent).launch() |