* WIP: recommendation api update
* implement local new reco + add new tests
* refactor calculate_best_scores, normalize score assertion
* fix raw vectors in new recommend
* fix mypy errors, add new reco on group recommend
* fix more lints from ci
* fix pyright lint
* formattng
* Add descriptions to enums
* no mutable default argument
* edit score comparison precision based on magnitude
* Address review comments
* remove custom message for type ignore
* add coverage test
* improve coverage test a little
* add more fixtures for conversion test
---------
Co-authored-by: Luis Cossío <luis.cossio@outlook.com>
* fix: add init from conversion, support init from in local mode
* fix: fix mypy
* more test coverage
---------
Co-authored-by: generall <andrey@vasnetsov.com>
* tests: add some values count congruence tests
* fix: fix incorrect behaviour of value_counts, isempty, isnull in local mode
* fix: update isempty behaviour
* tests: add test cases for isnull and isempty
* * fix(qdrant_fastembed.py): change method name from encode to embed in QdrantFastembedMixin class
* fix(qdrant_fastembed.py): change method name from encode to embed
* * fix(qdrant_fastembed.py): change DEFAULT_EMBEDDING_MODEL from "sentence-transformers/all-MiniLM-L6-v2" to "BAAI/bge-small-en"
* * fix(qdrant_fastembed.py): add support for different embedding types in QdrantFastembedMixin
* feat(qdrant_fastembed.py): add embed_type parameter to embed method in QdrantFastembedMixin
* * fix(qdrant_fastembed.py): change vector field name from "text-{model_name}" to "fast-{model_name}"
* * fix(qdrant_fastembed.py): add comments to clarify code intent
* * refactor(qdrant_fastembed.py): remove unused import 'Sequence' from typing module
* * test(test_fast_embed.py): refactor test_add_without_query function to simplify parameter handling and remove unnecessary checks and assignments
* * fix(qdrant_fastembed.py): fix type error in NamedVector Query
* * fix(qdrant_fastembed.py): change method name from `embed` to `query_embed` in QdrantFastembedMixin class
* fix(qdrant_fastembed.py): fix query_vectors assignment in `query` method of QdrantFastembedMixin class
* Add skeleton for fastvector registration
* * fix(qdrant_client.py): fix import statement for QdrantClientMixin from fastembed instead of fastvector
* fix(qdrant_client.py): remove unnecessary print statement
* * chore(README.md): add bullet point for extensive test coverage
* feat(README.md): add section for Fast Embeddings + Simpler API
* fix(README.md): fix formatting of code block and update code example for Qdrant Client usage
*
* * fix(qdrant_client.py): remove unused imports and code
* feat(qdrant_client.py): add support for adding and querying documents with fastembed installed
* test(qdrant_client.py): add tests for adding and querying documents with and without fastembed installed
* * feat(qdrant_client.py): add support for fastembed.qdrant_mixin.QdrantAPIExtensions for upsert_docs and search_docs methods
* * fix(qdrant_client.py): remove unused import of SearchParams
* feat(qdrant_client.py): add return type hint to QdrantClient.search_docs method
* * fix(qdrant_client.py): fix import statement for SearchParams class in qdrant_client.py
* * feat(models.py): add QueryResponse model for handling query responses
* * feat(qdrant_client.py): add batch_iterable method to QdrantClient class
* * chore(qdrant_client.py): reformat code for better readability
* * chore(test_qdrant_client.py): add type hinting to fastembed_setup fixture
* test(test_qdrant_client.py): add test for client_close function
* * chore(.gitignore): add pattern for ignoring .tar.gz files
* * refactor(test_qdrant_client.py): remove unused imports and variables
* chore(test_qdrant_client.py): reformat import statements for better readability
* * chore(test_qdrant_client.py): remove unused fixtures and test cases
* * chore(qdrant_client.py): remove unused imports
* Add test skeleton
* * chore(.gitignore): add local_cache/*/* to ignore local cache files
* * fix(qdrant_client.py): change import statement for fastembed to use DefaultEmbedding instead of FlagEmbedding
* refactor(qdrant_client.py): refactor code to remove unnecessary loop
* * fix(qdrant_client.py): import missing models in qdrant_client.py
* feat(qdrant_client.py): add support for search parameters in search method
* refactor(qdrant_client.py): refactor indexing logic to handle embeddings correctly
* * test(test_fast_embed.py): add assertion to verify count of documents in collection
* test(test_fast_embed.py): remove unused code
* test(test_fast_embed.py): add TODO comment for future assertions
* * chore(pyproject.toml): add optional fastembed group to poetry dependencies
* feat(pyproject.toml): add fastembed dependency to fastembed group
* * chore(qdrant_client.py): add check for fastembed installation in QdrantClient constructor
* * fix(test_fast_embed.py): skip test if FastEmbed is not installed
* fix(test_fast_embed.py): add default values for test_no_install parameters
* fix(test_fast_embed.py): skip test if FastEmbed is installed
* Delete unused usage file
* * chore(models.py): remove unused QueryResponse class
* feat(qdrant_client.py): add QueryResponse class
* * refactor(qdrant_client.py): organize imports and fix type hinting for QueryResponse class
* review fixes
* make mypy happy
* review fixes
* fix mypy
---------
Co-authored-by: generall <andrey@vasnetsov.com>
* * chore(integration-tests.yml): remove MacOS from the matrix of operating systems
* chore(integration-tests.yml): remove setup for docker on MacOS
* enable macos tests on dispatch
* rename workflow
* do not run congruence tests on macos
---------
Co-authored-by: generall <andrey@vasnetsov.com>
* Move collection update integration from congruence to main tests
The integration test for collection update correctness was put in the
wrong place. Local mode does not support this feature. The test as a
whole has been merged into an existing collection update test in our
main testing suite.
* Only test for new collection update parameters in v1.4.0 and above
* Enable vectors comparison in tests (round to 1e-3)
* Normalize vectors if cosine distance is used
* fix: compare scroll results
---------
Co-authored-by: George Panchuk <george.panchuk@qdrant.tech>
* Add gnu-sed instructions for macOS in DEVELOPMENT.md
* new: extend mac os sed instructions
---------
Co-authored-by: George Panchuk <george.panchuk@qdrant.tech>
* fix: fix congruence upload collection list of np.array, fix type hints
* fix: update type hints, remove broken code
* tests: delete collection after test just in case
* fix: return Dict[str, NumpyArray], support it in local mode
* fix: update type
* Enable testing on windows and macos
* Add platform to the name
* Add Docker on MacOS
* Temporarily disable tests on Windows
* Explicitly set ports to be opened
* Add problematic case for MacOS
* Increase the timeout in tests