async_openai/
responses.rs

1use crate::{
2    config::Config,
3    error::OpenAIError,
4    types::responses::{CreateResponse, Response},
5    Client,
6};
7
8/// Given text input or a list of context items, the model will generate a response.
9///
10/// Related guide: [Responses API](https://platform.openai.com/docs/guides/responses)
11pub struct Responses<'c, C: Config> {
12    client: &'c Client<C>,
13}
14
15impl<'c, C: Config> Responses<'c, C> {
16    /// Constructs a new Responses client.
17    pub fn new(client: &'c Client<C>) -> Self {
18        Self { client }
19    }
20
21    /// Creates a model response for the given input.
22    #[crate::byot(
23        T0 = serde::Serialize,
24        R = serde::de::DeserializeOwned
25    )]
26    pub async fn create(&self, request: CreateResponse) -> Result<Response, OpenAIError> {
27        self.client.post("/responses", request).await
28    }
29}