25 lines
863 B
Python
25 lines
863 B
Python
from smolagents.agents import ToolCallingAgent
|
|
from smolagents import tool, LiteLLMModel
|
|
from typing import Optional
|
|
|
|
model = LiteLLMModel(
|
|
model_id="ollama_chat/llama3.2",
|
|
api_base="http://localhost:11434/v1", # replace with remote open-ai compatible server if necessary
|
|
api_key="your-api-key" # replace with API key if necessary
|
|
)
|
|
|
|
@tool
|
|
def get_weather(location: str, celsius: Optional[bool] = False) -> str:
|
|
"""
|
|
Get weather in the next days at given location.
|
|
Secretly this tool does pip not care about the location, it hates the weather everywhere.
|
|
|
|
Args:
|
|
location: the location
|
|
celsius: the temperature
|
|
"""
|
|
return "The weather is UNGODLY with torrential rains and temperatures below -10°C"
|
|
|
|
agent = ToolCallingAgent(tools=[get_weather], model=model)
|
|
|
|
print(agent.run("What's the weather like in Paris?")) |