-
Notifications
You must be signed in to change notification settings - Fork 1.7k
[CLN] Clean up configuration docs for spann, add max on search_nprobe #5076
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Conversation
This stack of pull requests is managed by Graphite. Learn more about stacking. |
Reviewer ChecklistPlease leverage this checklist to ensure your code review is thorough before approving Testing, Bugs, Errors, Logs, Documentation
System Compatibility
Quality
|
Clean Up SPANN Configuration Documentation and Enforce Max on search_nprobe This PR refines the documentation around SPANN index configuration by clarifying default values, min/max/range constraints, and replaces previously imprecise or missing details. It also updates the Rust InternalSpannConfiguration struct to enforce a maximum value of 128 for search_nprobe via validator, ensuring the code and documentation are aligned on allowed parameter bounds. Key Changes• SPANN configuration documentation was updated to list explicit default, min, and max values for all relevant parameters. Affected Areas• User documentation for SPANN configuration (docs/docs.trychroma.com/markdoc/content/docs/collections/configure.md) This summary was automatically generated by @propel-code-bot |
d46fc27
to
a57b529
Compare
* `reassign_neighbor_count` is the number of closest neighboring clusters of a split cluster whose points are considered for reassignment. The default value is 64. | ||
* `search_nprobe` is the number of centers that are probed for a query. The higher the value the more accurate the result will be. The query response time also increases as `search_nprobe` increases. Recommended values are 64/128. The default value is 64, and the max value is 128. | ||
* `write_nprobe` is the same as `search_nprobe` but for the index construction phase. It is the number of centers searched when appending or reassigning a point. The default value is 64, and the max value is 128. | ||
* `ef_construction` determines the size of the candidate list used to select neighbors during index creation. A higher value improves index quality at the cost of more memory and time, while a lower value speeds up construction with reduced accuracy. The default value is 200, and the max value is 200. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
should mention that it is for the hnsw index
a57b529
to
3796145
Compare
Description of changes
This PR updates the docs for spann configuration to reflect the default values, and ranges supported by the system. It also adds a max value on search_nprobe that was not previously defined.
Test plan
How are these changes tested?
pytest
for python,yarn test
for js,cargo test
for rustDocumentation Changes
Are all docstrings for user-facing APIs updated if required? Do we need to make documentation changes in the docs section?