Expand description
Chain system for composing operations.
Chain is LangChain’s core abstraction, representing a sequence of operations.
§Core Concepts
- BaseChain: Base trait for chains.
- LLMChain: Most basic chain (Prompt + LLM).
- SequentialChain: Execute multiple chains sequentially.
§Example
ⓘ
use lc_chains::{LLMChain, SequentialChain};
let chain1 = LLMChain::new(llm.clone(), "Generate a word about {topic}");
let chain2 = LLMChain::new(llm, "Make a sentence with word: {word}");
let seq_chain = SequentialChain::new()
.add_chain(Arc::new(chain1), vec!["topic"], vec!["word"])
.add_chain(Arc::new(chain2), vec!["word"], vec!["sentence"]);
let inputs = HashMap::from([("topic".into(), "programming".into())]);
let result = seq_chain.invoke(inputs).await?;Re-exports§
pub use adapter::ChainRunnable;pub use base::BaseChain;pub use base::ChainError;pub use base::ChainResult;pub use base::ChainStream;pub use base::StreamToken;pub use conversation_chain::ConversationChain;pub use conversation_chain::ConversationChainBuilder;pub use conversation_retrieval::ConversationRetrievalChain;pub use document_chains::MapReduceDocumentsChain;pub use document_chains::MapRerankDocumentsChain;pub use document_chains::RefineDocumentsChain;pub use document_chains::StuffDocumentsChain;pub use llm_chain::LLMChain;pub use llm_chain::LLMChainBuilder;pub use retrieval_qa::RetrievalQA;pub use router_chain::LLMRouterChain;pub use router_chain::RouteDestination;pub use router_chain::RouterChain;pub use sequential_chain::SequentialChain;
Modules§
- adapter
- ChainRunnable adapter - bridges BaseChain to the Runnable trait.
- base
- Chain base trait.
- conversation_
chain - Conversation Chain
- conversation_
retrieval - ConversationRetrieval Chain
- document_
chains - Document processing chains.
- llm_
chain - LLM Chain
- retrieval_
qa - RetrievalQA Chain
- router_
chain - Router Chain
- sequential_
chain - Sequential Chain