Skip to main content

Client

Struct Client 

Source
pub struct Client<Ext = Nothing, H = Client> { /* private fields */ }
Expand description

Generic provider client shared by Rig provider integrations.

Ext stores provider-specific behavior such as URL construction, request customization, and capabilities. H is the HTTP backend and defaults to reqwest::Client.

Implementations§

Source§

impl<Ext> Client<Ext>
where Ext: Provider, <Ext as Provider>::Builder: ProviderBuilder<Extension<Client> = Ext> + Default,

new is pinned to H = reqwest::Client so the call site infers without an explicit H annotation. Callers who want a different backend should go through Client::builder and chain ClientBuilder::http_client before ClientBuilder::build.

Source

pub fn new( api_key: impl Into<<<Ext as Provider>::Builder as ProviderBuilder>::ApiKey>, ) -> Result<Client<Ext>, Error>

Construct a provider client using the default reqwest::Client backend.

Source§

impl<Ext, H> Client<Ext, H>

Source

pub fn base_url(&self) -> &str

Returns the configured provider base URL.

Source

pub fn headers(&self) -> &HeaderMap

Returns default headers applied to outgoing provider requests.

Source

pub fn ext(&self) -> &Ext

Returns the provider extension.

Source

pub fn with_ext<NewExt>(self, new_ext: NewExt) -> Client<NewExt, H>

Reuse this client’s base URL, headers, and HTTP backend with a different extension.

Source§

impl<Ext> Client<Ext>
where Ext: Provider, <Ext as Provider>::Builder: ProviderBuilder + Default,

builder() is anchored on Client<Ext, reqwest::Client> purely as an inference hook so that provider::Client::builder() resolves without a H annotation. The returned builder itself has H = Missing, accurately reflecting that no backend has been chosen yet; the eventual Client produced by build() may end up with any HTTP backend depending on whether ClientBuilder::http_client was called.

Source

pub fn builder() -> ClientBuilder<<Ext as Provider>::Builder>

Start constructing a provider client.

Source§

impl<Ext, H> Client<Ext, H>
where Ext: Provider,

Source

pub fn post<S>(&self, path: S) -> Result<Builder, Error>
where S: AsRef<str>,

Build a provider-customized POST request for a regular HTTP endpoint.

Source

pub fn post_sse<S>(&self, path: S) -> Result<Builder, Error>
where S: AsRef<str>,

Build a provider-customized POST request for an SSE endpoint.

Source

pub fn get_sse<S>(&self, path: S) -> Result<Builder, Error>
where S: AsRef<str>,

Build a provider-customized GET request for an SSE endpoint.

Source

pub fn get<S>(&self, path: S) -> Result<Builder, Error>
where S: AsRef<str>,

Build a provider-customized GET request for a regular HTTP endpoint.

Source§

impl<H> Client<ChatGPTExt, H>

Source

pub async fn authorize(&self) -> Result<(), AuthError>

Source§

impl<T> Client<CohereExt, T>

Source

pub fn embeddings<D>( &self, model: impl Into<String>, input_type: &str, ) -> EmbeddingsBuilder<EmbeddingModel<T>, D>
where D: Embed,

Source

pub fn embedding_model( &self, model: impl Into<String>, input_type: &str, ) -> EmbeddingModel<T>

Note: default embedding dimension of 0 will be used if model is not known. If this is the case, it’s better to use function embedding_model_with_ndims

Source

pub fn embedding_model_with_ndims( &self, model: impl Into<String>, input_type: &str, ndims: usize, ) -> EmbeddingModel<T>

Create an embedding model with the given name and the number of dimensions in the embedding generated by the model.

Source§

impl<H> Client<CopilotExt, H>

Source

pub async fn authorize(&self) -> Result<(), AuthError>

Source§

impl<H> Client<GeminiExt, H>

Source

pub fn interactions_api(self) -> Client<GeminiInteractionsExt, H>

Create an Interactions API client from this GenerateContent client.

Source§

impl<H> Client<GeminiInteractionsExt, H>

Source

pub fn generate_content_api(self) -> Client<GeminiExt, H>

Create a GenerateContent API client from this Interactions client.

Source§

impl<T> Client<GeminiInteractionsExt, T>
where T: HttpClientExt + Clone + Debug + Default + 'static,

Source

pub async fn create_interaction( &self, request: CreateInteractionRequest, ) -> Result<Interaction, CompletionError>

Create a new interaction and return the raw response payload.

Source

pub async fn get_interaction( &self, interaction_id: impl AsRef<str>, ) -> Result<Interaction, CompletionError>

Fetch an interaction by ID (useful for polling background tasks).

Source

pub async fn stream_interaction_events( &self, request: CreateInteractionRequest, ) -> Result<Pin<Box<dyn Stream<Item = Result<InteractionSseEvent, CompletionError>> + Send>>, CompletionError>

Start an interaction and stream raw SSE events.

Source

pub async fn stream_interaction_events_by_id( &self, interaction_id: impl AsRef<str>, last_event_id: Option<&str>, ) -> Result<Pin<Box<dyn Stream<Item = Result<InteractionSseEvent, CompletionError>> + Send>>, CompletionError>

Resume an interaction stream by ID and optional last event ID.

Source§

impl Client<LlamafileExt>

Source

pub fn from_url( base_url: &str, ) -> Result<Client<LlamafileExt>, ProviderClientError>

Create a client pointing at the given llamafile base URL (e.g. http://localhost:8080).

Source§

impl<T> Client<MiraExt, T>
where T: HttpClientExt + 'static,

Source

pub async fn list_models(&self) -> Result<Vec<String>, MiraError>

List available models

Source§

impl<H> Client<OpenAIResponsesExt, H>

Source

pub fn with_system_instructions_placement( self, placement: SystemInstructionsPlacement, ) -> Client<OpenAIResponsesExt, H>

Sets where Rig system instructions are placed in Responses requests for every completion model created from this client. Models capture the placement when they are created, so models built before this call are unaffected. See SystemInstructionsPlacement for when each placement applies.

Source

pub fn with_system_instructions_as_messages( self, ) -> Client<OpenAIResponsesExt, H>

Sends Rig system instructions as system messages in input instead of as top-level Responses API instructions for every completion model created from this client. Models built before this call are unaffected.

OpenAI’s Responses API supports instructions, and Rig uses it by default. Use this compatibility fallback for OpenAI-compatible providers that reject or ignore top-level instructions.

Source

pub fn completions_api(self) -> Client<OpenAICompletionsExt, H>

Create a Completions API client from this Responses API client. Useful for switching to the traditional Chat Completions API.

Source§

impl<H> Client<OpenAICompletionsExt, H>

Source

pub fn responses_api(self) -> Client<OpenAIResponsesExt, H>

Create a Responses API client from this Completions API client. Useful for switching to the newer Responses API. A system-instructions placement configured before switching to the Completions API is restored.

Trait Implementations§

Source§

impl<M, Ext, H> AudioGenerationClient for Client<Ext, H>
where Ext: Capabilities<H, AudioGeneration = Capable<M>>, M: AudioGenerationModel<Client = Client<Ext, H>>,

Available on crate feature audio only.
Source§

type AudioGenerationModel = M

The AudioGenerationModel used by the Client
Source§

fn audio_generation_model( &self, model: impl Into<String>, ) -> <Client<Ext, H> as AudioGenerationClient>::AudioGenerationModel

Create an audio generation model with the given name. Read more
Source§

impl<Ext, H> Clone for Client<Ext, H>
where Ext: Clone, H: Clone,

Source§

fn clone(&self) -> Client<Ext, H>

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl<M, Ext, H> CompletionClient for Client<Ext, H>
where Ext: Capabilities<H, Completion = Capable<M>>, M: CompletionModel<Client = Client<Ext, H>>,

Source§

type CompletionModel = M

The type of CompletionModel used by the client.
Source§

fn completion_model( &self, model: impl Into<String>, ) -> <Client<Ext, H> as CompletionClient>::CompletionModel

Create a completion model with the given model. Read more
Source§

impl<Ext, H> Debug for Client<Ext, H>
where Ext: DebugExt, H: Debug,

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

Formats the value using the given formatter. Read more
Source§

impl<M, Ext, H> EmbeddingsClient for Client<Ext, H>
where Ext: Capabilities<H, Embeddings = Capable<M>>, M: EmbeddingModel<Client = Client<Ext, H>>,

Source§

type EmbeddingModel = M

The type of EmbeddingModel used by the Client
Source§

fn embedding_model( &self, model: impl Into<String>, ) -> <Client<Ext, H> as EmbeddingsClient>::EmbeddingModel

Create an embedding model with the given model. Read more
Source§

fn embedding_model_with_ndims( &self, model: impl Into<String>, ndims: usize, ) -> <Client<Ext, H> as EmbeddingsClient>::EmbeddingModel

Create an embedding model with the given model identifier string and the number of dimensions in the embedding generated by the model. Use this when the provider supports a model whose dimensionality is not known by Rig. Read more
Source§

fn embeddings<D>( &self, model: impl Into<String>, ) -> EmbeddingsBuilder<Self::EmbeddingModel, D>
where D: Embed,

Create an embedding builder with the given embedding model. Read more
Source§

fn embeddings_with_ndims<D>( &self, model: &str, ndims: usize, ) -> EmbeddingsBuilder<Self::EmbeddingModel, D>
where D: Embed,

Create an embedding builder with the given name and the number of dimensions in the embedding generated by the model. Read more
Source§

impl<Ext, H> HttpClientExt for Client<Ext, H>
where H: HttpClientExt + 'static, Ext: WasmCompatSend + WasmCompatSync + 'static,

Source§

fn send<T, U>( &self, req: Request<T>, ) -> impl Future<Output = Result<Response<Pin<Box<dyn Future<Output = Result<U, Error>> + Send>>>, Error>> + WasmCompatSend + 'static
where T: Into<Bytes> + WasmCompatSend, U: From<Bytes> + WasmCompatSend + 'static,

Send a HTTP request, get a response back (as bytes). Response must be able to be turned back into Bytes.
Source§

fn send_multipart<U>( &self, req: Request<MultipartForm>, ) -> impl Future<Output = Result<Response<Pin<Box<dyn Future<Output = Result<U, Error>> + Send>>>, Error>> + WasmCompatSend + 'static
where U: From<Bytes> + WasmCompatSend + 'static,

Send a HTTP request with a multipart body, get a response back (as bytes). Response must be able to be turned back into Bytes (although usually for the response, you will probably want to specify Bytes anyway).
Source§

fn send_streaming<T>( &self, req: Request<T>, ) -> impl Future<Output = Result<Response<Pin<Box<dyn WasmCompatSendStream<InnerItem = Result<Bytes, Error>, Item = Result<Bytes, Error>>>>>, Error>> + WasmCompatSend

Send a HTTP request, get a streamed response back (as a stream of bytes::Bytes.)
Source§

impl<M, Ext, H> ImageGenerationClient for Client<Ext, H>
where Ext: Capabilities<H, ImageGeneration = Capable<M>>, M: ImageGenerationModel<Client = Client<Ext, H>>,

Available on crate feature image only.
Source§

type ImageGenerationModel = M

The ImageGenerationModel used by the Client
Source§

fn image_generation_model( &self, model: impl Into<String>, ) -> <Client<Ext, H> as ImageGenerationClient>::ImageGenerationModel

Create an image generation model with the given name. Read more
Source§

fn custom_image_generation_model( &self, model: impl Into<String>, ) -> Self::ImageGenerationModel

Create an image generation model with the given name. Read more
Source§

impl<M, Ext, H> ModelListingClient for Client<Ext, H>
where Ext: Capabilities<H, ModelListing = Capable<M>> + Clone, M: ModelLister<H, Client = Client<Ext, H>> + WasmCompatSend + WasmCompatSync + Clone + 'static, H: WasmCompatSend + WasmCompatSync + Clone,

Source§

fn list_models( &self, ) -> impl Future<Output = Result<ModelList, ModelListingError>> + WasmCompatSend

List all available models from the provider. Read more
Source§

impl ProviderClient for Client<AnthropicExt>

Source§

type Input = String

Input accepted by ProviderClient::from_val.
Source§

type Error = ProviderClientError

Error returned when client construction fails.
Source§

fn from_env() -> Result<Client<AnthropicExt>, <Client<AnthropicExt> as ProviderClient>::Error>

Create a client from the process’s environment.
Source§

fn from_val( input: <Client<AnthropicExt> as ProviderClient>::Input, ) -> Result<Client<AnthropicExt>, <Client<AnthropicExt> as ProviderClient>::Error>

Create a client from an explicit provider-specific input value.
Source§

impl ProviderClient for Client<AzureExt>

Source§

fn from_env() -> Result<Client<AzureExt>, <Client<AzureExt> as ProviderClient>::Error>

Create a new Azure OpenAI client from the AZURE_API_KEY or AZURE_TOKEN, AZURE_API_VERSION, and AZURE_ENDPOINT environment variables.

Source§

type Input = AzureOpenAIClientParams

Input accepted by ProviderClient::from_val.
Source§

type Error = ProviderClientError

Error returned when client construction fails.
Source§

fn from_val( _: <Client<AzureExt> as ProviderClient>::Input, ) -> Result<Client<AzureExt>, <Client<AzureExt> as ProviderClient>::Error>

Create a client from an explicit provider-specific input value.
Source§

impl ProviderClient for Client<ChatGPTExt>

Source§

type Input = ChatGPTAuth

Input accepted by ProviderClient::from_val.
Source§

type Error = ProviderClientError

Error returned when client construction fails.
Source§

fn from_env() -> Result<Client<ChatGPTExt>, <Client<ChatGPTExt> as ProviderClient>::Error>

Create a client from the process’s environment.
Source§

fn from_val( input: <Client<ChatGPTExt> as ProviderClient>::Input, ) -> Result<Client<ChatGPTExt>, <Client<ChatGPTExt> as ProviderClient>::Error>

Create a client from an explicit provider-specific input value.
Source§

impl ProviderClient for Client<CohereExt>

Source§

type Input = BearerAuth

Input accepted by ProviderClient::from_val.
Source§

type Error = ProviderClientError

Error returned when client construction fails.
Source§

fn from_env() -> Result<Client<CohereExt>, <Client<CohereExt> as ProviderClient>::Error>

Create a client from the process’s environment.
Source§

fn from_val( input: <Client<CohereExt> as ProviderClient>::Input, ) -> Result<Client<CohereExt>, <Client<CohereExt> as ProviderClient>::Error>

Create a client from an explicit provider-specific input value.
Source§

impl ProviderClient for Client<CopilotExt>

Source§

type Input = CopilotAuth

Input accepted by ProviderClient::from_val.
Source§

type Error = ProviderClientError

Error returned when client construction fails.
Source§

fn from_env() -> Result<Client<CopilotExt>, <Client<CopilotExt> as ProviderClient>::Error>

Create a client from the process’s environment.
Source§

fn from_val( input: <Client<CopilotExt> as ProviderClient>::Input, ) -> Result<Client<CopilotExt>, <Client<CopilotExt> as ProviderClient>::Error>

Create a client from an explicit provider-specific input value.
Source§

impl ProviderClient for Client<DeepSeekExt>

Source§

type Input = BearerAuth

Input accepted by ProviderClient::from_val.
Source§

type Error = ProviderClientError

Error returned when client construction fails.
Source§

fn from_env() -> Result<Client<DeepSeekExt>, <Client<DeepSeekExt> as ProviderClient>::Error>

Create a client from the process’s environment.
Source§

fn from_val( input: <Client<DeepSeekExt> as ProviderClient>::Input, ) -> Result<Client<DeepSeekExt>, <Client<DeepSeekExt> as ProviderClient>::Error>

Create a client from an explicit provider-specific input value.
Source§

impl ProviderClient for Client<DoublewordExt>

Source§

fn from_env() -> Result<Client<DoublewordExt>, <Client<DoublewordExt> as ProviderClient>::Error>

Create a new Doubleword client from the DOUBLEWORD_API_KEY environment variable. The base URL can optionally be overridden with DOUBLEWORD_BASE_URL (defaults to https://api.doubleword.ai/v1).

Source§

type Input = String

Input accepted by ProviderClient::from_val.
Source§

type Error = ProviderClientError

Error returned when client construction fails.
Source§

fn from_val( input: <Client<DoublewordExt> as ProviderClient>::Input, ) -> Result<Client<DoublewordExt>, <Client<DoublewordExt> as ProviderClient>::Error>

Create a client from an explicit provider-specific input value.
Source§

impl ProviderClient for Client<GeminiExt>

Source§

fn from_env() -> Result<Client<GeminiExt>, <Client<GeminiExt> as ProviderClient>::Error>

Create a new Google Gemini client from the GEMINI_API_KEY environment variable.

Source§

type Input = GeminiApiKey

Input accepted by ProviderClient::from_val.
Source§

type Error = ProviderClientError

Error returned when client construction fails.
Source§

fn from_val( input: <Client<GeminiExt> as ProviderClient>::Input, ) -> Result<Client<GeminiExt>, <Client<GeminiExt> as ProviderClient>::Error>

Create a client from an explicit provider-specific input value.
Source§

impl ProviderClient for Client<GeminiInteractionsExt>

Source§

fn from_env() -> Result<Client<GeminiInteractionsExt>, <Client<GeminiInteractionsExt> as ProviderClient>::Error>

Create a new Google Gemini interactions client from the GEMINI_API_KEY environment variable.

Source§

type Input = GeminiApiKey

Input accepted by ProviderClient::from_val.
Source§

type Error = ProviderClientError

Error returned when client construction fails.
Source§

fn from_val( input: <Client<GeminiInteractionsExt> as ProviderClient>::Input, ) -> Result<Client<GeminiInteractionsExt>, <Client<GeminiInteractionsExt> as ProviderClient>::Error>

Create a client from an explicit provider-specific input value.
Source§

impl ProviderClient for Client<GroqExt>

Source§

fn from_env() -> Result<Client<GroqExt>, <Client<GroqExt> as ProviderClient>::Error>

Create a new Groq client from the GROQ_API_KEY environment variable.

Source§

type Input = String

Input accepted by ProviderClient::from_val.
Source§

type Error = ProviderClientError

Error returned when client construction fails.
Source§

fn from_val( input: <Client<GroqExt> as ProviderClient>::Input, ) -> Result<Client<GroqExt>, <Client<GroqExt> as ProviderClient>::Error>

Create a client from an explicit provider-specific input value.
Source§

impl ProviderClient for Client<HuggingFaceExt>

Source§

fn from_env() -> Result<Client<HuggingFaceExt>, <Client<HuggingFaceExt> as ProviderClient>::Error>

Create a new Huggingface client from the HUGGINGFACE_API_KEY environment variable.

Source§

type Input = String

Input accepted by ProviderClient::from_val.
Source§

type Error = ProviderClientError

Error returned when client construction fails.
Source§

fn from_val( input: <Client<HuggingFaceExt> as ProviderClient>::Input, ) -> Result<Client<HuggingFaceExt>, <Client<HuggingFaceExt> as ProviderClient>::Error>

Create a client from an explicit provider-specific input value.
Source§

impl ProviderClient for Client<HyperbolicExt>

Source§

fn from_env() -> Result<Client<HyperbolicExt>, <Client<HyperbolicExt> as ProviderClient>::Error>

Create a new Hyperbolic client from the HYPERBOLIC_API_KEY environment variable.

Source§

type Input = BearerAuth

Input accepted by ProviderClient::from_val.
Source§

type Error = ProviderClientError

Error returned when client construction fails.
Source§

fn from_val( input: <Client<HyperbolicExt> as ProviderClient>::Input, ) -> Result<Client<HyperbolicExt>, <Client<HyperbolicExt> as ProviderClient>::Error>

Create a client from an explicit provider-specific input value.
Source§

impl ProviderClient for Client<LlamafileExt>

Source§

type Input = Nothing

Input accepted by ProviderClient::from_val.
Source§

type Error = ProviderClientError

Error returned when client construction fails.
Source§

fn from_env() -> Result<Client<LlamafileExt>, <Client<LlamafileExt> as ProviderClient>::Error>

Create a client from the process’s environment.
Source§

fn from_val( _: <Client<LlamafileExt> as ProviderClient>::Input, ) -> Result<Client<LlamafileExt>, <Client<LlamafileExt> as ProviderClient>::Error>

Create a client from an explicit provider-specific input value.
Source§

impl ProviderClient for Client<MiniMaxExt>

Source§

type Input = BearerAuth

Input accepted by ProviderClient::from_val.
Source§

type Error = ProviderClientError

Error returned when client construction fails.
Source§

fn from_env() -> Result<Client<MiniMaxExt>, <Client<MiniMaxExt> as ProviderClient>::Error>

Create a client from the process’s environment.
Source§

fn from_val( input: <Client<MiniMaxExt> as ProviderClient>::Input, ) -> Result<Client<MiniMaxExt>, <Client<MiniMaxExt> as ProviderClient>::Error>

Create a client from an explicit provider-specific input value.
Source§

impl ProviderClient for Client<MiniMaxAnthropicExt>

Source§

type Input = String

Input accepted by ProviderClient::from_val.
Source§

type Error = ProviderClientError

Error returned when client construction fails.
Source§

fn from_env() -> Result<Client<MiniMaxAnthropicExt>, <Client<MiniMaxAnthropicExt> as ProviderClient>::Error>

Create a client from the process’s environment.
Source§

fn from_val( input: <Client<MiniMaxAnthropicExt> as ProviderClient>::Input, ) -> Result<Client<MiniMaxAnthropicExt>, <Client<MiniMaxAnthropicExt> as ProviderClient>::Error>

Create a client from an explicit provider-specific input value.
Source§

impl ProviderClient for Client<MiraExt>

Source§

fn from_env() -> Result<Client<MiraExt>, <Client<MiraExt> as ProviderClient>::Error>

Create a new Mira client from the MIRA_API_KEY environment variable.

Source§

type Input = String

Input accepted by ProviderClient::from_val.
Source§

type Error = ProviderClientError

Error returned when client construction fails.
Source§

fn from_val( input: <Client<MiraExt> as ProviderClient>::Input, ) -> Result<Client<MiraExt>, <Client<MiraExt> as ProviderClient>::Error>

Create a client from an explicit provider-specific input value.
Source§

impl ProviderClient for Client<MistralExt>

Source§

fn from_env() -> Result<Client<MistralExt>, <Client<MistralExt> as ProviderClient>::Error>

Create a new Mistral client from the MISTRAL_API_KEY environment variable.

Source§

type Input = String

Input accepted by ProviderClient::from_val.
Source§

type Error = ProviderClientError

Error returned when client construction fails.
Source§

fn from_val( input: <Client<MistralExt> as ProviderClient>::Input, ) -> Result<Client<MistralExt>, <Client<MistralExt> as ProviderClient>::Error>

Create a client from an explicit provider-specific input value.
Source§

impl ProviderClient for Client<MoonshotExt>

Source§

fn from_env() -> Result<Client<MoonshotExt>, <Client<MoonshotExt> as ProviderClient>::Error>

Create a new Moonshot client from the MOONSHOT_API_KEY environment variable.

Source§

type Input = String

Input accepted by ProviderClient::from_val.
Source§

type Error = ProviderClientError

Error returned when client construction fails.
Source§

fn from_val( input: <Client<MoonshotExt> as ProviderClient>::Input, ) -> Result<Client<MoonshotExt>, <Client<MoonshotExt> as ProviderClient>::Error>

Create a client from an explicit provider-specific input value.
Source§

impl ProviderClient for Client<MoonshotAnthropicExt>

Source§

type Input = String

Input accepted by ProviderClient::from_val.
Source§

type Error = ProviderClientError

Error returned when client construction fails.
Source§

fn from_env() -> Result<Client<MoonshotAnthropicExt>, <Client<MoonshotAnthropicExt> as ProviderClient>::Error>

Create a client from the process’s environment.
Source§

fn from_val( input: <Client<MoonshotAnthropicExt> as ProviderClient>::Input, ) -> Result<Client<MoonshotAnthropicExt>, <Client<MoonshotAnthropicExt> as ProviderClient>::Error>

Create a client from an explicit provider-specific input value.
Source§

impl ProviderClient for Client<OllamaExt>

Source§

type Input = OllamaApiKey

Input accepted by ProviderClient::from_val.
Source§

type Error = ProviderClientError

Error returned when client construction fails.
Source§

fn from_env() -> Result<Client<OllamaExt>, <Client<OllamaExt> as ProviderClient>::Error>

Create a client from the process’s environment.
Source§

fn from_val( api_key: <Client<OllamaExt> as ProviderClient>::Input, ) -> Result<Client<OllamaExt>, <Client<OllamaExt> as ProviderClient>::Error>

Create a client from an explicit provider-specific input value.
Source§

impl ProviderClient for Client<OpenAIResponsesExt>

Source§

fn from_env() -> Result<Client<OpenAIResponsesExt>, <Client<OpenAIResponsesExt> as ProviderClient>::Error>

Create a new OpenAI Responses API client from the OPENAI_API_KEY environment variable.

Source§

type Input = BearerAuth

Input accepted by ProviderClient::from_val.
Source§

type Error = ProviderClientError

Error returned when client construction fails.
Source§

fn from_val( input: <Client<OpenAIResponsesExt> as ProviderClient>::Input, ) -> Result<Client<OpenAIResponsesExt>, <Client<OpenAIResponsesExt> as ProviderClient>::Error>

Create a client from an explicit provider-specific input value.
Source§

impl ProviderClient for Client<OpenAICompletionsExt>

Source§

fn from_env() -> Result<Client<OpenAICompletionsExt>, <Client<OpenAICompletionsExt> as ProviderClient>::Error>

Create a new OpenAI Completions API client from the OPENAI_API_KEY environment variable.

Source§

type Input = BearerAuth

Input accepted by ProviderClient::from_val.
Source§

type Error = ProviderClientError

Error returned when client construction fails.
Source§

fn from_val( input: <Client<OpenAICompletionsExt> as ProviderClient>::Input, ) -> Result<Client<OpenAICompletionsExt>, <Client<OpenAICompletionsExt> as ProviderClient>::Error>

Create a client from an explicit provider-specific input value.
Source§

impl ProviderClient for Client<OpenRouterExt>

Source§

fn from_env() -> Result<Client<OpenRouterExt>, <Client<OpenRouterExt> as ProviderClient>::Error>

Create a new openrouter client from the OPENROUTER_API_KEY environment variable.

Source§

type Input = BearerAuth

Input accepted by ProviderClient::from_val.
Source§

type Error = ProviderClientError

Error returned when client construction fails.
Source§

fn from_val( input: <Client<OpenRouterExt> as ProviderClient>::Input, ) -> Result<Client<OpenRouterExt>, <Client<OpenRouterExt> as ProviderClient>::Error>

Create a client from an explicit provider-specific input value.
Source§

impl ProviderClient for Client<PerplexityExt>

Source§

fn from_env() -> Result<Client<PerplexityExt>, <Client<PerplexityExt> as ProviderClient>::Error>

Create a new Perplexity client from the PERPLEXITY_API_KEY environment variable.

Source§

type Input = String

Input accepted by ProviderClient::from_val.
Source§

type Error = ProviderClientError

Error returned when client construction fails.
Source§

fn from_val( input: <Client<PerplexityExt> as ProviderClient>::Input, ) -> Result<Client<PerplexityExt>, <Client<PerplexityExt> as ProviderClient>::Error>

Create a client from an explicit provider-specific input value.
Source§

impl ProviderClient for Client<TogetherExt>

Source§

fn from_env() -> Result<Client<TogetherExt>, <Client<TogetherExt> as ProviderClient>::Error>

Create a new Together AI client from the TOGETHER_API_KEY environment variable.

Source§

type Input = String

Input accepted by ProviderClient::from_val.
Source§

type Error = ProviderClientError

Error returned when client construction fails.
Source§

fn from_val( input: <Client<TogetherExt> as ProviderClient>::Input, ) -> Result<Client<TogetherExt>, <Client<TogetherExt> as ProviderClient>::Error>

Create a client from an explicit provider-specific input value.
Source§

impl ProviderClient for Client<VoyageExt>

Source§

fn from_env() -> Result<Client<VoyageExt>, <Client<VoyageExt> as ProviderClient>::Error>

Create a new OpenAI client from the OPENAI_API_KEY environment variable.

Source§

type Input = String

Input accepted by ProviderClient::from_val.
Source§

type Error = ProviderClientError

Error returned when client construction fails.
Source§

fn from_val( input: <Client<VoyageExt> as ProviderClient>::Input, ) -> Result<Client<VoyageExt>, <Client<VoyageExt> as ProviderClient>::Error>

Create a client from an explicit provider-specific input value.
Source§

impl ProviderClient for Client<XAiExt>

Source§

fn from_env() -> Result<Client<XAiExt>, <Client<XAiExt> as ProviderClient>::Error>

Create a new xAI client from the XAI_API_KEY environment variable.

Source§

type Input = String

Input accepted by ProviderClient::from_val.
Source§

type Error = ProviderClientError

Error returned when client construction fails.
Source§

fn from_val( input: <Client<XAiExt> as ProviderClient>::Input, ) -> Result<Client<XAiExt>, <Client<XAiExt> as ProviderClient>::Error>

Create a client from an explicit provider-specific input value.
Source§

impl ProviderClient for Client<XiaomiMimoExt>

Source§

type Input = BearerAuth

Input accepted by ProviderClient::from_val.
Source§

type Error = ProviderClientError

Error returned when client construction fails.
Source§

fn from_env() -> Result<Client<XiaomiMimoExt>, <Client<XiaomiMimoExt> as ProviderClient>::Error>

Create a client from the process’s environment.
Source§

fn from_val( input: <Client<XiaomiMimoExt> as ProviderClient>::Input, ) -> Result<Client<XiaomiMimoExt>, <Client<XiaomiMimoExt> as ProviderClient>::Error>

Create a client from an explicit provider-specific input value.
Source§

impl ProviderClient for Client<XiaomiMimoAnthropicExt>

Source§

type Input = String

Input accepted by ProviderClient::from_val.
Source§

type Error = ProviderClientError

Error returned when client construction fails.
Source§

fn from_env() -> Result<Client<XiaomiMimoAnthropicExt>, <Client<XiaomiMimoAnthropicExt> as ProviderClient>::Error>

Create a client from the process’s environment.
Source§

fn from_val( input: <Client<XiaomiMimoAnthropicExt> as ProviderClient>::Input, ) -> Result<Client<XiaomiMimoAnthropicExt>, <Client<XiaomiMimoAnthropicExt> as ProviderClient>::Error>

Create a client from an explicit provider-specific input value.
Source§

impl ProviderClient for Client<ZAiExt>

Source§

type Input = BearerAuth

Input accepted by ProviderClient::from_val.
Source§

type Error = ProviderClientError

Error returned when client construction fails.
Source§

fn from_env() -> Result<Client<ZAiExt>, <Client<ZAiExt> as ProviderClient>::Error>

Create a client from the process’s environment.
Source§

fn from_val( input: <Client<ZAiExt> as ProviderClient>::Input, ) -> Result<Client<ZAiExt>, <Client<ZAiExt> as ProviderClient>::Error>

Create a client from an explicit provider-specific input value.
Source§

impl ProviderClient for Client<ZAiAnthropicExt>

Source§

type Input = String

Input accepted by ProviderClient::from_val.
Source§

type Error = ProviderClientError

Error returned when client construction fails.
Source§

fn from_env() -> Result<Client<ZAiAnthropicExt>, <Client<ZAiAnthropicExt> as ProviderClient>::Error>

Create a client from the process’s environment.
Source§

fn from_val( input: <Client<ZAiAnthropicExt> as ProviderClient>::Input, ) -> Result<Client<ZAiAnthropicExt>, <Client<ZAiAnthropicExt> as ProviderClient>::Error>

Create a client from an explicit provider-specific input value.
Source§

impl<M, Ext, H> RerankingClient for Client<Ext, H>
where Ext: Capabilities<H, Rerank = Capable<M>>, M: RerankModel<Client = Client<Ext, H>>,

Source§

type RerankModel = M

The type of RerankModel used by the Client.
Source§

fn rerank_model( &self, model: impl Into<String>, ) -> <Client<Ext, H> as RerankingClient>::RerankModel

Create a reranking model with the given model identifier.
Source§

impl<M, Ext, H> TranscriptionClient for Client<Ext, H>
where Ext: Capabilities<H, Transcription = Capable<M>>, M: TranscriptionModel<Client = Client<Ext, H>> + WasmCompatSend,

Source§

type TranscriptionModel = M

The type of TranscriptionModel used by the Client
Source§

fn transcription_model( &self, model: impl Into<String>, ) -> <Client<Ext, H> as TranscriptionClient>::TranscriptionModel

Create a transcription model with the given name. Read more
Source§

impl<Ext, H> VerifyClient for Client<Ext, H>

Source§

async fn verify(&self) -> Result<(), VerifyError>

Verify the configuration.

Auto Trait Implementations§

§

impl<Ext, H> Freeze for Client<Ext, H>
where H: Freeze, Ext: Freeze,

§

impl<Ext, H> RefUnwindSafe for Client<Ext, H>

§

impl<Ext, H> Send for Client<Ext, H>
where H: Send, Ext: Send,

§

impl<Ext, H> Sync for Client<Ext, H>
where H: Sync, Ext: Sync,

§

impl<Ext, H> Unpin for Client<Ext, H>
where H: Unpin, Ext: Unpin,

§

impl<Ext, H> UnsafeUnpin for Client<Ext, H>
where H: UnsafeUnpin, Ext: UnsafeUnpin,

§

impl<Ext, H> UnwindSafe for Client<Ext, H>
where H: UnwindSafe, Ext: UnwindSafe,

Blanket Implementations§

Source§

impl<C> AgentClientExt for C

Source§

fn agent(&self, model: impl Into<String>) -> AgentBuilder<Self::CompletionModel>

Construct a classic agent builder for model.
Source§

fn extractor<T>( &self, model: impl Into<String>, ) -> ExtractorBuilder<Self::CompletionModel, T>
where T: JsonSchema + for<'de> Deserialize<'de> + Serialize + WasmCompatSend + WasmCompatSync + 'static,

Construct a classic typed extractor builder for model.
Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
where ST: ?Sized, DT: ?Sized,

Source§

impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
where ST: ?Sized, DT: ?Sized,

Source§

impl<T> CloneDebuggableStorage for T

Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> CloneableStorage for T
where T: Any + Send + Sync + Clone,

Source§

impl<T> DebuggableStorage for T
where T: Any + Send + Sync + Debug,

Source§

impl<T> DynClone for T
where T: Clone,

Source§

fn __clone_box(&self, _: Private) -> *mut ()

Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
Source§

impl<T> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> PolicyExt for T
where T: ?Sized,

Source§

fn and<P, B, E>(self, other: P) -> And<T, P>
where T: Sized + Policy<B, E>, P: Policy<B, E>,

Create a new Policy that returns Action::Follow only if self and other return Action::Follow. Read more
Source§

fn or<P, B, E>(self, other: P) -> Or<T, P>
where T: Sized + Policy<B, E>, P: Policy<B, E>,

Create a new Policy that returns Action::Follow if either self or other returns Action::Follow. Read more
Source§

impl<T> Read<Exclusive, BecauseExclusive> for T
where T: ?Sized,

Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

Source§

fn vzip(self) -> V

Source§

impl<T> WasmCompatSend for T
where T: Send,

Source§

impl<T> WasmCompatSync for T
where T: Sync,

Source§

impl<T> WithSubscriber for T

Source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

impl<T> WithSubscriber for T

Source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more