File size: 2,235 Bytes
9b5b26a
 
 
 
c19d193
6aae614
9c8c4a6
8fe992b
9b5b26a
 
5df72d6
9b5b26a
318d2c4
9b5b26a
318d2c4
9b5b26a
 
 
 
318d2c4
9b5b26a
 
318d2c4
 
9b5b26a
 
 
318d2c4
8c01ffb
 
6aae614
9c8c4a6
ae7a494
 
 
 
9c8c4a6
 
 
 
 
 
 
 
 
 
 
 
13d500a
8c01ffb
 
9b5b26a
 
8c01ffb
861422e
 
9b5b26a
8c01ffb
8fe992b
9c8c4a6
8c01ffb
 
 
 
 
 
861422e
8fe992b
 
9b5b26a
318d2c4
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
from smolagents import CodeAgent,DuckDuckGoSearchTool, HfApiModel,load_tool,tool
import datetime
import requests
import pytz
import yaml
from tools.final_answer import FinalAnswerTool
from smolagents import LiteLLMModel

from Gradio_UI import GradioUI

# Below is an example of a tool that does nothing. Amaze us with your creativity !
@tool
def custom_number_generator(arg1:int, arg2:int)-> int: #it's import to specify the return type
    #Keep this format for the description / args / args description but feel free to modify the tool
    """A tool that generate new number based on input
    Args:
        arg1: the first argument
        arg2: the second argument
    """
    return arg1 * 10 + arg2

@tool
def get_mars_time_in_yaohui_land() -> str:
    """A tool that fetches mars time in yaohui land
    Args:
        timezone: A string representing a valid timezone (e.g., 'America/New_York').
    """
    return "0000:1111:2222"


final_answer = FinalAnswerTool()
web_search_tool = DuckDuckGoSearchTool()

# If the agent does not answer, the model is overloaded, please use another model or the following Hugging Face Endpoint that also contains qwen2.5 coder:
# model_id='https://pflgm2locj2t89co.us-east-1.aws.endpoints.huggingface.cloud' 

#model = HfApiModel(
#max_tokens=2096,
#temperature=0.5,
#model_id='Qwen/Qwen2.5-Coder-32B-Instruct',# it is possible that this model may be overloaded
#custom_role_conversions=None,
#)


model = LiteLLMModel(
    model_id="ollama_chat/qwen2:7b",  # Or try other Ollama-supported models
    api_base="http://127.0.0.1:11434",  # Default Ollama local server
    num_ctx=8192,
)


# 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=[custom_number_generator, get_mars_time_in_yaohui_land, image_generation_tool, web_search_tool, final_answer], ## add your tools here (don't remove final answer)
    max_steps=6,
    verbosity_level=1,
    grammar=None,
    planning_interval=None,
    name=None,
    description=None,
    prompt_templates=prompt_templates
)


GradioUI(agent).launch()