Skip to content
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

Team/hypothesis tests #474

Merged
merged 197 commits into from
May 6, 2023
Merged

Team/hypothesis tests #474

merged 197 commits into from
May 6, 2023

Conversation

HammadB
Copy link
Collaborator

@HammadB HammadB commented May 6, 2023

Description of changes

Merges Team Hypothesis Tests

Test plan

These are tests.

Documentation Changes

None

levand and others added 30 commits April 6, 2023 17:27
…lidation

Allow capital letters in collection names
This reverts commit f48a07a. Going to
    use a different approach.
Saves a lot of time during testing by not re-constructing them all the time.
* Progress toward coverage

* Updated assumptions

* temporarily generate less data

* use full-dimension records

* Use recall thresholds for ann_invariant

* Tests passing

* Address comment

* Fix buggy regex in index name check

* Embale tests in vscode

* Nit

---------

Co-authored-by: Luke VanderHart <[email protected]>
levand and others added 24 commits May 2, 2023 11:35
…-tests

Apply Hypothesis tests as integration tests
Add in multiple versions of python during CI. Add typed_extensions which lets us patch back in types not supported in older versions
Adds a hypothesis test for filtering the query.
Add support for multiple distance metrics in tests.

We coin-flip and sometimes add a space when using hnsw_params
Added the distance functions to the invariant and use them when needed.
In the process of writing this test I discovered a bug with our implementation of update that was revealed by the inner product space. Since the inner product is not a true metric, a point may not be a neighbor to itself. Our update code was strictly appending to the index due to the a bug with how we manage string UUID vs UUID objects. In l2 and cosine spaces, this usually was fine in the eyes of tests since the results returned were correct with the updated data. But IP exacerbated the issue by making the results not always be the same point.
Add PR checklist
* Hashing EF

* Draf from EF strategy

* debug

* Remove test

* Finalized tests

* Restore logging message

* Log accuracy threshold

* Remove normalization, TODOs

* Address comments

* Fix list wrapping to pass docs to EF

* Address comments
@@ -143,6 +153,9 @@ def create_collection(

if len(dupe_check) > 0:
if get_or_create:
if dupe_check[0][2] != metadata:
Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This behavior is confusing

@@ -82,6 +82,10 @@ def create_collection(
dupe_check = self.get_collection(name)
if len(dupe_check) > 0:
if get_or_create is True:
if dupe_check[0][2] != metadata:
Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This behavior is confusing

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants