Agent Module#

class isek.agent.AgentCard(name: str, description: str, capabilities: List[str], tools: List[str], model_type: str)[source]#

Bases: object

Metadata about an agent for discovery and identification purposes.

capabilities: List[str]#
description: str#
model_type: str#
name: str#
tools: List[str]#
class isek.agent.BaseAgent(name: str | None = None, agent_id: str | None = None, model: Model | None = None, memory: Memory | None = None, tools: List[Toolkit] | None = None, description: str | None = None, success_criteria: str | None = None, instructions: str | List[str] | Callable | None = None, debug_mode: bool = False)[source]#

Bases: ABC

Abstract base class for all agent implementations in ISEK.

This class defines the interface that all agent implementations must follow. Agents are intelligent entities that can process messages, use tools, maintain memory, and interact with language models to provide responses.

abstractmethod get_agent_card() AgentCard[source]#

Get metadata about the agent for discovery and identification purposes.

Returns:

A card containing agent metadata

Return type:

AgentCard

Raises:

NotImplementedError -- If the concrete class doesn't implement this method

get_available_tools() List[str][source]#

Get list of available tool names.

Returns:

List of tool names

Return type:

List[str]

has_memory() bool[source]#

Check if the agent has memory capabilities.

Returns:

True if the agent has memory, False otherwise

Return type:

bool

has_model() bool[source]#

Check if the agent has a model.

Returns:

True if the agent has a model, False otherwise

Return type:

bool

has_tools() bool[source]#

Check if the agent has tools.

Returns:

True if the agent has tools, False otherwise

Return type:

bool

abstractmethod run(message: str, user_id: str = 'default', session_id: str | None = None) str[source]#

Run the agent with a message and return the response.

Parameters:
  • message -- The input message for the agent to process

  • user_id -- Identifier for the user making the request

  • session_id -- Optional session identifier for conversation tracking

Returns:

The agent's response

Return type:

str

Raises:

NotImplementedError -- If the concrete class doesn't implement this method

class isek.agent.IsekAgent(name: str | None = None, agent_id: str | None = None, model: Model | None = None, memory: Memory | None = None, tools: List[Toolkit] | None = None, description: str | None = None, success_criteria: str | None = None, instructions: str | List[str] | Callable | None = None, debug_mode: bool = False)[source]#

Bases: BaseAgent

Ultra-simplified Agent class with minimal features.

agent_id: str | None = None#
debug_mode: bool = False#
description: str | None = None#
get_agent_card() AgentCard[source]#

Get metadata about the agent for discovery and identification purposes.

instructions: str | List[str] | Callable | None = None#
memory: Memory | None = None#
model: Model | None = None#
name: str | None = None#
print_response(*args, **kwargs)[source]#

Proxy to the shared print_response utility, passing self.run as run_func.

run(message: str, user_id: str = 'default', session_id: str | None = None, messages: List[Dict | Any] | None = None, audio: Sequence[Any] | None = None, images: Sequence[Any] | None = None, videos: Sequence[Any] | None = None, files: Sequence[Any] | None = None, stream: bool | None = None, stream_intermediate_steps: bool = False, knowledge_filters: Dict[str, Any] | None = None, **kwargs: Any) str[source]#

Run the agent with a message and return the response.

success_criteria: str | None = None#
tools: List[Toolkit] | None = None#
class isek.agent.base.AgentCard(name: str, description: str, capabilities: List[str], tools: List[str], model_type: str)[source]#

Bases: object

Metadata about an agent for discovery and identification purposes.

capabilities: List[str]#
description: str#
model_type: str#
name: str#
tools: List[str]#
class isek.agent.base.BaseAgent(name: str | None = None, agent_id: str | None = None, model: Model | None = None, memory: Memory | None = None, tools: List[Toolkit] | None = None, description: str | None = None, success_criteria: str | None = None, instructions: str | List[str] | Callable | None = None, debug_mode: bool = False)[source]#

Bases: ABC

Abstract base class for all agent implementations in ISEK.

This class defines the interface that all agent implementations must follow. Agents are intelligent entities that can process messages, use tools, maintain memory, and interact with language models to provide responses.

abstractmethod get_agent_card() AgentCard[source]#

Get metadata about the agent for discovery and identification purposes.

Returns:

A card containing agent metadata

Return type:

AgentCard

Raises:

NotImplementedError -- If the concrete class doesn't implement this method

get_available_tools() List[str][source]#

Get list of available tool names.

Returns:

List of tool names

Return type:

List[str]

has_memory() bool[source]#

Check if the agent has memory capabilities.

Returns:

True if the agent has memory, False otherwise

Return type:

bool

has_model() bool[source]#

Check if the agent has a model.

Returns:

True if the agent has a model, False otherwise

Return type:

bool

has_tools() bool[source]#

Check if the agent has tools.

Returns:

True if the agent has tools, False otherwise

Return type:

bool

abstractmethod run(message: str, user_id: str = 'default', session_id: str | None = None) str[source]#

Run the agent with a message and return the response.

Parameters:
  • message -- The input message for the agent to process

  • user_id -- Identifier for the user making the request

  • session_id -- Optional session identifier for conversation tracking

Returns:

The agent's response

Return type:

str

Raises:

NotImplementedError -- If the concrete class doesn't implement this method

class isek.agent.isek_agent.IsekAgent(name: str | None = None, agent_id: str | None = None, model: Model | None = None, memory: Memory | None = None, tools: List[Toolkit] | None = None, description: str | None = None, success_criteria: str | None = None, instructions: str | List[str] | Callable | None = None, debug_mode: bool = False)[source]#

Bases: BaseAgent

Ultra-simplified Agent class with minimal features.

agent_id: str | None = None#
debug_mode: bool = False#
description: str | None = None#
get_agent_card() AgentCard[source]#

Get metadata about the agent for discovery and identification purposes.

instructions: str | List[str] | Callable | None = None#
memory: Memory | None = None#
model: Model | None = None#
name: str | None = None#
print_response(*args, **kwargs)[source]#

Proxy to the shared print_response utility, passing self.run as run_func.

run(message: str, user_id: str = 'default', session_id: str | None = None, messages: List[Dict | Any] | None = None, audio: Sequence[Any] | None = None, images: Sequence[Any] | None = None, videos: Sequence[Any] | None = None, files: Sequence[Any] | None = None, stream: bool | None = None, stream_intermediate_steps: bool = False, knowledge_filters: Dict[str, Any] | None = None, **kwargs: Any) str[source]#

Run the agent with a message and return the response.

success_criteria: str | None = None#
tools: List[Toolkit] | None = None#