pub struct Phind {
pub model: String,
pub max_tokens: Option<u32>,
pub temperature: Option<f32>,
pub system: Option<String>,
pub timeout_seconds: Option<u64>,
pub stream: Option<bool>,
pub top_p: Option<f32>,
pub top_k: Option<u32>,
pub api_base_url: String,
/* private fields */
}
Expand description
Represents a Phind LLM client with configuration options.
Fields§
§model: String
The model identifier to use (e.g. “Phind-70B”)
max_tokens: Option<u32>
Maximum number of tokens to generate
temperature: Option<f32>
Temperature for controlling randomness (0.0-1.0)
system: Option<String>
System prompt to prepend to conversations
timeout_seconds: Option<u64>
Request timeout in seconds
stream: Option<bool>
Whether to stream responses
top_p: Option<f32>
Top-p sampling parameter
top_k: Option<u32>
Top-k sampling parameter
api_base_url: String
Base URL for the Phind API
Implementations§
Trait Implementations§
Source§impl ChatProvider for Phind
Implementation of chat functionality for Phind.
impl ChatProvider for Phind
Implementation of chat functionality for Phind.
Source§fn chat<'life0, 'life1, 'async_trait>(
&'life0 self,
messages: &'life1 [ChatMessage],
) -> Pin<Box<dyn Future<Output = Result<Box<dyn ChatResponse>, LLMError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn chat<'life0, 'life1, 'async_trait>(
&'life0 self,
messages: &'life1 [ChatMessage],
) -> Pin<Box<dyn Future<Output = Result<Box<dyn ChatResponse>, LLMError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Source§fn chat_with_tools<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
_messages: &'life1 [ChatMessage],
_tools: Option<&'life2 [Tool]>,
) -> Pin<Box<dyn Future<Output = Result<Box<dyn ChatResponse>, LLMError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
fn chat_with_tools<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
_messages: &'life1 [ChatMessage],
_tools: Option<&'life2 [Tool]>,
) -> Pin<Box<dyn Future<Output = Result<Box<dyn ChatResponse>, LLMError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Source§fn chat_stream<'life0, 'life1, 'async_trait>(
&'life0 self,
_messages: &'life1 [ChatMessage],
) -> Pin<Box<dyn Future<Output = Result<Pin<Box<dyn Stream<Item = Result<String, LLMError>> + Send>>, LLMError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn chat_stream<'life0, 'life1, 'async_trait>(
&'life0 self,
_messages: &'life1 [ChatMessage],
) -> Pin<Box<dyn Future<Output = Result<Pin<Box<dyn Stream<Item = Result<String, LLMError>> + Send>>, LLMError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Sends a streaming chat request to the provider with a sequence of messages. Read more
Source§fn memory_contents<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = Option<Vec<ChatMessage>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn memory_contents<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = Option<Vec<ChatMessage>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Get current memory contents if provider supports memory
Source§fn summarize_history<'life0, 'life1, 'async_trait>(
&'life0 self,
msgs: &'life1 [ChatMessage],
) -> Pin<Box<dyn Future<Output = Result<String, LLMError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn summarize_history<'life0, 'life1, 'async_trait>(
&'life0 self,
msgs: &'life1 [ChatMessage],
) -> Pin<Box<dyn Future<Output = Result<String, LLMError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Summarizes a conversation history into a concise 2-3 sentence summary Read more
Source§impl CompletionProvider for Phind
Implementation of completion functionality for Phind.
impl CompletionProvider for Phind
Implementation of completion functionality for Phind.
Source§fn complete<'life0, 'life1, 'async_trait>(
&'life0 self,
_req: &'life1 CompletionRequest,
) -> Pin<Box<dyn Future<Output = Result<CompletionResponse, LLMError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn complete<'life0, 'life1, 'async_trait>(
&'life0 self,
_req: &'life1 CompletionRequest,
) -> Pin<Box<dyn Future<Output = Result<CompletionResponse, LLMError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Sends a completion request to generate text. Read more
Source§impl EmbeddingProvider for Phind
Implementation of embedding functionality for Phind.
impl EmbeddingProvider for Phind
Implementation of embedding functionality for Phind.
Source§impl SpeechToTextProvider for Phind
impl SpeechToTextProvider for Phind
Source§fn transcribe<'life0, 'async_trait>(
&'life0 self,
_audio: Vec<u8>,
) -> Pin<Box<dyn Future<Output = Result<String, LLMError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn transcribe<'life0, 'async_trait>(
&'life0 self,
_audio: Vec<u8>,
) -> Pin<Box<dyn Future<Output = Result<String, LLMError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Transcribe the given audio bytes into text Read more
fn transcribe_file<'life0, 'life1, 'async_trait>(
&'life0 self,
file_path: &'life1 str,
) -> Pin<Box<dyn Future<Output = Result<String, LLMError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Source§impl TextToSpeechProvider for Phind
Implementation of the LLMProvider trait for Phind.
impl TextToSpeechProvider for Phind
Implementation of the LLMProvider trait for Phind.
Auto Trait Implementations§
impl Freeze for Phind
impl !RefUnwindSafe for Phind
impl Send for Phind
impl Sync for Phind
impl Unpin for Phind
impl !UnwindSafe for Phind
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> 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 more