📄️ Agent Types
Enthusiast provides a flexible and extensible agent system built on abstract base classes that define the core architecture and capabilities. The system supports multiple agent types, each designed for different use cases and reasoning strategies.
📄️ Injector
The Injector class in Enthusiast provides a centralized dependency injection system that gives agents and tools access to all the resources they need to function. It acts as a service locator that manages and provides access to retrievers, repositories, and memory systems.
📄️ Memory Types
Enthusiast provides by default two memory management strategies to help agents maintain context and conversation history. Each memory type is designed for different use cases and performance requirements.
📄️ Tools
Tools in Enthusiast are modular components that extend agent capabilities by providing specific functionalities. They follow a standardized architecture that ensures consistency, validation, and easy integration with the LangChain ecosystem.
📄️ Builder
The Builder pattern in Enthusiast provides a systematic approach to constructing complex agent instances with all their dependencies. The system consists of an abstract BaseAgentBuilder class that defines the construction interface and a concrete AgentBuilder implementation that handles the specific construction logic.
📄️ Prompts
Prompts are the foundation of agent behavior and communication in the Enthusiast framework. They define how agents understand user input, process context, and generate responses. Enthusiast supports multiple prompt types and provides flexible configuration options for different use cases.
📄️ Agent Architecture
The Enthusiast framework provides a comprehensive and modular agent architecture that enables the creation of sophisticated, tool-using AI agents. This document describes the core components and their relationships within the agent system.
📄️ Agent Configuration
The AgentConfig is the central configuration system for all agents in the Enthusiast framework. It provides a type-safe, flexible way to configure agent behavior, tools, memory, and dependencies.