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', document_variable_name: str = 'context') Runnable[Dict[str, Any], Any] [source]¶
为将文档列表传递给模型创建一个链。
- 参数
llm (Runnable[Union[PromptValue, str, Sequence[Union[BaseMessage, List[str], Tuple[str, str], str, Dict[str, Any]]]], Union[BaseMessage, str]]) - 语言模型。
提示 (BasePromptTemplate) – 提示模板。必须包含输入变量“context”(通过设置document_variable进行覆盖),这将被用于传递格式化的文档。
output_parser (可选[BaseOutputParser]) – 输出解析器。默认为StrOutputParser。
document_prompt (可选[BasePromptTemplate]) – 用于将每个文档格式化为字符串的提示。输入变量可以是“page_content”或所有文档中存在的任何元数据键。“page_content”将自动检索Document.page_content,而所有其他输入变量将自动从Document.metadata字典中检索。默认为只包含Document.page_content的提示。
document_separator (字符串) – 用于格式化文档字符串之间的字符串分隔符。
document_variable_name (字符串) – 用于提示中格式化文档的变量名称。默认为“context”。
- 返回
一个 LCEL 可执行对象。输入是一个字典,它必须有一个“context”键,它映射到一个 List[Document],以及在任何提示中预期的其他输入变量。Runnable 返回类型取决于使用的 output_parser。
- 返回类型
Runnable[Dict[str, Any], Any]
示例
# 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:\n\n{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})