gofannon is a collection of tools designed to enhance the capabilities of function-calling-enabled language models. These tools provide additional functionality for various tasks, including mathematical operations, GitHub interactions, arXiv searches, and advanced reasoning techniques.
See why_the_name_gofannon.md
for the rich story on why we chose to honor this Celtic Diety
We aim to achieve:
We solve the "vendor lock-in" problem in AI tooling through:
- Standardized interface definitions
- Automatic schema translation
- Bidirectional conversion tools
We make AI development accessible by:
- Curated contribution pathways
- Interactive documentation
- Pair programming sessions
- Weekly office hours
We actively support new contributors through:
- Beginner-friendly issues
- Clear documentation and guides
- Supportuve community engagement
- Basic Math Operations: Perform addition, subtraction, multiplication, division, and exponentiation.
- GitHub Integration: Interact with GitHub repositories, including creating issues, committing files, and retrieving repository contents.
- arXiv Search: Search for and retrieve articles from arXiv.
- Advanced Reasoning: Utilize Chain-of-Thought (CoT) and Tree-of-Thought (ToT) reasoning techniques for complex problem-solving.
- NHTSA Complaints: Retrieve vehicle complaint data from the National Highway Traffic Safety Administration (NHTSA).
For a detailed overview of planned features and their current status, please refer to the ROADMAP.
Documentation can be found here.Each tool comes with its own documentation, which can be found in the docs/ directory. The documentation provides detailed information on how to use each tool, including required parameters and example usage.
To install gofannon, simply clone the repository and install the required dependencies:
git clone https://github.com/The-AI-Alliance/gofannon.git
cd gofannon
pip install -r requirements.txt
or
pip install git+https://github.com/The-AI-Alliance/gofannon.git
# OR
pip install gofannon
- Discord Join our Discord serverfor eal-time collaboration and support
- GitHub Discussions: Explore our GitHub organization for all related projects
- Community Calls: Join our bi-weekly video meetings
from gofannon.base import BaseTool
class NewTool(BaseTool):
def __init__(self):
super().__init__()
@property
def definition(self):
return {
# Define your tool metadata and configuration
}
def fn(self, *args, **kwargs):
# Define your tool functionality
pass
This project is licensed under the ASFv2 License. See the LICENSE file for more details.
We welcome contributions from the community! If you'd like to add a new tool or improve an existing one, please check out our CONTRIBUTING guide for detailed instructions on how to get started.
If you encounter any issues or have questions, please open an issue on our GitHub repository.
We would like to thank the open-source community for their contributions and support in making this project possible.