Toggle Menu
Prev Up Next

# `langchain_core.prompts.base`.format_document

langchain_core.prompts.base.format_document(doc: Document, prompt: BasePromptTemplate[str]) → str

  Format a document into a string based on a prompt template.

  First, this pulls information from the document from two sources:

  1. page_content:

       This takes the information from the document.page_content and assigns it to a variable named page_content.

  2. metadata:

       This takes information from document.metadata and assigns it to variables of the same name.

  Those variables are then passed into the prompt to produce a formatted string.

  Parameters

    - doc (Document) – Document, the page_content and metadata will be used to create the final string.

    - prompt (BasePromptTemplate[str]) – BasePromptTemplate, will be used to format the page_content and metadata into the final string.

  Returns

    string of the document formatted.

  Return type

    str

  Example

      from langchain_core.documents import Document
      from langchain_core.prompts import PromptTemplate

      doc = Document(page_content="This is a joke", metadata={"page": "1"})
      prompt = PromptTemplate.from_template("Page {page}: {page_content}")
      format_document(doc, prompt)
      >>> "Page 1: This is a joke"

# Examples using format_document

- QA with private data protection {#qa-with-private-data-protection}