Skip to main content

Module simple_chatter

Module simple_chatter 

Source
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§

SimpleChatter
简化的聊天客户端,内置历史记录管理