# PerplexityEmbeddings

> **Class** in `langchain_perplexity`

📖 [View in docs](https://reference.langchain.com/python/langchain-perplexity/embeddings/PerplexityEmbeddings)

`Perplexity AI` embeddings.

## Signature

```python
PerplexityEmbeddings()
```

## Description

**Setup:**

Install the `perplexityai` package and set the `PPLX_API_KEY`
(or `PERPLEXITY_API_KEY`) environment variable, or pass the key as
the `pplx_api_key`/`api_key` argument.

```bash
pip install -U langchain-perplexity
export PPLX_API_KEY=your_api_key
```

See the Perplexity Embeddings API reference:
https://docs.perplexity.ai/api-reference/embeddings-post

Instantiate:

```python
from langchain_perplexity import PerplexityEmbeddings

embeddings = PerplexityEmbeddings()
```

Embed a single query:

```python
query_vector = embeddings.embed_query("hello world")
```

Embed documents:

```python
doc_vectors = embeddings.embed_documents(["hello", "world"])
```

Select a specific model:

```python
embeddings = PerplexityEmbeddings(model="pplx-embed-v1-0.6b")
```

!!! note
Perplexity returns base64-encoded signed int8 embeddings. This class
decodes them into `list[float]` values in the range [-128, 127]. The
magnitude is preserved from the API's quantized output; cosine
similarity is unaffected by the lack of unit-length normalization.

## Extends

- `BaseModel`
- `Embeddings`

## Properties

- `client`
- `async_client`
- `model`
- `pplx_api_key`
- `request_timeout`
- `max_retries`
- `model_config`
- `lc_secrets`

## Methods

- [`validate_environment()`](https://reference.langchain.com/python/langchain-perplexity/embeddings/PerplexityEmbeddings/validate_environment)
- [`embed_documents()`](https://reference.langchain.com/python/langchain-perplexity/embeddings/PerplexityEmbeddings/embed_documents)
- [`embed_query()`](https://reference.langchain.com/python/langchain-perplexity/embeddings/PerplexityEmbeddings/embed_query)
- [`aembed_documents()`](https://reference.langchain.com/python/langchain-perplexity/embeddings/PerplexityEmbeddings/aembed_documents)
- [`aembed_query()`](https://reference.langchain.com/python/langchain-perplexity/embeddings/PerplexityEmbeddings/aembed_query)

---

[View source on GitHub](https://github.com/langchain-ai/langchain/blob/d2931d878fd39f9dcfef78911056ecef3271ee71/libs/partners/perplexity/langchain_perplexity/embeddings.py#L22)