pub struct StuffDocumentsChain { /* private fields */ }Expand description
StuffDocumentsChain
Stuffs all documents into a single prompt for LLM processing. Suitable when the total document content fits within the LLM context window.
Implementations§
Source§impl StuffDocumentsChain
impl StuffDocumentsChain
Sourcepub fn new<L>(llm: L) -> Self
pub fn new<L>(llm: L) -> Self
Create a new StuffDocumentsChain with the given LLM.
Sourcepub fn with_prompt_template(self, template: impl Into<String>) -> Self
pub fn with_prompt_template(self, template: impl Into<String>) -> Self
Set the prompt template.
Sourcepub fn with_document_variable(self, name: impl Into<String>) -> Self
pub fn with_document_variable(self, name: impl Into<String>) -> Self
Set the document variable name used in the prompt.
Sourcepub fn with_input_key(self, key: impl Into<String>) -> Self
pub fn with_input_key(self, key: impl Into<String>) -> Self
Set the input key.
Sourcepub fn with_output_key(self, key: impl Into<String>) -> Self
pub fn with_output_key(self, key: impl Into<String>) -> Self
Set the output key.
Sourcepub fn with_verbose(self, verbose: bool) -> Self
pub fn with_verbose(self, verbose: bool) -> Self
Set verbose mode.
Sourcepub fn with_max_doc_length(self, max: usize) -> Self
pub fn with_max_doc_length(self, max: usize) -> Self
Set the maximum character count per document (documents are truncated if exceeded).
Sourcepub fn format_documents(&self, documents: &[Document]) -> String
pub fn format_documents(&self, documents: &[Document]) -> String
Format document list into context text.
Sourcepub fn build_prompt(&self, context: &str, input: &str) -> String
pub fn build_prompt(&self, context: &str, input: &str) -> String
Build prompt.
Sourcepub async fn invoke_with_documents(
&self,
documents: Vec<Document>,
input: &str,
) -> Result<String, ChainError>
pub async fn invoke_with_documents( &self, documents: Vec<Document>, input: &str, ) -> Result<String, ChainError>
Invoke with documents and input directly.
Trait Implementations§
Source§impl BaseChain for StuffDocumentsChain
impl BaseChain for StuffDocumentsChain
Source§fn stream<'life0, 'async_trait>(
&'life0 self,
inputs: HashMap<String, Value>,
) -> Pin<Box<dyn Future<Output = Result<ChainStream, ChainError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn stream<'life0, 'async_trait>(
&'life0 self,
inputs: HashMap<String, Value>,
) -> Pin<Box<dyn Future<Output = Result<ChainStream, ChainError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Stream execution for StuffDocumentsChain — token by token output.
Stuffs all documents into a single prompt, then streams the LLM response token by token.
Source§fn stream_with_config<'life0, 'async_trait>(
&'life0 self,
inputs: HashMap<String, Value>,
config: Option<RunnableConfig>,
) -> Pin<Box<dyn Future<Output = Result<ChainStream, ChainError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn stream_with_config<'life0, 'async_trait>(
&'life0 self,
inputs: HashMap<String, Value>,
config: Option<RunnableConfig>,
) -> Pin<Box<dyn Future<Output = Result<ChainStream, ChainError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Stream with config propagation.
0.22.0 audit fix (H-C3): thread the chain’s RunnableConfig into
stream_chat (sampling overrides / cancellation token / callbacks)
instead of passing None.