* development_action007_mahmoud:
feat: Add Qdrant destroy action and improve installation robustness
feat: Improve Qdrant installer and update health check port
feat: Enhance Qdrant client example script
feat: Add ignore rules for storage and initialization files
feat: Add index management and scroll functionality to Qdrant client
- Added a `destroy` action to completely remove Qdrant, including
its data directory and zinit service. This improves the cleanup
process and prevents leftover files.
- Improved the `installed` check to be more reliable by directly
checking the Qdrant version without relying on sourcing the
profile. This avoids potential issues with profile setup.
- Added more informative logging messages throughout the process to
improve user experience and debugging.
- Improved error handling and reporting.
- Use zinit to manage qdrant service to ensure proper stop and remove.
- Added comprehensive error handling to all Qdrant client calls,
improving robustness and providing informative error messages.
- Included logging statements to track script execution and provide
feedback on each step.
- Added checks for Qdrant server health and service information before
proceeding with other operations.
- Expanded the script to demonstrate more Qdrant client functionalities,
including listing collections, checking collection existence, and
retrieving and upserting points.
- Improved clarity and readability of the script by adding comments and
better structuring the code.
* development_actions007: (49 commits)
...
bump version to 1.0.22
add baobab mcp
feat: Improve path normalization in `namefix`
feat: Improve Qdrant client library
test: Skip Jina client for now
feat: Remove redundant Jina client code
feat: Remove optional age field from Person struct
feat: Improve DedupeStore and update tests
test: Improve test coverage for fenced code block and list item parsers
test: Improve test coverage for paragraph parsing
test: Improve test coverage for markdown block parser
test: Improve list parsing test cases
feat: Improve Markdown parser list and table detection
fix: Fix CI
feat: Improve RadixTree debugging output
refactor: Simplify ContactsDB methods
feat: Add calendar VFS implementation
feat: Add Contacts VFS module
feat: Add contacts database and VFS implementation
...
# Conflicts:
# .gitignore
# lib/clients/qdrant/qdrant_client.v
# lib/core/texttools/namefix.v
* development_action007_mahmoud:
feat: Add upsert points functionality to Qdrant client
feat: Remove unnecessary delete_collection call in example
feat: Add Qdrant client's retrieve_points functionality
feat: Improve Qdrant client example
...
feat: Add Jina server health check
feat: Add multi-vector API support
feat: Add classifier deletion functionality
qdrant
feat: Add classifier listing functionality
feat: Enhance Jina client with improved classification API
feat: Add train functionality to Jina client
feat: Add Jina client training and classification features
feat: Add reranking functionality to Jina client
feat: Enhance Jina client with additional embedding parameters
feat: Add create_embeddings function to Jina client
fix: Ensure the code compiles and add a test example
...
jina specs
- Added `upsert_points` method to the Qdrant client to allow
inserting and updating points in a collection. This enhances
the client's ability to manage data efficiently.
- Improved error handling in Qdrant client methods to provide
more informative error messages. This improves the user
experience by providing better feedback on failed operations.
- Removed the `delete_collection` call from the Qdrant example
to avoid unnecessary collection deletion. This simplifies the
example and prevents potential issues if the collection doesn't
exist.
- Updated `RetrievePointsParams` struct to use optional parameters
for `shard_key`, `with_payload`, and `with_vectors`. This
improves flexibility and reduces the required parameters. The
change simplifies the request structure.
- Added a new `retrieve_points` function to the Qdrant client
to retrieve points by their IDs. This allows for efficient
fetching of specific points from a collection.
- Renamed `is_exists` to `is_collection_exists` for clarity
and consistency.
- Added `RetrievePointsRequest`, `RetrievePointsParams`, and
`RetrievePointsResponse` structs for better structured data.
- Simplify Qdrant client example script, removing unnecessary
boilerplate and improving readability.
- Add functions for creating, getting, deleting and listing
collections.
- Add function to check collection existence.
- Improve error handling and logging.
- Added a health check to the Jina client to verify server availability.
- Improved error handling and messaging for failed health checks.
- Enhanced client robustness by providing feedback on server status.
- Added a new `create_multi_vector` function to the Jina client
to support creating multi-vector embeddings.
- Added a new `multi_vector_api.v` file containing the
implementation for the multi-vector API.
- Updated the `jina.vsh` example to demonstrate the usage of the
new multi-vector API.
- Added `delete_classifier` function to delete a classifier by ID.
- Added corresponding unit tests for the new function.
- Updated the client example to demonstrate classifier deletion.
- Renamed `jina_client_test.v` to `api_test.v` for better organization.
- Renamed `model_embed.v` to `embeddings_api.v` for better organization.
- Refactored the embedding API to use enums for task and truncate types,
and added error handling for invalid inputs.
- Added a new function to list available classifiers.
- Extended the Jina client with `list_classifiers()` method.
- Added unit tests to verify the new functionality.
- Update `jina.vsh` example to showcase the new classification API
with support for both text and image inputs. This improves
the flexibility and usability of the client.
- Introduce new structs `TextDoc`, `ImageDoc`, `ClassificationInput`,
`ClassificationOutput`, `ClassificationResult`, and `LabelScore`
to represent data structures for classification requests and
responses. This enhances code clarity and maintainability.
- Implement the `classify` function in `jina_client.v` to handle
classification requests with support for text and image inputs,
model selection, and label specification. This adds a crucial
feature to the Jina client.
- Add comprehensive unit tests in `jina_client_test.v` to cover
the new `classify` function's functionality. This ensures the
correctness and robustness of the implemented feature.
- Remove redundant code related to old classification API and data
structures from `model_embed.v`, `model_rank.v`, and
`jina_client.v`. This streamlines the codebase and removes
obsolete elements.
- Added `train` function to the Jina client for training
classifiers.
- Added `ClassificationTrain` struct to define training
parameters.
- Added `TrainingExample` struct to represent training data.
- Added `ClassificationTrainOutput` struct for the training
response.
- Added a new `classification_api.v` module for classifier
training functionalities.
- Added a new `classify` function to the Jina client for
classification tasks (currently commented out).