Expand description
简化的聊天客户端模块
提供简单易用的聊天客户端实现,内置历史记录管理功能。
§主要特性
- 内置历史记录: 自动管理对话历史记录
- 系统提示词: 支持自定义系统提示词
- 简单易用: 无需手动管理历史记录
- JSON 响应: 支持 JSON 格式的响应
- 异步处理: 基于
tokio的异步实现
§示例
§基本使用
use ds_api::SimpleChatter;
#[tokio::main]
async fn main() -> ds_api::error::Result<()> {
let token = "your_deepseek_api_token".to_string();
let system_prompt = "You are a helpful assistant.".to_string();
let mut chatter = SimpleChatter::new(token, system_prompt);
let response = chatter.chat("What is Rust?").await?;
println!("Assistant: {}", response);
// 继续对话,历史记录会自动维护
let response = chatter.chat("Tell me more about it.").await?;
println!("Assistant: {}", response);
Ok(())
}§使用 JSON 响应
use ds_api::SimpleChatter;
use serde_json::Value;
#[tokio::main]
async fn main() -> ds_api::error::Result<()> {
let token = "your_deepseek_api_token".to_string();
let system_prompt = "You are a helpful assistant that responds in JSON format.".to_string();
let mut chatter = SimpleChatter::new(token, system_prompt);
let json_response = chatter.chat_json("Give me information about Paris in JSON format").await?;
println!("JSON response: {}", serde_json::to_string_pretty(&json_response)?);
Ok(())
}§修改系统提示词
use ds_api::SimpleChatter;
#[tokio::main]
async fn main() -> ds_api::error::Result<()> {
let token = "your_deepseek_api_token".to_string();
let system_prompt = "You are a helpful assistant.".to_string();
let mut chatter = SimpleChatter::new(token, system_prompt);
// 修改系统提示词
if let Some(prompt) = chatter.system_prompt_mut() {
*prompt = "You are a sarcastic assistant.".to_string();
}
let response = chatter.chat("What is the weather like?").await?;
println!("Assistant: {}", response);
Ok(())
}§注意事项
- 当前实现不支持流式响应
- 历史记录会不断增长,需要手动管理或实现自动截断
- 系统提示词是历史记录中的第一条消息
Structs§
- Simple
Chatter - 简化的聊天客户端,内置历史记录管理