# DiskANN

> **Class** in `langchain_azure_postgresql`

📖 [View in docs](https://reference.langchain.com/python/langchain-azure-postgresql/common/_shared/DiskANN)

DiskANN algorithm settings.

Provides build-time and (via :class:`DiskANNSearchParams`) search-time
parameters for DiskANN vector indexes.

:param max_neighbors: The maximum number of edges per node in the graph.
:type max_neighbors: PositiveInt | None
:param l_value_ib: The value of the L parameter for DiskANN index building.
:type l_value_ib: PositiveInt | None
:param product_quantized: Whether to use product quantization (PQ) for the index.
:type product_quantized: bool | None
:param pq_param_num_chunks: Number of chunks for product quantization (PQ).
:type pq_param_num_chunks: NonNegativeInt | None
:param pq_param_training_samples: Number of training samples for product quantization (PQ).
:type pq_param_training_samples: NonNegativeInt | None

Notes:
-----
If ``product_quantized`` is ``True``, ``pq_param_num_chunks`` and
``pq_param_training_samples`` can be provided. Otherwise, these parameters
are invalid and raise a ``ValueError`` during validation.

## Signature

```python
DiskANN()
```

## Extends

- `Algorithm[DiskANNSearchParams]`

## Properties

- `max_neighbors`
- `l_value_ib`
- `product_quantized`
- `pq_param_num_chunks`
- `pq_param_training_samples`

## Methods

- [`sanity_check()`](https://reference.langchain.com/python/langchain-azure-postgresql/common/_shared/DiskANN/sanity_check)
- [`build_settings()`](https://reference.langchain.com/python/langchain-azure-postgresql/common/_shared/DiskANN/build_settings)
- [`default_search_params()`](https://reference.langchain.com/python/langchain-azure-postgresql/common/_shared/DiskANN/default_search_params)

---

[View source on GitHub](https://github.com/langchain-ai/langchain-azure/blob/607b649e909f217be20d7a50804ca11534c08eea/libs/azure-postgresql/src/langchain_azure_postgresql/common/_shared.py#L349)