Spaces:
Sleeping
Sleeping
import os | |
from datetime import date | |
from llama_index.agent.openai import OpenAIAgent | |
from llama_index.llms.openai import OpenAI | |
from llama_index.core.tools import FunctionTool | |
from llama_index.tools.weather import OpenWeatherMapToolSpec | |
def today_tool(text: str) -> str: | |
"""Returns today's date. Use this for any questions related to knowing today's date. | |
The input should always be an empty string, and this function will always return today's date. | |
Any date mathematics should occur outside this function.""" | |
return str(date.today()) | |
def agent_llamaindex(config, prompt): | |
llm = OpenAI( | |
model = config["model"], | |
temperature = config["temperature"]) | |
tool_spec = OpenWeatherMapToolSpec(key = os.environ["OPENWEATHERMAP_API_KEY"]) | |
tools = tool_spec.to_tool_list() | |
date_tool = FunctionTool.from_defaults(fn = today_tool) | |
agent = OpenAIAgent.from_tools( | |
[tools[0], # built-in tools | |
date_tool], # custom tools | |
llm = llm, | |
max_iterations = 10, | |
max_execution_time = 60, | |
verbose = True | |
) | |
return str(agent.chat(prompt)) |