1 unstable release
0.1.0 | Feb 3, 2025 |
---|
#578 in Database interfaces
119 downloads per month
49KB
919 lines
Chimera
库的作用:
Chimera 是一个基于Rust语言编写的智能代理库,旨在处理复杂的决策过程。它通过集成LLM(大语言模型)、工具调用以及内存管理等功能,能够执行各种任务和交互,并根据需求动态调整策略。
使用示例:
以下是一个简单的使用示例,展示了如何初始化并配置一个Chimera Agent,注册工具,并处理用户消息。
use chimera::{
Agent, LLMClient, ShortTermMemory, LongTermMemory, Tool,
types::{AgentConfig, Message},
};
// 假设我们有一个LLM客户端、短期记忆和长期记忆的实现
struct SimpleLLM;
impl LLMClient for SimpleLLM {
// 实现方法...
}
struct SimpleShortTermMemory;
impl ShortTermMemory for SimpleShortTermMemory {
// 实现方法...
}
struct SimpleLongTermMemory;
impl LongTermMemory for SimpleLongTermMemory {
// 实现方法...
}
// 假设我们有一个工具的实现
struct SimpleTool;
impl Tool for SimpleTool {
fn name(&self) -> String {
"simple_tool".to_string()
}
async fn execute(&self, _args: serde_json::Value) -> Result<serde_json::Value> {
// 执行逻辑...
Ok(serde_json::json!({"result": "success"}))
}
}
#[tokio::main]
async fn main() -> Result<(), Box<dyn std::error::Error>> {
let llm = SimpleLLM;
let short_term_memory = SimpleShortTermMemory;
let long_term_memory = SimpleLongTermMemory;
// 初始化Agent
let mut agent = Agent::new(long_term_memory, short_term_memory, llm)
.with_config(AgentConfig::default().system_prompt("You are a helpful assistant."));
// 注册工具
agent.register_tool(SimpleTool);
// 处理用户消息
let response = agent.handle_message("Hello! What can you do for me?".to_string()).await?;
println!("Agent Response: {}", response);
Ok(())
}
Generated by bot powered by chimera with qwen2.5-coder:32b
Dependencies
~5–12MB
~137K SLoC