Create a chain for passing a list of Documents to a model.
create_stuff_documents_chain(
llm: LanguageModelLike,
prompt: BasePromptTemplate,
*,
output_parser: BaseOutputParser | None = None,
document_prompt: BasePromptTemplate | None = None,
document_separator: str = DEFAULT_DOCUMENT_SEPARATOR,
document_variable_name: str = DOCUMENTS_KEY
) -> Runnable[dict[str, Any], Any]Example:
# pip install -U langchain langchain-openai
from langchain_openai import ChatOpenAI
from langchain_core.documents import Document
from langchain_core.prompts import ChatPromptTemplate
from langchain_classic.chains.combine_documents import (
create_stuff_documents_chain,
)
prompt = ChatPromptTemplate.from_messages(
[("system", "What are everyone's favorite colors:\n\n{context}")]
)
model = ChatOpenAI(model="gpt-3.5-turbo")
chain = create_stuff_documents_chain(model, prompt)
docs = [
Document(page_content="Jesse loves red but not yellow"),
Document(
page_content="Jamal loves green but not as much as he loves orange"
),
]
chain.invoke({"context": docs})| Name | Type | Description |
|---|---|---|
llm* | LanguageModelLike | Language model. |
prompt* | BasePromptTemplate | Prompt template. Must contain input variable |
output_parser | BaseOutputParser | None | Default: NoneOutput parser. Defaults to |
document_prompt | BasePromptTemplate | None | Default: NonePrompt used for formatting each document into a string. Input
variables can be "page_content" or any metadata keys that are in all
documents. "page_content" will automatically retrieve the
|
document_separator | str | Default: DEFAULT_DOCUMENT_SEPARATORString separator to use between formatted document strings. |
document_variable_name | str | Default: DOCUMENTS_KEYVariable name to use for the formatted documents in the
prompt. Defaults to |