pub struct ResponsesCompletionModel<H = Client> {
pub model: String,
pub tools: Vec<ResponsesToolDefinition>,
pub strict_tools: bool,
/* private fields */
}Fields§
§model: String§tools: Vec<ResponsesToolDefinition>§strict_tools: boolImplementations§
Source§impl<H> ResponsesCompletionModel<H>where
Client<ChatGPTExt, H>: HttpClientExt + Clone + Debug + 'static,
H: Clone + Default + Debug + WasmCompatSend + WasmCompatSync + 'static,
impl<H> ResponsesCompletionModel<H>where
Client<ChatGPTExt, H>: HttpClientExt + Clone + Debug + 'static,
H: Clone + Default + Debug + WasmCompatSend + WasmCompatSync + 'static,
pub fn new( client: Client<ChatGPTExt, H>, model: impl Into<String>, ) -> ResponsesCompletionModel<H>
Sourcepub fn with_strict_tools(self) -> ResponsesCompletionModel<H>
pub fn with_strict_tools(self) -> ResponsesCompletionModel<H>
Enable strict mode for function tool schemas.
pub fn with_tool( self, tool: impl Into<ResponsesToolDefinition>, ) -> ResponsesCompletionModel<H>
pub fn with_tools<I, Tool>(self, tools: I) -> ResponsesCompletionModel<H>
Sourcepub async fn raw_completion(
&self,
completion_request: CompletionRequest,
) -> Result<CompletionResponse, CompletionError>
pub async fn raw_completion( &self, completion_request: CompletionRequest, ) -> Result<CompletionResponse, CompletionError>
Execute a ChatGPT completion and return the Responses API’s own wire response.
This is the escape hatch for fields rig does not normalize, and it issues the same single request the normalized path does.
One caveat is specific to this provider: /responses answers with an
SSE body even for a non-streaming request, so the value returned here is
reassembled from the terminal response.completed event. That event
sometimes carries an empty output, in which case the assistant content
exists only in the preceding events and
completion::CompletionModel::completion rebuilds it from them. When
you need the provider’s events in full fidelity rather than just its
terminal record, use ResponsesCompletionModel::raw_stream.
Source§impl<H> ResponsesCompletionModel<H>where
Client<ChatGPTExt, H>: HttpClientExt + Clone + Debug + 'static,
H: Clone + Default + Debug + WasmCompatSend + WasmCompatSync + 'static,
impl<H> ResponsesCompletionModel<H>where
Client<ChatGPTExt, H>: HttpClientExt + Clone + Debug + 'static,
H: Clone + Default + Debug + WasmCompatSend + WasmCompatSync + 'static,
Sourcepub async fn stream(
&self,
completion_request: CompletionRequest,
) -> Result<StreamingCompletionResponse, CompletionError>
pub async fn stream( &self, completion_request: CompletionRequest, ) -> Result<StreamingCompletionResponse, CompletionError>
Open a stream normalized to rig’s terminal record.
Delegates to ResponsesCompletionModel::raw_stream — one request
either way.
Sourcepub async fn raw_stream(
&self,
completion_request: CompletionRequest,
) -> Result<Pin<Box<dyn Stream<Item = Result<RawStreamingChoice<StreamingCompletionResponse>, CompletionError>> + Send>>, CompletionError>
pub async fn raw_stream( &self, completion_request: CompletionRequest, ) -> Result<Pin<Box<dyn Stream<Item = Result<RawStreamingChoice<StreamingCompletionResponse>, CompletionError>> + Send>>, CompletionError>
Open a stream whose terminal record stays the Responses API’s own type.
Trait Implementations§
Source§impl<H> Clone for ResponsesCompletionModel<H>where
H: Clone,
impl<H> Clone for ResponsesCompletionModel<H>where
H: Clone,
Source§fn clone(&self) -> ResponsesCompletionModel<H>
fn clone(&self) -> ResponsesCompletionModel<H>
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl<H> CompletionModel for ResponsesCompletionModel<H>where
Client<ChatGPTExt, H>: HttpClientExt + Clone + Debug + 'static,
H: Clone + Default + Debug + WasmCompatSend + WasmCompatSync + 'static,
impl<H> CompletionModel for ResponsesCompletionModel<H>where
Client<ChatGPTExt, H>: HttpClientExt + Clone + Debug + 'static,
H: Clone + Default + Debug + WasmCompatSend + WasmCompatSync + 'static,
Source§async fn completion(
&self,
completion_request: CompletionRequest,
) -> Result<CompletionResponse, CompletionError>
async fn completion( &self, completion_request: CompletionRequest, ) -> Result<CompletionResponse, CompletionError>
Source§async fn stream(
&self,
completion_request: CompletionRequest,
) -> Result<StreamingCompletionResponse, CompletionError>
async fn stream( &self, completion_request: CompletionRequest, ) -> Result<StreamingCompletionResponse, CompletionError>
Source§fn completion_request(
&self,
prompt: impl Into<Message>,
) -> CompletionRequestBuilder<Self>
fn completion_request( &self, prompt: impl Into<Message>, ) -> CompletionRequestBuilder<Self>
prompt.