pub struct AgentBuilder { /* private fields */ }Implementations§
Source§impl AgentBuilder
impl AgentBuilder
pub fn new(name: impl Into<String>) -> Self
Sourcepub fn config(self, config: Config) -> Self
pub fn config(self, config: Config) -> Self
Examples found in repository?
examples/basic_chat.rs (line 10)
4async fn main() -> helios_engine::Result<()> {
5 // Load configuration
6 let config = Config::from_file("config.toml")?;
7
8 // Create a simple agent
9 let mut agent = Agent::builder("BasicAgent")
10 .config(config)
11 .system_prompt("You are a helpful assistant.")
12 .build()?;
13
14 // Send a message
15 let response = agent.chat("Hello! How are you?").await?;
16 println!("Agent: {}", response);
17
18 // Continue the conversation
19 let response = agent.chat("What can you help me with?").await?;
20 println!("Agent: {}", response);
21
22 Ok(())
23}More examples
examples/custom_tool.rs (line 71)
65async fn main() -> helios_engine::Result<()> {
66 // Load configuration
67 let config = Config::from_file("config.toml")?;
68
69 // Create an agent with custom tool
70 let mut agent = Agent::builder("WeatherAgent")
71 .config(config)
72 .system_prompt("You are a helpful weather assistant. Use the weather tool to answer questions about weather.")
73 .tool(Box::new(WeatherTool))
74 .build()?;
75
76 // Ask about weather
77 let response = agent.chat("What's the weather like in New York?").await?;
78 println!("Agent: {}\n", response);
79
80 let response = agent.chat("How about in London, but in celsius?").await?;
81 println!("Agent: {}\n", response);
82
83 Ok(())
84}examples/agent_with_tools.rs (line 10)
4async fn main() -> helios_engine::Result<()> {
5 // Load configuration
6 let config = Config::from_file("config.toml")?;
7
8 // Create an agent with tools
9 let mut agent = Agent::builder("ToolAgent")
10 .config(config)
11 .system_prompt("You are a helpful assistant with access to tools. Use them when needed.")
12 .tool(Box::new(CalculatorTool))
13 .tool(Box::new(EchoTool))
14 .max_iterations(5)
15 .build()?;
16
17 println!("Available tools: {:?}\n", agent.tool_registry().list_tools());
18
19 // Test calculator tool
20 let response = agent.chat("What is 25 * 4 + 10?").await?;
21 println!("Agent: {}\n", response);
22
23 // Test echo tool
24 let response = agent.chat("Can you echo this message: 'Hello from Helios!'").await?;
25 println!("Agent: {}\n", response);
26
27 Ok(())
28}examples/multiple_agents.rs (line 10)
4async fn main() -> helios_engine::Result<()> {
5 // Load configuration
6 let config = Config::from_file("config.toml")?;
7
8 // Create multiple agents with different personalities
9 let mut math_agent = Agent::builder("MathAgent")
10 .config(config.clone())
11 .system_prompt("You are a math expert. You love numbers and equations.")
12 .tool(Box::new(CalculatorTool))
13 .build()?;
14
15 let mut creative_agent = Agent::builder("CreativeAgent")
16 .config(config)
17 .system_prompt("You are a creative writer who loves storytelling and poetry.")
18 .build()?;
19
20 println!("=== Math Agent ===");
21 let response = math_agent.chat("What is the square root of 144?").await?;
22 println!("Math Agent: {}\n", response);
23
24 println!("=== Creative Agent ===");
25 let response = creative_agent.chat("Write a haiku about programming.").await?;
26 println!("Creative Agent: {}\n", response);
27
28 Ok(())
29}Sourcepub fn system_prompt(self, prompt: impl Into<String>) -> Self
pub fn system_prompt(self, prompt: impl Into<String>) -> Self
Examples found in repository?
examples/basic_chat.rs (line 11)
4async fn main() -> helios_engine::Result<()> {
5 // Load configuration
6 let config = Config::from_file("config.toml")?;
7
8 // Create a simple agent
9 let mut agent = Agent::builder("BasicAgent")
10 .config(config)
11 .system_prompt("You are a helpful assistant.")
12 .build()?;
13
14 // Send a message
15 let response = agent.chat("Hello! How are you?").await?;
16 println!("Agent: {}", response);
17
18 // Continue the conversation
19 let response = agent.chat("What can you help me with?").await?;
20 println!("Agent: {}", response);
21
22 Ok(())
23}More examples
examples/custom_tool.rs (line 72)
65async fn main() -> helios_engine::Result<()> {
66 // Load configuration
67 let config = Config::from_file("config.toml")?;
68
69 // Create an agent with custom tool
70 let mut agent = Agent::builder("WeatherAgent")
71 .config(config)
72 .system_prompt("You are a helpful weather assistant. Use the weather tool to answer questions about weather.")
73 .tool(Box::new(WeatherTool))
74 .build()?;
75
76 // Ask about weather
77 let response = agent.chat("What's the weather like in New York?").await?;
78 println!("Agent: {}\n", response);
79
80 let response = agent.chat("How about in London, but in celsius?").await?;
81 println!("Agent: {}\n", response);
82
83 Ok(())
84}examples/agent_with_tools.rs (line 11)
4async fn main() -> helios_engine::Result<()> {
5 // Load configuration
6 let config = Config::from_file("config.toml")?;
7
8 // Create an agent with tools
9 let mut agent = Agent::builder("ToolAgent")
10 .config(config)
11 .system_prompt("You are a helpful assistant with access to tools. Use them when needed.")
12 .tool(Box::new(CalculatorTool))
13 .tool(Box::new(EchoTool))
14 .max_iterations(5)
15 .build()?;
16
17 println!("Available tools: {:?}\n", agent.tool_registry().list_tools());
18
19 // Test calculator tool
20 let response = agent.chat("What is 25 * 4 + 10?").await?;
21 println!("Agent: {}\n", response);
22
23 // Test echo tool
24 let response = agent.chat("Can you echo this message: 'Hello from Helios!'").await?;
25 println!("Agent: {}\n", response);
26
27 Ok(())
28}examples/multiple_agents.rs (line 11)
4async fn main() -> helios_engine::Result<()> {
5 // Load configuration
6 let config = Config::from_file("config.toml")?;
7
8 // Create multiple agents with different personalities
9 let mut math_agent = Agent::builder("MathAgent")
10 .config(config.clone())
11 .system_prompt("You are a math expert. You love numbers and equations.")
12 .tool(Box::new(CalculatorTool))
13 .build()?;
14
15 let mut creative_agent = Agent::builder("CreativeAgent")
16 .config(config)
17 .system_prompt("You are a creative writer who loves storytelling and poetry.")
18 .build()?;
19
20 println!("=== Math Agent ===");
21 let response = math_agent.chat("What is the square root of 144?").await?;
22 println!("Math Agent: {}\n", response);
23
24 println!("=== Creative Agent ===");
25 let response = creative_agent.chat("Write a haiku about programming.").await?;
26 println!("Creative Agent: {}\n", response);
27
28 Ok(())
29}Sourcepub fn tool(self, tool: Box<dyn Tool>) -> Self
pub fn tool(self, tool: Box<dyn Tool>) -> Self
Examples found in repository?
examples/custom_tool.rs (line 73)
65async fn main() -> helios_engine::Result<()> {
66 // Load configuration
67 let config = Config::from_file("config.toml")?;
68
69 // Create an agent with custom tool
70 let mut agent = Agent::builder("WeatherAgent")
71 .config(config)
72 .system_prompt("You are a helpful weather assistant. Use the weather tool to answer questions about weather.")
73 .tool(Box::new(WeatherTool))
74 .build()?;
75
76 // Ask about weather
77 let response = agent.chat("What's the weather like in New York?").await?;
78 println!("Agent: {}\n", response);
79
80 let response = agent.chat("How about in London, but in celsius?").await?;
81 println!("Agent: {}\n", response);
82
83 Ok(())
84}More examples
examples/agent_with_tools.rs (line 12)
4async fn main() -> helios_engine::Result<()> {
5 // Load configuration
6 let config = Config::from_file("config.toml")?;
7
8 // Create an agent with tools
9 let mut agent = Agent::builder("ToolAgent")
10 .config(config)
11 .system_prompt("You are a helpful assistant with access to tools. Use them when needed.")
12 .tool(Box::new(CalculatorTool))
13 .tool(Box::new(EchoTool))
14 .max_iterations(5)
15 .build()?;
16
17 println!("Available tools: {:?}\n", agent.tool_registry().list_tools());
18
19 // Test calculator tool
20 let response = agent.chat("What is 25 * 4 + 10?").await?;
21 println!("Agent: {}\n", response);
22
23 // Test echo tool
24 let response = agent.chat("Can you echo this message: 'Hello from Helios!'").await?;
25 println!("Agent: {}\n", response);
26
27 Ok(())
28}examples/multiple_agents.rs (line 12)
4async fn main() -> helios_engine::Result<()> {
5 // Load configuration
6 let config = Config::from_file("config.toml")?;
7
8 // Create multiple agents with different personalities
9 let mut math_agent = Agent::builder("MathAgent")
10 .config(config.clone())
11 .system_prompt("You are a math expert. You love numbers and equations.")
12 .tool(Box::new(CalculatorTool))
13 .build()?;
14
15 let mut creative_agent = Agent::builder("CreativeAgent")
16 .config(config)
17 .system_prompt("You are a creative writer who loves storytelling and poetry.")
18 .build()?;
19
20 println!("=== Math Agent ===");
21 let response = math_agent.chat("What is the square root of 144?").await?;
22 println!("Math Agent: {}\n", response);
23
24 println!("=== Creative Agent ===");
25 let response = creative_agent.chat("Write a haiku about programming.").await?;
26 println!("Creative Agent: {}\n", response);
27
28 Ok(())
29}Sourcepub fn max_iterations(self, max: usize) -> Self
pub fn max_iterations(self, max: usize) -> Self
Examples found in repository?
examples/agent_with_tools.rs (line 14)
4async fn main() -> helios_engine::Result<()> {
5 // Load configuration
6 let config = Config::from_file("config.toml")?;
7
8 // Create an agent with tools
9 let mut agent = Agent::builder("ToolAgent")
10 .config(config)
11 .system_prompt("You are a helpful assistant with access to tools. Use them when needed.")
12 .tool(Box::new(CalculatorTool))
13 .tool(Box::new(EchoTool))
14 .max_iterations(5)
15 .build()?;
16
17 println!("Available tools: {:?}\n", agent.tool_registry().list_tools());
18
19 // Test calculator tool
20 let response = agent.chat("What is 25 * 4 + 10?").await?;
21 println!("Agent: {}\n", response);
22
23 // Test echo tool
24 let response = agent.chat("Can you echo this message: 'Hello from Helios!'").await?;
25 println!("Agent: {}\n", response);
26
27 Ok(())
28}Sourcepub fn build(self) -> Result<Agent>
pub fn build(self) -> Result<Agent>
Examples found in repository?
examples/basic_chat.rs (line 12)
4async fn main() -> helios_engine::Result<()> {
5 // Load configuration
6 let config = Config::from_file("config.toml")?;
7
8 // Create a simple agent
9 let mut agent = Agent::builder("BasicAgent")
10 .config(config)
11 .system_prompt("You are a helpful assistant.")
12 .build()?;
13
14 // Send a message
15 let response = agent.chat("Hello! How are you?").await?;
16 println!("Agent: {}", response);
17
18 // Continue the conversation
19 let response = agent.chat("What can you help me with?").await?;
20 println!("Agent: {}", response);
21
22 Ok(())
23}More examples
examples/custom_tool.rs (line 74)
65async fn main() -> helios_engine::Result<()> {
66 // Load configuration
67 let config = Config::from_file("config.toml")?;
68
69 // Create an agent with custom tool
70 let mut agent = Agent::builder("WeatherAgent")
71 .config(config)
72 .system_prompt("You are a helpful weather assistant. Use the weather tool to answer questions about weather.")
73 .tool(Box::new(WeatherTool))
74 .build()?;
75
76 // Ask about weather
77 let response = agent.chat("What's the weather like in New York?").await?;
78 println!("Agent: {}\n", response);
79
80 let response = agent.chat("How about in London, but in celsius?").await?;
81 println!("Agent: {}\n", response);
82
83 Ok(())
84}examples/agent_with_tools.rs (line 15)
4async fn main() -> helios_engine::Result<()> {
5 // Load configuration
6 let config = Config::from_file("config.toml")?;
7
8 // Create an agent with tools
9 let mut agent = Agent::builder("ToolAgent")
10 .config(config)
11 .system_prompt("You are a helpful assistant with access to tools. Use them when needed.")
12 .tool(Box::new(CalculatorTool))
13 .tool(Box::new(EchoTool))
14 .max_iterations(5)
15 .build()?;
16
17 println!("Available tools: {:?}\n", agent.tool_registry().list_tools());
18
19 // Test calculator tool
20 let response = agent.chat("What is 25 * 4 + 10?").await?;
21 println!("Agent: {}\n", response);
22
23 // Test echo tool
24 let response = agent.chat("Can you echo this message: 'Hello from Helios!'").await?;
25 println!("Agent: {}\n", response);
26
27 Ok(())
28}examples/multiple_agents.rs (line 13)
4async fn main() -> helios_engine::Result<()> {
5 // Load configuration
6 let config = Config::from_file("config.toml")?;
7
8 // Create multiple agents with different personalities
9 let mut math_agent = Agent::builder("MathAgent")
10 .config(config.clone())
11 .system_prompt("You are a math expert. You love numbers and equations.")
12 .tool(Box::new(CalculatorTool))
13 .build()?;
14
15 let mut creative_agent = Agent::builder("CreativeAgent")
16 .config(config)
17 .system_prompt("You are a creative writer who loves storytelling and poetry.")
18 .build()?;
19
20 println!("=== Math Agent ===");
21 let response = math_agent.chat("What is the square root of 144?").await?;
22 println!("Math Agent: {}\n", response);
23
24 println!("=== Creative Agent ===");
25 let response = creative_agent.chat("Write a haiku about programming.").await?;
26 println!("Creative Agent: {}\n", response);
27
28 Ok(())
29}Auto Trait Implementations§
impl Freeze for AgentBuilder
impl !RefUnwindSafe for AgentBuilder
impl Send for AgentBuilder
impl Sync for AgentBuilder
impl Unpin for AgentBuilder
impl !UnwindSafe for AgentBuilder
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