Agentware is a lightweight Python framework designed to help you build AI agents with tool-calling capabilities. It provides the core components for creating agents that can interact with Large Language Models (LLMs) and utilize external tools to perform tasks.
- Tool Registry: Define and manage tools (functions) that your agents can use. The framework helps convert your function definitions into a format suitable for LLM function calling.
- LLM Client: A simple interface for interacting with LLM APIs (currently designed for OpenAI, but can be extended).
- Agent Architecture: A base agent class to manage conversation history, state, and tool execution.
- Extensibility: The framework is designed to be extensible, allowing you to easily add new tools, LLM integrations, and agent functionalities.
- Prerequisites:
- Python 3.7+
- LLM of your choice - OpenAI models, Ollama models preffered
- Clone the repository:
git clone https://github.com/HanishDhanwalkar/agentware cd agentware pip install -r requirements.txt
TODO:
TODO:
- Websurfer
- RAG tool
- code agent (potential models: DeepseekCoder)
- Project planner
Agentware is an open-source project, and contributions are welcome! If you'd like to contribute, please follow these steps:
- Fork the repository.
- Create a new branch for your feature or bug fix.
- Implement your changes.
- Write tests to ensure your changes work correctly.
- Submit a pull request.
MIT License
- This project is inspired by the work on LLM agents and tool usage.
- OLLAMA foundation
Contains the core classes for building agents:
Tool
: Represents a tool that can be called by an agentToolRegistry
: Manages the registration and retrieval of tools.LLMClient
: Handles communication with the LLM.AgentState
: Represents the state of the agentAgent
: The base agent class with tool-calling capabilities.