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
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]) –
document_prompt (Optional[BasePromptTemplate]) –
document_separator (str) –
- Return type
Runnable[Dict[str, Any], Any]