# BaseCombineDocumentsChain

> **Class** in `langchain_classic`

📖 [View in docs](https://reference.langchain.com/python/langchain-classic/chains/combine_documents/base/BaseCombineDocumentsChain)

Base interface for chains combining documents.

Subclasses of this chain deal with combining documents in a variety of
ways. This base class exists to add some uniformity in the interface these types
of chains should expose. Namely, they expect an input key related to the documents
to use (default `input_documents`), and then also expose a method to calculate
the length of a prompt from documents (useful for outside callers to use to
determine whether it's safe to pass a list of documents into this chain or whether
that will be longer than the context length).

## Signature

```python
BaseCombineDocumentsChain()
```

## Extends

- `Chain`
- `ABC`

## Properties

- `input_key`
- `output_key`
- `input_keys`
- `output_keys`

## Methods

- [`get_input_schema()`](https://reference.langchain.com/python/langchain-classic/chains/combine_documents/base/BaseCombineDocumentsChain/get_input_schema)
- [`get_output_schema()`](https://reference.langchain.com/python/langchain-classic/chains/combine_documents/base/BaseCombineDocumentsChain/get_output_schema)
- [`prompt_length()`](https://reference.langchain.com/python/langchain-classic/chains/combine_documents/base/BaseCombineDocumentsChain/prompt_length)
- [`combine_docs()`](https://reference.langchain.com/python/langchain-classic/chains/combine_documents/base/BaseCombineDocumentsChain/combine_docs)
- [`acombine_docs()`](https://reference.langchain.com/python/langchain-classic/chains/combine_documents/base/BaseCombineDocumentsChain/acombine_docs)

---

[View source on GitHub](https://github.com/langchain-ai/langchain/blob/fb6ab993a73180538f6cca876b3c85d46c08845f/libs/langchain/langchain_classic/chains/combine_documents/base.py#L35)