Agents in JIVAS
In the JIVAS framework, an Agent is a core entity that represents an intelligent, graph-based system capable of interacting with users, processing data, and executing actions. Agents are designed to be modular, extensible, and capable of handling complex workflows through their graph-based architecture.
Key Features of an Agent
-
Graph-Based Architecture
Agents are built on a graph structure, where nodes represent various components such as actions, memory, and interactions. This architecture allows for flexible and dynamic workflows. -
Action-Oriented
Agents execute tasks through Actions, which are modular units of functionality. Actions can be chained, nested, or triggered based on specific conditions. -
Memory Management
Agents maintain a Memory node to store session-specific data, interactions, and variables. This enables context-aware interactions and continuity across sessions. -
Interaction Handling
Agents can process user inputs (utterances) and generate responses. They support various interaction channels like chat, voice, and custom integrations. -
Extensibility
Agents can be extended with custom actions, integrations, and configurations to suit specific use cases.
Components of an Agent
1. Actions
Actions are the building blocks of an agent's functionality. They define what the agent can do, such as responding to user queries, performing computations, or integrating with external APIs. Examples include:
- Interact Actions: Handle user interactions.
- Model Actions: Interface with language models.
- Vector Store Actions: Manage vector-based data retrieval.
2. Memory
The memory node stores session-specific data, including:
- Variables
- Interaction history
- Contextual data
This allows agents to maintain state and provide context-aware responses.
3. Descriptors
Agents are defined and configured using Descriptors, which are YAML or JSON files. These descriptors specify the agent's attributes, actions, and dependencies.
4. Logging and Analytics
Agents support logging and analytics to track interactions, monitor performance, and gather insights.
Lifecycle of an Agent
-
Initialization
Agents are initialized using descriptors. This process sets up the agent's graph structure, actions, and memory. -
Interaction
Agents process user inputs through theinteractwalker. They execute actions based on intents, context, and predefined workflows. -
Updates
Agents can be updated dynamically to add or modify actions, memory, or configurations. -
Export and Import
Agents can be exported to descriptors for backup or sharing and imported back into the framework for reuse.
Example Use Cases
- Customer Support: An agent can handle customer queries, escalate issues, and provide automated responses.
- Knowledge Retrieval: Integrate with vector databases to retrieve relevant documents based on user queries.
- Task Automation: Automate workflows like scheduling, data processing, or API integrations.
API Endpoints for Agents
JIVAS provides several API endpoints to interact with agents:
/interact: Send user inputs to the agent and receive responses./action/walker: Execute specific actions within the agent./export: Export the agent's descriptor.
For more details, refer to the API Documentation.
By leveraging the power of agents, JIVAS enables developers to build intelligent, modular, and scalable AI solutions tailored to their needs.