ProactiveAgent¶
The main agent class for creating proactive AI agents.
proactiveagent.agent.ProactiveAgent ¶
ProactiveAgent(provider: BaseProvider, callbacks: Optional[List[Callable]] = None, decision_config: Optional[Dict[str, Any]] = None, decision_engine: Optional[DecisionEngine] = None, system_prompt: Optional[str] = None, log_level: str = 'WARNING')
Main class for creating proactive AI agents
Initialize Proactive AI Agent
Parameters:
Name | Type | Description | Default |
---|---|---|---|
provider | BaseProvider | AI provider instance (e.g., OpenAIProvider) | required |
callbacks | Optional[List[Callable]] | List of callback functions for responses | None |
decision_config | Optional[Dict[str, Any]] | Configuration for decision engine (includes wake_up_pattern and max_sleep_time) | None |
decision_engine | Optional[DecisionEngine] | Custom decision engine instance (defaults to AIBasedDecisionEngine) | None |
system_prompt | Optional[str] | Optional system prompt for the AI | None |
log_level | str | Logging level (DEBUG, INFO, WARNING, ERROR) | 'WARNING' |
add_callback ¶
Add a callback function for receiving AI responses
Parameters:
Name | Type | Description | Default |
---|---|---|---|
callback | Callable | Function that takes (response: str) as parameter | required |
add_sleep_time_callback ¶
Add a callback function for sleep time estimation events
Parameters:
Name | Type | Description | Default |
---|---|---|---|
callback | Callable | Function that takes (sleep_time: int, reasoning: str) as parameters | required |
remove_sleep_time_callback ¶
Remove a sleep time callback function
add_decision_callback ¶
Add a callback function for decision engine events
Parameters:
Name | Type | Description | Default |
---|---|---|---|
callback | Callable | Function that takes (should_respond: bool, reasoning: str) as parameters | required |
remove_decision_callback ¶
Remove a decision callback function
send_message ¶
Send a message to the conversation
Parameters:
Name | Type | Description | Default |
---|---|---|---|
message | str | Message content | required |
role | str | Message role ('user' or 'assistant') | 'user' |
get_conversation_history ¶
Get the full conversation history
clear_conversation_history ¶
Clear the conversation history
update_config ¶
Update agent configuration
Parameters:
Name | Type | Description | Default |
---|---|---|---|
new_config | Dict[str, Any] | Dictionary containing configuration updates | required |