hashiru
The Expert Orchestrator AI: Dynamically Adapting, Budget-Aware, and Precisely Tailored to Your Needs
Science Score: 54.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
✓CITATION.cff file
Found CITATION.cff file -
✓codemeta.json file
Found codemeta.json file -
✓.zenodo.json file
Found .zenodo.json file -
○DOI references
-
✓Academic publication links
Links to: arxiv.org -
○Academic email domains
-
○Institutional organization owner
-
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (10.8%) to scientific vocabulary
Keywords
Repository
The Expert Orchestrator AI: Dynamically Adapting, Budget-Aware, and Precisely Tailored to Your Needs
Basic Info
- Host: GitHub
- Owner: HASHIRU-AI
- Language: Python
- Default Branch: main
- Homepage: https://helloparthshah-hashiruai.hf.space
- Size: 443 KB
Statistics
- Stars: 14
- Watchers: 1
- Forks: 3
- Open Issues: 0
- Releases: 0
Topics
Metadata Files
README.md
title: HashiruAI emoji: 🍆 colorFrom: green colorTo: yellow sdk: gradio sdkversion: 5.31.0 pythonversion: 3.11.9 app_file: start.py
pinned: false
HASHIRU: Hierarchical Agent System for Hybrid Intelligent Resource Utilization

Project Overview
This project provides a framework for creating and managing AI agents and tools. It includes features for managing resource and expense budgets, loading tools and agents, and interacting with various language models.
The architecture consists of a hierarchical system where a CEO agent manages a set of employee agents and tools. Both agents and tools can be autonomously created, invoked, and deleted by the CEO. Agents are associated with reclaimable costs (if local) and non-reclaimable costs (if cloud-based).
The project is designed to be modular and extensible, allowing users to integrate their own tools and agents. It supports multiple language model integrations, including Ollama, Gemini, Groq, and Lambda Labs.
NOTE: Benchmarking efforts of the HASHIRU architecture can be found in HASHIRUBench.
Directory Structure
- src/: Contains the source code for the project.
- tools/: Contains the code for the tools that can be used by the agents.
- default_tools/: Contains the default tools provided with the project.
- user_tools/: Contains the tools created by the user.
- config/: Contains configuration files for the project.
- utils/: Contains utility functions and classes used throughout the project.
- models/: Contains the configurations and system prompts for the agents. Includes
models.jsonwhich stores agent definitions. - manager/: Contains the core logic for managing agents, tools, and budgets.
-
agent_manager.py: Manages the creation, deletion, and invocation of AI agents. Supports different agent types like Ollama, Gemini, and Groq. -
budget_manager.py: Manages the resource and expense budgets for the project. -
tool_manager.py: Manages the loading, running, and deletion of tools. -
llm_models.py: Defines abstract base classes for different language model integrations.
-
- data/: Contains data files, such as memory and secret words.
- tools/: Contains the code for the tools that can be used by the agents.
Key Components
- Agent Management: The
AgentManagerclass insrc/manager/agent_manager.pyis responsible for creating, managing, and invoking AI agents. It supports different agent types, including local (Ollama) and cloud-based (Gemini, Groq) models. - Tool Management: The
ToolManagerclass insrc/manager/tool_manager.pyhandles the loading and running of tools. Tools are loaded from thesrc/tools/default_toolsandsrc/tools/user_toolsdirectories. - Budget Management: The
BudgetManagerclass insrc/manager/budget_manager.pymanages the resource and expense budgets for the project. It tracks the usage of resources and expenses and enforces budget limits. - Model Integration: The project supports integration with various language models, including Ollama, Gemini, and Groq. The
llm_models.pyfile defines abstract base classes for these integrations.
Usage
To use the project, follow these steps:
1. Install the required dependencies by running pip install -r requirements.txt.
2. Start the application by running python app.py. This will launch a web interface where you can interact with the agents and tools.
By default, on running python app.py, you would need to authenticate with Auth0. But, this can be overriden through the CLI argument --no-auth to skip authentication.
To use the project with additional tools and agents, you need to:
- Configure the budget in
src/tools/default_tools/agent_cost_manager.py. - Create tools and place them in the
src/tools/default_toolsorsrc/tools/user_toolsdirectories.
Please note that by default, we do provide a lot of pre-defined tools and agents, so you may not need to create your own tools unless you have specific requirements.
Model Support
The project supports the following language model integrations: - Ollama: Local model management and invocation. - Gemini: Cloud-based model management and invocation from Google. - Groq: Cloud-based model management and invocation from Groq. - Lambda: Cloud-based model management and invocation from Lambda Labs.
Acknowledgements
We would like to thank Hugging Face, Groq and Lambda Labs for sponsoring this project and providing the necessary resources for development.
Citation
If you use this project in your research or applications, please cite it as follows:
bibtex
@misc{hashiruai,
title={HASHIRU: Hierarchical Agent System for Hybrid Intelligent Resource Utilization},
author={Kunal Pai and Parth Shah and Harshil Patel},
year={2025},
eprint={2506.04255},
archivePrefix={arXiv},
primaryClass={cs.MA},
url={https://arxiv.org/abs/2506.04255},
}
Contributing
Contributions are welcome! Please submit pull requests with bug fixes, new features, or improvements to the documentation.
Owner
- Name: HASHIRU.AI
- Login: HASHIRU-AI
- Kind: organization
- Repositories: 1
- Profile: https://github.com/HASHIRU-AI
The Expert Orchestrator AI: Dynamically Adapting, Budget-Aware, and Precisely Tailored to Your Needs
Citation (CITATION.cff)
cff-version: 1.2.0
message: "If you use this software, please cite it as below."
authors:
- family-names: "Pai"
given-names: "Kunal"
orcid: "https://orcid.org/0009-0003-0675-7135"
- family-names: "Shah"
given-names: "Parth"
- family-names: "Patel"
given-names: "Harshil"
title: "HASHIRU: Hierarchical Agent System for Hybrid Intelligent Resource Utilization"
version: 1.0
doi: 10.48550/arXiv.2506.04255
date-released: 2025-06-06
url: "https://arxiv.org/abs/2506.04255"
repository-code: "https://github.com/HASHIRU-AI/HASHIRU"
GitHub Events
Total
- Issues event: 2
- Watch event: 9
- Delete event: 1
- Member event: 1
- Issue comment event: 1
- Public event: 1
- Push event: 60
- Fork event: 1
Last Year
- Issues event: 2
- Watch event: 9
- Delete event: 1
- Member event: 1
- Issue comment event: 1
- Public event: 1
- Push event: 60
- Fork event: 1
Dependencies
- Jinja2 ==3.1.6
- MarkupSafe ==3.0.2
- PyYAML ==6.0.2
- Pygments ==2.19.1
- aiofiles ==24.1.0
- aiohappyeyeballs ==2.6.1
- aiohttp ==3.11.18
- aiosignal ==1.3.2
- annotated-types ==0.7.0
- anyio ==4.9.0
- arxiv ==2.2.0
- attrs ==25.3.0
- audioop-lts ==0.2.1
- beautifulsoup4 ==4.13.4
- cachetools ==5.5.2
- certifi ==2025.4.26
- charset-normalizer ==3.4.1
- click ==8.1.8
- datasets ==3.5.1
- dill ==0.3.8
- eval_type_backport ==0.2.2
- fastapi ==0.115.12
- feedparser ==6.0.11
- ffmpy ==0.5.0
- filelock ==3.18.0
- frozenlist ==1.6.0
- fsspec ==2025.3.0
- geopandas ==1.0.1
- google-auth ==2.39.0
- google-genai ==1.9.0
- googlesearch-python ==1.3.0
- gradio ==5.27.0
- gradio_client ==1.9.0
- groovy ==0.1.2
- h11 ==0.16.0
- httpcore ==1.0.9
- httpx ==0.28.1
- huggingface-hub ==0.30.2
- idna ==3.10
- markdown-it-py ==3.0.0
- mdurl ==0.1.2
- mistralai ==1.6.0
- multidict ==6.4.3
- multiprocess ==0.70.16
- numpy ==2.2.5
- ollama ==0.4.7
- orjson ==3.10.16
- packaging ==25.0
- pandas ==2.2.3
- pillow ==11.2.1
- propcache ==0.3.1
- protobuf ==5.29.4
- pyarrow ==20.0.0
- pyasn1 ==0.6.1
- pyasn1_modules ==0.4.2
- pydantic ==2.10.6
- pydantic_core ==2.33.1
- pydub ==0.25.1
- pyogrio ==0.10.0
- pyproj ==3.7.1
- python-dateutil ==2.9.0.post0
- python-dotenv ==1.1.0
- python-multipart ==0.0.20
- pytz ==2025.2
- requests ==2.32.3
- rich ==14.0.0
- rsa ==4.9.1
- ruff ==0.11.7
- safehttpx ==0.1.6
- semantic-version ==2.10.0
- sgmllib3k ==1.0.0
- shapely ==2.1.0
- shellingham ==1.5.4
- six ==1.17.0
- sniffio ==1.3.1
- soupsieve ==2.7
- starlette ==0.46.2
- tomlkit ==0.13.2
- tqdm ==4.67.1
- typer ==0.15.2
- typing-inspection ==0.4.0
- typing_extensions ==4.13.2
- tzdata ==2025.2
- urllib3 ==2.4.0
- uvicorn ==0.34.2
- websockets ==15.0.1
- xxhash ==3.5.0
- yarl ==1.20.0