Many Large Language Model (LLM) capabilities are unlocked when they are given access to tools and given control of their own runtime and execution path. However, it's important that as they are given greater capabilities, they are properly evaluated and controlled.
In this Blueprint, we demonstrate an AI agent designed for an extremely specific task (some refer to this as a "Vertical Agent") that is given the web and searching access it needs to find an answer the same way you would find the answer as a human.
This agent is designed for help in finding the next great surf spot near you: the agent is provided with a location, a distance, a timestamp, and it's able to independently search and browse the web to recommend the best spot to you along with the relevant information!
Although this exact use-case may not be useful to you directly, the framework we provide here is intended to be easily adapted to the Agent use case you have in mind.
This implementation uses the smolagents library for Agentic capabilities, alongside the increasingly popular Model Context Protocol (MCP) which allows for a standard access communication standard for a large number of tools.
Try out our demo on HF Spaces:
git clone https://github.com/mozilla-ai/surf-spot-finder.git
cd surf-spot-finder
pip install -e . # Install root project dependencies
surf-spot-finder examples/single_agent_with_tools.yaml
-
System requirements:
- OS: Windows, macOS, or Linux
- Python 3.10 or higher
- Minimum RAM:
- Disk space:
-
Dependencies:
- Docker
- Dependencies listed in
pyproject.toml
pip install -e .[tests]
pytest
This project is licensed under the Apache 2.0 License. See the LICENSE file for details.
Contributions are welcome! To get started, you can check out the CONTRIBUTING.md file.