openai_responses 0.1.3

Rust SDK for the OpenAI Responses API
Documentation

OpenAI Responses SDK

crates.io download count badge docs.rs

An unofficial Rust SDK for the OpenAI Responses API.

Usage

To get started, create a new Client and call the create method with a Request object. The Request object contains the parameters for the API call, such as the model, instructions, and input. The create method returns a Response object, which contains the output of the API call.

use openai_responses::{Client, Request, types::{Input, Model}};

let response = Client::from_env()?.create(Request {
    model: Model::GPT4o,
    input: Input::Text("Are semicolons optional in JavaScript?".to_string()),
    instructions: Some("You are a coding assistant that talks like a pirate".to_string()),
    ..Default::default()
}).await?;

println!("{}", response.output_text());

To stream the response as it is generated, use the stream method:

use openai_responses::{Client, Request, types::{Input, Model, Event}};

let mut stream = Client::from_env()?.stream(Request {
    model: Model::GPT4o,
    input: Input::Text("Are semicolons optional in JavaScript?".to_string()),
    instructions: Some("You are a coding assistant that talks like a pirate".to_string()),
    ..Default::default()
});

while let Some(event) = stream.next().await {
    dbg!(event?);
}

License

This project is licensed under the MIT License - see the LICENSE file for details.