pub struct OpenAiClient { /* private fields */ }Expand description
OpenAI-compatible client.
Supports any service compatible with the OpenAI Chat Completions API.
Implementations§
Source§impl OpenAiClient
impl OpenAiClient
Sourcepub fn from_env(model_name: &str) -> Result<OpenAiClient, ReactError>
pub fn from_env(model_name: &str) -> Result<OpenAiClient, ReactError>
Create a client from environment variables
Sourcepub fn new(config: LlmConfig) -> Result<OpenAiClient, ReactError>
pub fn new(config: LlmConfig) -> Result<OpenAiClient, ReactError>
Create a client with a custom configuration
Sourcepub fn with_client(
client: Arc<Client>,
config: LlmConfig,
) -> Result<OpenAiClient, ReactError>
pub fn with_client( client: Arc<Client>, config: LlmConfig, ) -> Result<OpenAiClient, ReactError>
Create a client with a shared HTTP client
Trait Implementations§
Source§impl LlmClient for OpenAiClient
impl LlmClient for OpenAiClient
Source§fn chat(
&self,
request: ChatRequest,
) -> Pin<Box<dyn Future<Output = Result<ChatResponse, ReactError>> + Send + '_>>
fn chat( &self, request: ChatRequest, ) -> Pin<Box<dyn Future<Output = Result<ChatResponse, ReactError>> + Send + '_>>
Execute a non-streaming chat request.
Source§fn chat_stream(
&self,
request: ChatRequest,
) -> Pin<Box<dyn Future<Output = Result<Pin<Box<dyn Stream<Item = Result<ChatChunk, ReactError>> + Send + '_>>, ReactError>> + Send + '_>>
fn chat_stream( &self, request: ChatRequest, ) -> Pin<Box<dyn Future<Output = Result<Pin<Box<dyn Stream<Item = Result<ChatChunk, ReactError>> + Send + '_>>, ReactError>> + Send + '_>>
Execute a streaming chat request.
Source§fn model_name(&self) -> &str
fn model_name(&self) -> &str
Model identifier used by this client.
Auto Trait Implementations§
impl Freeze for OpenAiClient
impl !RefUnwindSafe for OpenAiClient
impl Send for OpenAiClient
impl Sync for OpenAiClient
impl Unpin for OpenAiClient
impl UnsafeUnpin for OpenAiClient
impl !UnwindSafe for OpenAiClient
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> FutureExt for T
impl<T> FutureExt for T
Source§fn with_context(self, otel_cx: Context) -> WithContext<Self>
fn with_context(self, otel_cx: Context) -> WithContext<Self>
Source§fn with_current_context(self) -> WithContext<Self>
fn with_current_context(self) -> WithContext<Self>
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
Source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
Wrap the input message
T in a tonic::Request