pub struct ExecutionContext {Show 20 fields
pub session_id: SessionId,
pub agent_id: AgentId,
pub state: AgentState,
pub iteration: i32,
pub max_iterations: i32,
pub messages: Vec<Message>,
pub tools_registered: Vec<String>,
pub tool_calls_pending: Vec<ToolCall>,
pub tool_results_cache: Vec<ToolResult>,
pub model: String,
pub temperature: f32,
pub system_prompt: String,
pub tokens_total: i64,
pub tokens_prompt: i64,
pub tokens_completion: i64,
pub cost_estimate: f64,
pub created_at: DateTime<Utc>,
pub last_updated: DateTime<Utc>,
pub checkpoint_count: i32,
pub metadata: HashMap<String, Value>,
}Expand description
执行上下文
Agent 执行的完整上下文,包含所有必要的状态信息。 这是 Python 版本 ExecutionContext 的 Rust 移植。
Fields§
§session_id: SessionId会话 ID
agent_id: AgentIdAgent ID
state: AgentState§iteration: i32§max_iterations: i32§messages: Vec<Message>消息历史(OpenAI 格式)
tools_registered: Vec<String>Tool 管理
tool_calls_pending: Vec<ToolCall>§tool_results_cache: Vec<ToolResult>§model: String配置快照
temperature: f32§system_prompt: String§tokens_total: i64追踪数据
tokens_prompt: i64§tokens_completion: i64§cost_estimate: f64§created_at: DateTime<Utc>元数据
last_updated: DateTime<Utc>§checkpoint_count: i32§metadata: HashMap<String, Value>扩展数据(用于存储额外信息)
Implementations§
Source§impl ExecutionContext
impl ExecutionContext
Sourcepub fn with_config(
model: impl Into<String>,
temperature: f32,
system_prompt: impl Into<String>,
) -> Self
pub fn with_config( model: impl Into<String>, temperature: f32, system_prompt: impl Into<String>, ) -> Self
使用配置创建执行上下文
Sourcepub fn add_message(&mut self, role: &str, content: &str)
pub fn add_message(&mut self, role: &str, content: &str)
添加消息
Sourcepub fn increment_checkpoint(&mut self)
pub fn increment_checkpoint(&mut self)
增加检查点计数
Sourcepub fn add_tokens(&mut self, prompt: i64, completion: i64)
pub fn add_tokens(&mut self, prompt: i64, completion: i64)
添加 token 使用
Sourcepub fn set_state(&mut self, state: AgentState)
pub fn set_state(&mut self, state: AgentState)
设置状态
Sourcepub fn can_continue(&self) -> bool
pub fn can_continue(&self) -> bool
检查是否可以继续
Sourcepub fn message_count(&self) -> usize
pub fn message_count(&self) -> usize
获取消息数量
Trait Implementations§
Source§impl Clone for ExecutionContext
impl Clone for ExecutionContext
Source§fn clone(&self) -> ExecutionContext
fn clone(&self) -> ExecutionContext
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for ExecutionContext
impl Debug for ExecutionContext
Source§impl Default for ExecutionContext
impl Default for ExecutionContext
Source§impl<'de> Deserialize<'de> for ExecutionContext
impl<'de> Deserialize<'de> for ExecutionContext
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Auto Trait Implementations§
impl Freeze for ExecutionContext
impl RefUnwindSafe for ExecutionContext
impl Send for ExecutionContext
impl Sync for ExecutionContext
impl Unpin for ExecutionContext
impl UnsafeUnpin for ExecutionContext
impl UnwindSafe for ExecutionContext
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