rustglm 1.0.0

Production-oriented async Rust SDK for Zhipu GLM, Realtime, Batch, RAG, and MCP
Documentation
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
use rustglm::{ChatCompletionRequest, ChatMessage, ContentPart, MessageRole, ZhipuClient};

#[tokio::main]
async fn main() -> Result<(), Box<dyn std::error::Error>> {
    let api_key = std::env::var("ZHIPU_API_KEY")?;
    let image_url = std::env::var("IMAGE_URL")?;
    let client = ZhipuClient::new(api_key)?;
    let request = ChatCompletionRequest::new("glm-5v-turbo").message(ChatMessage::multimodal(
        MessageRole::User,
        vec![
            ContentPart::image_url(image_url),
            ContentPart::text("Describe this image in one concise paragraph."),
        ],
    ));
    let response = client.chat_completion(&request).await?;
    println!("{}", response.text().unwrap_or_default());
    Ok(())
}