pub struct RuntimeProvider { /* private fields */ }Expand description
Runtime service assembly over one reusable wire-protocol driver.
Implementations§
Source§impl RuntimeProvider
impl RuntimeProvider
pub fn new( id: impl Into<ProviderKey>, driver: impl ChatDriver + 'static, ) -> RuntimeProvider
pub fn from_driver( id: impl Into<ProviderKey>, driver: Arc<dyn ChatDriver>, ) -> RuntimeProvider
pub fn base_url(self, url: impl Into<String>) -> RuntimeProvider
pub fn auth(self, auth: impl ProviderAuth + 'static) -> RuntimeProvider
pub fn auth_arc(self, auth: Arc<dyn ProviderAuth>) -> RuntimeProvider
pub fn header( self, name: impl Into<String>, value: impl Into<String>, ) -> RuntimeProvider
pub fn id(&self) -> &ProviderKey
pub fn driver(&self) -> &Arc<dyn ChatDriver> ⓘ
pub fn endpoint(&self) -> &ProviderEndpoint
pub async fn chat_completion_stream( &self, messages: Vec<LlmMessage>, config: &LlmCallConfig, ) -> Result<Pin<Box<dyn Stream<Item = Result<LlmStreamEvent, AgentLoopError>> + Send>>, AgentLoopError>
pub async fn chat_completion( &self, messages: Vec<LlmMessage>, config: &LlmCallConfig, ) -> Result<LlmResponse, AgentLoopError>
pub async fn list_models( &self, ) -> Result<Option<Vec<DiscoveredModel>>, AgentLoopError>
pub fn into_boxed_driver(self) -> Box<dyn ChatDriver>
pub fn bind_embeddings( self, driver: Box<dyn EmbeddingsDriver>, ) -> Box<dyn EmbeddingsDriver>
Trait Implementations§
Source§impl Clone for RuntimeProvider
impl Clone for RuntimeProvider
Source§fn clone(&self) -> RuntimeProvider
fn clone(&self) -> RuntimeProvider
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreAuto Trait Implementations§
impl !RefUnwindSafe for RuntimeProvider
impl !UnwindSafe for RuntimeProvider
impl Freeze for RuntimeProvider
impl Send for RuntimeProvider
impl Sync for RuntimeProvider
impl Unpin for RuntimeProvider
impl UnsafeUnpin for RuntimeProvider
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
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
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