ClientApiAccessors

Trait ClientApiAccessors 

Source
pub trait ClientApiAccessors<E>
where E: XaiEnvironment + Send + Sync + 'static,
{ // Required methods fn chat(&self) -> Chat<'_, E>; fn models(&self) -> Models<'_, E>; }
Expand description

Trait providing convenient API accessors for the client.

This trait adds methods like chat() and models() to the Client type, providing a fluent interface for accessing different API endpoints.

§Examples

use api_xai::{ Client, XaiEnvironmentImpl, Secret, ClientApiAccessors, Message };

let secret = Secret::load_with_fallbacks( "XAI_API_KEY" )?;
let env = XaiEnvironmentImpl::new( secret )?;
let client = Client::build( env )?;

// Using the chat accessor
let request = api_xai::ChatCompletionRequest::former()
  .model( "grok-2-1212".to_string() )
  .messages( vec![ Message::user( "Hello!" ) ] )
  .form();
let response = client.chat().create( request ).await?;

// Using the models accessor
let models = client.models().list().await?;

Required Methods§

Source

fn chat(&self) -> Chat<'_, E>

Returns a chat completions API accessor.

Provides access to the /v1/chat/completions endpoint.

§Examples
let chat_accessor = client.chat();
Source

fn models(&self) -> Models<'_, E>

Returns a models API accessor.

Provides access to the /v1/models endpoint.

§Examples
let models_accessor = client.models();

Implementors§

Source§

impl<E> ClientApiAccessors<E> for Client<E>
where E: XaiEnvironment + Send + Sync + 'static,