pub struct AgentFactory { /* private fields */ }Expand description
Factory for creating and managing agents
Implementations§
Source§impl AgentFactory
impl AgentFactory
Sourcepub fn new(base_config: SonaConfig) -> Self
pub fn new(base_config: SonaConfig) -> Self
Create a new agent factory
Create factory with specific hidden dimension
Sourcepub fn create_from_template(
&mut self,
name: impl Into<String>,
template: &TrainingTemplate,
) -> &ManagedAgent
pub fn create_from_template( &mut self, name: impl Into<String>, template: &TrainingTemplate, ) -> &ManagedAgent
Create an agent from a template
Sourcepub fn create_agent(
&mut self,
name: impl Into<String>,
agent_type: AgentType,
purpose: impl Into<String>,
) -> &ManagedAgent
pub fn create_agent( &mut self, name: impl Into<String>, agent_type: AgentType, purpose: impl Into<String>, ) -> &ManagedAgent
Create an agent with custom configuration
Sourcepub fn create_code_agent(&mut self, name: impl Into<String>) -> &ManagedAgent
pub fn create_code_agent(&mut self, name: impl Into<String>) -> &ManagedAgent
Create a code agent
Sourcepub fn create_chat_agent(&mut self, name: impl Into<String>) -> &ManagedAgent
pub fn create_chat_agent(&mut self, name: impl Into<String>) -> &ManagedAgent
Create a chat agent
Sourcepub fn create_rag_agent(&mut self, name: impl Into<String>) -> &ManagedAgent
pub fn create_rag_agent(&mut self, name: impl Into<String>) -> &ManagedAgent
Create a RAG agent
Sourcepub fn create_task_planner(&mut self, name: impl Into<String>) -> &ManagedAgent
pub fn create_task_planner(&mut self, name: impl Into<String>) -> &ManagedAgent
Create a task planner agent
Sourcepub fn create_reasoning_agent(
&mut self,
name: impl Into<String>,
) -> &ManagedAgent
pub fn create_reasoning_agent( &mut self, name: impl Into<String>, ) -> &ManagedAgent
Create a reasoning agent
Sourcepub fn create_codebase_helper(
&mut self,
name: impl Into<String>,
) -> &ManagedAgent
pub fn create_codebase_helper( &mut self, name: impl Into<String>, ) -> &ManagedAgent
Create a codebase helper agent
Sourcepub fn get_agent(&self, name: &str) -> Option<&ManagedAgent>
pub fn get_agent(&self, name: &str) -> Option<&ManagedAgent>
Get an agent by name
Sourcepub fn get_agent_mut(&mut self, name: &str) -> Option<&mut ManagedAgent>
pub fn get_agent_mut(&mut self, name: &str) -> Option<&mut ManagedAgent>
Get a mutable agent by name
Sourcepub fn remove_agent(&mut self, name: &str) -> Option<ManagedAgent>
pub fn remove_agent(&mut self, name: &str) -> Option<ManagedAgent>
Remove an agent
Sourcepub fn list_agents(&self) -> Vec<AgentStats>
pub fn list_agents(&self) -> Vec<AgentStats>
List all agents
Sourcepub fn agent_count(&self) -> usize
pub fn agent_count(&self) -> usize
Get agent count
Sourcepub fn train_agent<E>(
&mut self,
name: &str,
examples: impl Iterator<Item = E>,
) -> Result<usize, String>where
E: TrainingExample,
pub fn train_agent<E>(
&mut self,
name: &str,
examples: impl Iterator<Item = E>,
) -> Result<usize, String>where
E: TrainingExample,
Train an agent with examples
Auto Trait Implementations§
impl Freeze for AgentFactory
impl !RefUnwindSafe for AgentFactory
impl Send for AgentFactory
impl Sync for AgentFactory
impl Unpin for AgentFactory
impl !UnwindSafe for AgentFactory
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more