RagTools is an Agentic Tools Manager designed to streamline the discovery, execution, and evaluation of various tools. It provides a structured way to manage tools via schemas, enabling efficient searching, ranking, and invocation of tools in both local and remote environments.
- Tool Discovery: Store and search tool schemas with ranked relevance to queries.
- Tool Execution: Invoke tools with specific arguments and return responses.
- Flexible Implementations: Support for HTTP calls, local function calls, and streaming inputs/outputs.
- Hierarchical Relationships: Tools can have parent-child dependencies and execution order constraints.
- Performance Tracking: Measure tool effectiveness via test sets and real-world evaluations.
- Dynamic Enabling/Disabling: Tools can be launched, unlaunched, or disabled dynamically.
- Authentication Handling: Seamless integration with OAuth-protected or paywalled content.
- Intelligent Tool Matching: Tools specify trigger conditions to improve discovery.
- Multi-language SDKs: Enables interaction with the tool manager across different programming languages.
- Parallel Execution: Multiple tools can run simultaneously for efficient processing.
- Auto-Evaluation & Ranking: Tools are ranked based on usage quality, reliability, and success rates.
- Versioning & Attributes: Tools and their implementations are versioned with machine-accessible attributes.
- Define Tools: Tools are described using YAML manifests with metadata, permissions, and capabilities.
-
Discover Tools: A fast
/search
API classifies and ranks tools based on query relevance. - Execute Tools: Tools can be invoked with arguments, including support for streaming responses.
- Evaluate & Improve: Automatic and human-in-the-loop evaluations enhance tool ranking over time.
- Manage Implementations: A tool can have multiple local or remote implementations, chosen dynamically.
- AI-powered agents executing external tools
- Workflow automation with dynamically invoked functions
- Search and ranking of APIs and services for query-based execution
- Evaluating and managing tool effectiveness in production environments
- RPC-based communication for optimized tool execution
- Expanded SDK support across multiple languages
- Enhanced session management for stateful tool interactions
- Improved AI-driven tool schema generation
We welcome contributions! Please submit issues, feature requests, or pull requests to help improve RagTools.
RagTools is licensed under MIT License.