# HypotheticalDocumentEmbedder

> **Class** in `langchain_classic`

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

Generate hypothetical document for query, and then embed that.

Based on https://arxiv.org/abs/2212.10496

## Signature

```python
HypotheticalDocumentEmbedder()
```

## Extends

- `Chain`
- `Embeddings`

## Properties

- `base_embeddings`
- `llm_chain`
- `model_config`
- `input_keys`
- `output_keys`

## Methods

- [`embed_documents()`](https://reference.langchain.com/python/langchain-classic/chains/hyde/base/HypotheticalDocumentEmbedder/embed_documents)
- [`combine_embeddings()`](https://reference.langchain.com/python/langchain-classic/chains/hyde/base/HypotheticalDocumentEmbedder/combine_embeddings)
- [`embed_query()`](https://reference.langchain.com/python/langchain-classic/chains/hyde/base/HypotheticalDocumentEmbedder/embed_query)
- [`from_llm()`](https://reference.langchain.com/python/langchain-classic/chains/hyde/base/HypotheticalDocumentEmbedder/from_llm)

---

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