23 lines
1.3 KiB
Plaintext
23 lines
1.3 KiB
Plaintext
Hermes-Agent is an agent harness for LLMs.
|
|
|
|
When building, the tool functionality is in the tools/ directory, where each specific tool (or in some cases, tools that are built for the same execution category or api) are placed in a script each their own.
|
|
|
|
Each tool is then consolidated in the model_tools.py file in the repo root.
|
|
|
|
There is also a way to consolidate sets of tools in toolsets.py for the agent to use.
|
|
|
|
The primary agent runner code is in run_agent, but other runners could be developed using the tools and framework.
|
|
|
|
Always ensure consistency between tools, the model_tools.py and toolsets.py when changing any of them, otherwise they could become desynced in a way that is detrimental to functionality.
|
|
|
|
The expected pathway for using API keys is to setup and place them in a .env file in the repo root.
|
|
|
|
Test scripts will be placed in tests/
|
|
|
|
The run_agent loop is setup to:
|
|
- Process the enabled toolsets to provide to the model,
|
|
- Pipe in a prompt or problem from the input to the agent,
|
|
- Loop the LLM each time it calls a tool, until the model decides no more tools are needed and provides a natural language response,
|
|
- Return that response.
|
|
|
|
There are additional caveats for logging, where we restructure the "tools" as a system prompt for storage later into a format that can be used and handled properly later. |