Skip to main content

KnowledgeSource

Trait KnowledgeSource 

Source
pub trait KnowledgeSource: Send + Sync {
    // Required methods
    fn retrieve<'life0, 'life1, 'async_trait>(
        &'life0 self,
        goal: &'life1 str,
        top_k: usize,
    ) -> Pin<Box<dyn Future<Output = Result<Vec<String>>> + Send + 'async_trait>>
       where Self: 'async_trait,
             'life0: 'async_trait,
             'life1: 'async_trait;
    fn init<'life0, 'async_trait>(
        &'life0 self,
    ) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>
       where Self: 'async_trait,
             'life0: 'async_trait;
}
Expand description

Inject run-scoped evidence (RAG, API responses) before the first LLM call.

Required Methods§

Source

fn retrieve<'life0, 'life1, 'async_trait>( &'life0 self, goal: &'life1 str, top_k: usize, ) -> Pin<Box<dyn Future<Output = Result<Vec<String>>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait,

Source

fn init<'life0, 'async_trait>( &'life0 self, ) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

One-time warmup called before the first run (load index, open connection, etc.).

Dyn Compatibility§

This trait is dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety".

Implementors§