YAshhh29 opened a new pull request, #74521: URL: https://github.com/apache/airflow/pull/74521
Replaces #69673, which was closed under the open-PR limit and can't be reopened from my side. Same commits, rebased onto main with no conflicts. The Qdrant provider can write vectors with `QdrantIngestOperator` but has no operator to read them back, so a similarity search from a Dag means calling `hook.conn.query_points` directly and converting the returned `ScoredPoint` objects to dicts by hand before they can go to XCom. - `QdrantHook.search()` wraps `QdrantClient.query_points` (not the deprecated `search()`) and returns `list[dict]`, so results are XCom-safe. Extra keyword arguments are forwarded, which covers named vectors and hybrid search. - `QdrantSearchOperator` is a thin operator on top. `conn_id`, `collection_name`, `query`, `query_filter` and `limit` are templated, so a query vector can come from an upstream embedding task. - The example Dag and the how-to guide gain a search task after the ingest task. Unit tests cover the hook and the operator, and pass against `qdrant-client` 1.19.1. --- ##### Was generative AI tooling used to co-author this PR? - [X] Yes. I used an AI coding assistant (GitHub Copilot, Claude Code) for parts of the change and for the rebase. I reviewed everything before pushing and I'm responsible for it. Generated-by: Claude Code following [the guidelines](https://github.com/apache/airflow/blob/main/contributing-docs/05_pull_requests.rst#gen-ai-assisted-contributions) -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected]
