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]

Reply via email to