basic-usage
约 296 字小于 1 分钟
2025-09-08
快速开始
1. 初始化智能体
use rwkv_agent_kit::{RwkvAgentKit, AgentConfig};
#[tokio::main]
async fn main() -> Result<(), Box<dyn std::error::Error>> {
// 创建配置
let config = AgentConfig {
model_path: "path/to/your/model.safetensors".to_string(),
tokenizer_path: "path/to/tokenizer.json".to_string(),
max_tokens: 2048,
temperature: 0.7,
top_p: 0.9,
};
// 初始化智能体
let mut agent = RwkvAgentKit::new(config).await?;
Ok(())
}2. 发送消息
// 发送用户消息
let response = agent.chat("你好,请介绍一下你自己").await?;
println!("智能体回复: {}", response);3. 使用工具
use rwkv_agent_kit::tools::CalculatorTool;
// 添加计算器工具
agent.add_tool(Box::new(CalculatorTool::new()));
// 使用工具进行计算
let result = agent.chat("请计算 15 * 23 + 45").await?;
println!("计算结果: {}", result);4. 会话管理
// 创建新会话
let session_id = agent.create_session().await?;
// 在指定会话中聊天
let response = agent.chat_in_session(session_id, "记住我的名字是张三").await?;
// 获取会话历史
let history = agent.get_session_history(session_id).await?;配置选项
模型配置
model_path: RWKV 模型文件路径tokenizer_path: 分词器文件路径max_tokens: 最大生成令牌数temperature: 生成温度 (0.0-1.0)top_p: Top-p 采样参数
数据库配置
use rwkv_agent_kit::database::DatabaseConfig;
let db_config = DatabaseConfig {
url: "sqlite://memory.db".to_string(),
max_connections: 10,
};错误处理
match agent.chat("你好").await {
Ok(response) => println!("回复: {}", response),
Err(e) => eprintln!("错误: {}", e),
}