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 image_url = std::env::args()
        .nth(1)
        .ok_or("usage: cargo run --example document_understanding -- <image-url>")?;
    let client = ZhipuClient::new(std::env::var("ZHIPU_API_KEY")?)?;
    let ocr = client
        .ocr(&json!({
            "model": "glm-ocr",
            "file_url": image_url,
            "tool_type": "hand_write",
            "language_type": "CHN_ENG"
        }))
        .await?;
    println!("ocr: {ocr:#}");

    let layout = client.parse_layout(&json!({"file_url": image_url})).await?;
    println!("layout: {layout:#}");
    Ok(())
}