langchain.chains.combine_documents.stuff.create_stuff_documents_chain

langchain.chains.combine_documents.stuff.create_stuff_documents_chain(llm: Runnable[Union[PromptValue, str, Sequence[Union[BaseMessage, List[str], Tuple[str, str], str, Dict[str, Any]]]], Union[BaseMessage, str]], prompt: BasePromptTemplate, *, output_parser: Optional[BaseOutputParser] = None, document_prompt: Optional[BasePromptTemplate] = None, document_separator: str = '\n\n') Runnable[Dict[str, Any], Any][source]

创建一个链条,用于将文档列表传递给模型。

参数:

llm: 语言模型。 prompt: 提示模板。必须包含输入变量“context”,该变量将用于传递格式化后的文档。 output_parser: 输出解析器。默认为StrOutputParser。 document_prompt: 用于将每个文档格式化为字符串的提示。输入变量可以是“page_content”或所有文档中都存在的任何元数据键。 “page_content”将自动检索`Document.page_content`,所有其他输入变量将从`Document.metadata`字典中自动检索。默认为仅包含`Document.page_content`的提示。 document_separator: 用于在格式化的文档字符串之间使用的字符串分隔符。

返回:

一个LCEL Runnable。输入是一个字典,必须有一个映射到List[Document]的“context”键,以及提示中预期的任何其他输入变量。Runnable返回类型取决于使用的output_parser。

示例:
# pip install -U langchain langchain-community

from langchain_community.chat_models import ChatOpenAI
from langchain_core.documents import Document
from langchain_core.prompts import ChatPromptTemplate
from langchain.chains.combine_documents import create_stuff_documents_chain

prompt = ChatPromptTemplate.from_messages(
    [("system", "What are everyone's favorite colors:
{context}”)]

) llm = ChatOpenAI(model=”gpt-3.5-turbo”) chain = create_stuff_documents_chain(llm, 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})

Parameters
Return type

Runnable[Dict[str, Any], Any]

Examples using create_stuff_documents_chain