Skip to main content

abu_agent/agent/
mod.rs

1mod error;
2pub use error::*;
3mod build;
4pub use build::*;
5mod lloop;
6
7use abu_provider::ChatProvide;
8use crate::context::ContextBuilder;
9use crate::hook::HookManager;
10use crate::memory::Memory;
11use crate::middleware::MiddlewareManager;
12use crate::model::ChatModel;
13use crate::toolbox::ToolBox;
14
15#[derive(Clone)]
16pub struct AgentConfig {
17    pub max_iteration: usize,
18    pub temperature: f64,
19}
20
21pub struct Agent<P: ChatProvide, M: Memory> {
22    pub config: AgentConfig,
23    pub llm: ChatModel<P>,
24    pub memory: M,
25    pub context_builder: ContextBuilder,
26    pub toolbox: ToolBox,
27    pub hooks: HookManager,
28    pub middlewares: MiddlewareManager,
29}