rustglm 1.0.0

Production-oriented async Rust SDK for Zhipu GLM, Realtime, Batch, RAG, and MCP
Documentation
use rustglm::ZhipuClient;
use serde_json::json;

#[tokio::main]
async fn main() -> Result<(), Box<dyn std::error::Error>> {
    let prompt = std::env::args()
        .nth(1)
        .unwrap_or_else(|| "Explain this API in one paragraph.".to_owned());
    let client = ZhipuClient::new(std::env::var("ZHIPU_API_KEY")?)?;
    let response = client
        .assistant(&json!({
            "assistant_id": "659e54b1b8006379b4b2abd6",
            "messages": [{"role": "user", "content": prompt}],
            "stream": false
        }))
        .await?;
    println!("invoke: {response:#}");
    println!("list: {:#}", client.assistants(&json!({})).await?);
    println!(
        "conversations: {:#}",
        client
            .assistant_conversations(&json!({"assistant_id": "659e54b1b8006379b4b2abd6"}))
            .await?
    );
    Ok(())
}