openai-core 0.1.1

Rust SDK for OpenAI-compatible ecosystem
Documentation
#[path = "support/mod.rs"]
mod support;

use futures_util::StreamExt;
use openai_core::ResponseRuntimeEvent;
use support::ExampleResult;

#[tokio::main]
async fn main() -> ExampleResult {
    let client = support::openai_client()?;

    let mut upstream = client
        .responses()
        .stream()
        .model("gpt-5.4")
        .input_text("用三句话介绍 Rust。")
        .send_events()
        .await?;

    while let Some(event) = upstream.next().await {
        let event = event?;
        match &event {
            ResponseRuntimeEvent::OutputTextDelta(delta) => {
                println!("event: response.output_text.delta");
                println!(
                    "data: {}\n",
                    serde_json::to_string(&serde_json::json!({
                        "delta": delta.text,
                        "snapshot": delta.snapshot
                    }))?
                );
            }
            ResponseRuntimeEvent::Completed(response) => {
                println!("event: response.completed");
                println!("data: {}\n", serde_json::to_string(response)?);
            }
            _ => {}
        }
    }

    Ok(())
}