Query the Feast vector store with support for text, image, and multi-modal search. Args: query_vector: Optional vector to use for similarity search (text embeddings) query_string: Optional string query for keyword/semantic search query_image_bytes: Option
(
self,
query_vector: Optional[np.ndarray] = None,
query_string: Optional[str] = None,
query_image_bytes: Optional[bytes] = None,
top_k: int = 10,
)
| 51 | return self._store |
| 52 | |
| 53 | def query( |
| 54 | self, |
| 55 | query_vector: Optional[np.ndarray] = None, |
| 56 | query_string: Optional[str] = None, |
| 57 | query_image_bytes: Optional[bytes] = None, |
| 58 | top_k: int = 10, |
| 59 | ) -> OnlineResponse: |
| 60 | """Query the Feast vector store with support for text, image, and multi-modal search. |
| 61 | |
| 62 | Args: |
| 63 | query_vector: Optional vector to use for similarity search (text embeddings) |
| 64 | query_string: Optional string query for keyword/semantic search |
| 65 | query_image_bytes: Optional image bytes for image similarity search |
| 66 | top_k: Number of results to return |
| 67 | |
| 68 | Returns: |
| 69 | An OnlineResponse |
| 70 | """ |
| 71 | query_list = query_vector.tolist() if query_vector is not None else None |
| 72 | |
| 73 | distance_metric = None |
| 74 | for field in self.rag_view.schema: |
| 75 | if hasattr(field, "vector_index") and field.vector_index: |
| 76 | if hasattr(field, "vector_search_metric"): |
| 77 | distance_metric = field.vector_search_metric |
| 78 | break |
| 79 | |
| 80 | return self.store.retrieve_online_documents_v2( |
| 81 | features=self.features, |
| 82 | query=query_list, |
| 83 | query_string=query_string, |
| 84 | query_image_bytes=query_image_bytes, |
| 85 | top_k=top_k, |
| 86 | distance_metric=distance_metric, |
| 87 | ) |
no test coverage detected