This topic describes how to configure the Build parameters and Search parameters of the QGraph algorithm.
Build parameters for QGraph indexes
Parameter | Type | Default value | Description |
proxima.hnsw.builder.max_neighbor_count | uint32 | 100 | The maximum number of neighbors for each node in the graph. A larger value indicates better graph connectivity but also increases the graph construction cost and index size. |
proxima.hnsw.builder.efconstruction | uint32 | 500 | The size of the neighbor scanning area during graph construction. A larger value results in better offline graph quality but slower index building. We recommend that you start with an initial value of 400. |
proxima.hnsw.builder.thread_count | uint32 | 0 | The number of threads used during building. If you set this parameter to 0, the number of CPU cores is used. |
proxima.qgraph.builder.quantizer_class | string | None | The quantizer. Valid values: Int4QuantizerConverter, Int8QuantizerConverter, and HalfFloatConverter. In general, fewer integer bits result in a smaller index, higher performance, and lower recall rate. Because of limitations in the underlying CPU instruction set, int16 quantization delivers almost the same performance and recall rate as no quantization. |
Search parameters for QGraph indexes
Parameter name | Type | Default value | Description |
proxima.hnsw.searcher.ef | uint32 | 500 | Controls the size of the subgraph to scan during online retrieval. A larger value increases the retrieval rate but degrades performance. The recommended value range is [100, 1000]. |
proxima.hnsw.searcher.max_scan_ratio | float | None | Controls the ratio of points to scan during online retrieval. A larger value increases the retrieval rate but degrades performance. |
proxima.hnsw.searcher.brute_force_threshold | uint32 | None | Controls the minimum number of points to scan during online retrieval. If this value is greater than the number of documents in a single shard, the query degrades to a brute-force search. |