Spaces:
Running
Running
File size: 1,453 Bytes
1cb4327 14653c6 1cb4327 14653c6 1cb4327 7c69831 502c6d3 1cb4327 502c6d3 1cb4327 14653c6 1cb4327 c61646b 14653c6 1cb4327 14653c6 1cb4327 7c69831 14653c6 79792df |
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 |
import yaml
from pathlib import Path
from fire import Fire
from loguru import logger
from surf_spot_finder.config import (
Config,
)
from any_agent import load_agent, run_agent
from any_agent.tracing import get_tracer_provider, setup_tracing
@logger.catch(reraise=True)
def find_surf_spot(
config_file: str,
) -> str:
"""Find the best surf spot based on the given criteria.
Args:
config_file: Path to a YAML config file.
See [Config][surf_spot_finder.config.Config]
"""
logger.info(f"Loading {config_file}")
config = Config.model_validate(yaml.safe_load(Path(config_file).read_text()))
logger.info("Setting up tracing")
tracer_provider, tracing_path = get_tracer_provider(project_name="surf-spot-finder")
setup_tracing(tracer_provider, config.framework)
logger.info(f"Loading {config.framework} agent")
logger.info(f"{config.managed_agents}")
agent = load_agent(
framework=config.framework,
main_agent=config.main_agent,
managed_agents=config.managed_agents,
)
query = config.input_prompt_template.format(
LOCATION=config.location,
MAX_DRIVING_HOURS=config.max_driving_hours,
DATE=config.date,
)
logger.info(f"Running agent with query:\n{query}")
run_agent(agent, query)
logger.success("Done!")
return tracing_path
def main():
Fire(find_surf_spot)
if __name__ == "__main__":
main()
|