Home / Function/ add_documents() — langchain Function Reference

add_documents() — langchain Function Reference

Architecture documentation for the add_documents() function in in_memory.py from the langchain codebase.

Entity Profile

Dependency Diagram

graph TD
  2205e9ac_3e3e_558e_4a81_a2ad00232e0b["add_documents()"]
  6e491709_d60f_689d_8a1a_c760b54fd120["InMemoryVectorStore"]
  2205e9ac_3e3e_558e_4a81_a2ad00232e0b -->|defined in| 6e491709_d60f_689d_8a1a_c760b54fd120
  style 2205e9ac_3e3e_558e_4a81_a2ad00232e0b fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

libs/core/langchain_core/vectorstores/in_memory.py lines 188–221

    def add_documents(
        self,
        documents: list[Document],
        ids: list[str] | None = None,
        **kwargs: Any,
    ) -> list[str]:
        texts = [doc.page_content for doc in documents]
        vectors = self.embedding.embed_documents(texts)

        if ids and len(ids) != len(texts):
            msg = (
                f"ids must be the same length as texts. "
                f"Got {len(ids)} ids and {len(texts)} texts."
            )
            raise ValueError(msg)

        id_iterator: Iterator[str | None] = (
            iter(ids) if ids else iter(doc.id for doc in documents)
        )

        ids_ = []

        for doc, vector in zip(documents, vectors, strict=False):
            doc_id = next(id_iterator)
            doc_id_ = doc_id or str(uuid.uuid4())
            ids_.append(doc_id_)
            self.store[doc_id_] = {
                "id": doc_id_,
                "vector": vector,
                "text": doc.page_content,
                "metadata": doc.metadata,
            }

        return ids_

Subdomains

Frequently Asked Questions

What does add_documents() do?
add_documents() is a function in the langchain codebase, defined in libs/core/langchain_core/vectorstores/in_memory.py.
Where is add_documents() defined?
add_documents() is defined in libs/core/langchain_core/vectorstores/in_memory.py at line 188.

Analyze Your Own Codebase

Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.

Try Supermodel Free