pub struct LlamaCppWorker { /* private fields */ }Expand description
llama.cpp HTTP server worker
Connects to a llama.cpp server instance. Server URL can be set via LLAMA_CPP_URL environment variable or defaults to http://localhost:8080
§Example
use tokio_prompt_orchestrator::LlamaCppWorker;
use std::sync::Arc;
let worker = Arc::new(
LlamaCppWorker::new()
.with_url("http://localhost:8080")
.with_max_tokens(512)
);Implementations§
Source§impl LlamaCppWorker
impl LlamaCppWorker
Sourcepub fn new() -> Self
pub fn new() -> Self
Create a new LlamaCppWorker pointing at a llama.cpp HTTP server.
Reads the server URL from the LLAMA_CPP_URL environment variable. If
the variable is not set the worker falls back to
http://localhost:8080. Default settings: 256 max tokens, temperature
0.8, 30 s timeout.
§Environment Variables
| Variable | Required | Description |
|---|---|---|
LLAMA_CPP_URL | No | llama.cpp server base URL (default: http://localhost:8080) |
§Errors
This constructor never returns an error. Network errors are deferred
until ModelWorker::infer is called.
§Examples
use tokio_prompt_orchestrator::LlamaCppWorker;
use std::sync::Arc;
// Optionally set LLAMA_CPP_URL=http://gpu-host:8080 in the environment.
let worker = Arc::new(
LlamaCppWorker::new()
.with_max_tokens(512)
.with_temperature(0.8),
);Sourcepub fn with_max_tokens(self, max_tokens: i32) -> Self
pub fn with_max_tokens(self, max_tokens: i32) -> Self
Set maximum tokens to generate
Sourcepub fn with_temperature(self, temperature: f32) -> Self
pub fn with_temperature(self, temperature: f32) -> Self
Set temperature (0.0 – 2.0).
Values outside [0.0, 2.0] are clamped and a WARN-level log line is
emitted. Most llama.cpp-compatible servers reject values outside this range.
Sourcepub fn with_timeout(self, timeout: Duration) -> Self
pub fn with_timeout(self, timeout: Duration) -> Self
Set request timeout
Trait Implementations§
Source§impl Default for LlamaCppWorker
impl Default for LlamaCppWorker
Source§impl ModelWorker for LlamaCppWorker
impl ModelWorker for LlamaCppWorker
Source§fn infer<'life0, 'life1, 'async_trait>(
&'life0 self,
prompt: &'life1 str,
) -> Pin<Box<dyn Future<Output = Result<Vec<String>, OrchestratorError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn infer<'life0, 'life1, 'async_trait>(
&'life0 self,
prompt: &'life1 str,
) -> Pin<Box<dyn Future<Output = Result<Vec<String>, OrchestratorError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Source§fn infer_stream<'life0, 'life1, 'async_trait>(
&'life0 self,
prompt: &'life1 str,
) -> Pin<Box<dyn Future<Output = Result<TokenStream, OrchestratorError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn infer_stream<'life0, 'life1, 'async_trait>(
&'life0 self,
prompt: &'life1 str,
) -> Pin<Box<dyn Future<Output = Result<TokenStream, OrchestratorError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Auto Trait Implementations§
impl !RefUnwindSafe for LlamaCppWorker
impl !UnwindSafe for LlamaCppWorker
impl Freeze for LlamaCppWorker
impl Send for LlamaCppWorker
impl Sync for LlamaCppWorker
impl Unpin for LlamaCppWorker
impl UnsafeUnpin for LlamaCppWorker
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
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
§impl<T> FutureExt for T
impl<T> FutureExt for T
§fn with_context(self, otel_cx: Context) -> WithContext<Self>
fn with_context(self, otel_cx: Context) -> WithContext<Self>
§fn with_current_context(self) -> WithContext<Self>
fn with_current_context(self) -> WithContext<Self>
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§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>
T in a tonic::Request