File size: 1,698 Bytes
efdbe63
6cab4b5
c4ec83a
e1c34df
c4ec83a
9b5b26a
c19d193
987f003
 
c4ec83a
987f003
e65347a
 
 
ff39be9
 
e121372
63f8c82
bf6d34c
ff39be9
fe328e0
13d500a
8c01ffb
d034bf1
 
9b5b26a
987f003
6cab4b5
c621073
8c01ffb
861422e
 
9b5b26a
8c01ffb
8fe992b
987f003
 
c621073
2c79e78
987f003
 
 
 
 
6cab4b5
 
987f003
1056960
8f75d32
8c01ffb
987f003
8c01ffb
 
861422e
8fe992b
 
9b5b26a
f661794
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
from smolagents import CodeAgent, DuckDuckGoSearchTool, HfApiModel, load_tool, Tool
from smolagents.default_tools import FinalAnswerTool, VisitWebpageTool
from Gradio_UI import GradioUI
# from langchain.agents import load_tools

import datetime
import yaml
from typing import Optional

from my_tools import *

# Free Distill-R1 Model:
# `deepseek-ai/DeepSeek-R1-Distill-Qwen-32B`

# If the agent does not answer, the model is overloaded, please use another model or the original Hugging Face Endpoint for contains qwen2.5 coder:
# 'Qwen/Qwen2.5-Coder-32B-Instruct'
model = HfApiModel(
max_tokens=15000,
temperature=0.5,
model_id='https://pflgm2locj2t89co.us-east-1.aws.endpoints.huggingface.cloud', # Endpoint with 'Qwen/Qwen2.5-Coder-32B-Instruct'
custom_role_conversions=None,
)

# Init tools
final_answer = FinalAnswerTool()
image_generation_tool = load_tool("agents-course/text-to-image", trust_remote_code=True)
search_tool = DuckDuckGoSearchTool()
visit_webpage_tool = VisitWebpageTool()
# wolfram_tool = Tool.from_langchain(load_tools(["wolfram-alpha"])[0])

with open("prompts.yaml", 'r') as stream:
    prompt_templates = yaml.safe_load(stream)
    
agent = CodeAgent(
    model=model,
    tools=[
            final_answer,
            # wolfram_tool,
            wolfram_alpha,
            search_tool,
            image_generation_tool,
            get_weather,
            get_joke,
            search_wikipedia,
            get_current_time_in_timezone,
            visit_webpage_tool
          ],
    max_steps=10,
    verbosity_level=2,
    grammar=None,
    planning_interval=3,
    name=None,
    description=None,
    prompt_templates=prompt_templates
)


GradioUI(agent).launch()