-
Notifications
You must be signed in to change notification settings - Fork 1.1k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
feat: Updating retrieve online documents v2 to work for other fields for sq… #5082
Conversation
…lite Signed-off-by: Francisco Javier Arceo <farceo@redhat.com>
Signed-off-by: Francisco Javier Arceo <farceo@redhat.com>
Signed-off-by: Francisco Javier Arceo <farceo@redhat.com>
Signed-off-by: Francisco Javier Arceo <farceo@redhat.com>
2623df8
to
0dff5f1
Compare
@@ -196,6 +196,17 @@ def __str__(self): | |||
UnixTimestamp: pyarrow.timestamp("us", tz=_utc_now().tzname()), | |||
} | |||
|
|||
FEAST_VECTOR_TYPES: List[Union[ValueType, PrimitiveFeastType, ComplexFeastType]] = [ |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
wonder if this is used somewhere? :)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
vector_bin = serialize_f32( | ||
val.float_list_val.val, config.online_store.vector_len | ||
) # type: ignore | ||
if feature_type_dict[feature_name] in FEAST_VECTOR_TYPES: |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@HaoXuAI see here!
Technically there's a flaw here I need to resolve because you have to pass in a query embedding for just pure text search, which is silly. |
# [0.47.0](v0.46.0...v0.47.0) (2025-03-10) * feat!: Include PUBLIC_URL in defaultProjectListPromise URL in /ui ([2f0f7b3](2f0f7b3)) ### Bug Fixes * Add transformation_service_endpoit to support Go feature server. ([#5071](#5071)) ([5627d7c](5627d7c)) * Adding extra space on the VM to kind cluster to see if this solves the issue with memory not available with operator e2e tests. ([#5102](#5102)) ([e6e928c](e6e928c)) * Allow unencrypted Snowflake key ([#5097](#5097)) ([87a7c23](87a7c23)) * Cant add different type of list types ([#5118](#5118)) ([bebd7be](bebd7be)) * Fixing transformations on writes ([#5127](#5127)) ([95ac34a](95ac34a)) * Identify s3/remote uri path correctly ([#5076](#5076)) ([93becff](93becff)) * Increase available action VM storage and reduce dev feature-server image size ([#5112](#5112)) ([75f5a90](75f5a90)) * Move Feast to pyproject.toml instead of setup.py ([#5067](#5067)) ([4231274](4231274)) * Skip refresh if already in progress or if lock is already held ([#5068](#5068)) ([f3a24de](f3a24de)) ### Features * Add an OOTB Chat uI to the Feature Server to support RAG demo ([#5106](#5106)) ([40ea7a9](40ea7a9)) * Add Couchbase Columnar as an Offline Store ([#5025](#5025)) ([4373cbf](4373cbf)) * Add Feast Operator RBAC example with Kubernetes Authentication … ([#5077](#5077)) ([2179fbe](2179fbe)) * Added docling and pytorch as add on ([#5089](#5089)) ([135342b](135342b)) * Feast Operator example with Postgres in TLS mode. ([#5028](#5028)) ([2c46f6a](2c46f6a)) * Operator - Add feastProjectDir section to CR with git & init options ([#5079](#5079)) ([d64f01e](d64f01e)) * Override the udf name when provided as input to an on demand transformation ([#5094](#5094)) ([8a714bb](8a714bb)) * Set value_type of entity directly in from_proto ([#5092](#5092)) ([90e7498](90e7498)) * Updating retrieve online documents v2 to work for other fields for sq… ([#5082](#5082)) ([fc121c3](fc121c3)) ### BREAKING CHANGES * The PUBLIC_URL environment variable is now taken into account by default when fetching the projects list. This is a breaking change only if all these points apply: 1. You're using Feast UI as a module 2. You're serving the UI files from a non-root path via the PUBLIC_URL environment variable 3. You're serving the project list from the root path 4. You're not passing the `feastUIConfigs.projectListPromise` prop to the FeastUI component In this case, you need to explicitly fetch the project list from the root path via the `feastUIConfigs.projectListPromise` prop: ```diff const root = createRoot(document.getElementById("root")!); root.render( <React.StrictMode> - <FeastUI /> + <FeastUI + feastUIConfigs={{ + projectListPromise: fetch("/projects-list.json", { + headers: { + "Content-Type": "application/json", + }, + }).then((res) => res.json()) + }} + /> </React.StrictMode> ); ``` Signed-off-by: Harri Lehtola <peruukki@hotmail.com>
What this PR does / why we need it:
This PR enables full text search for the
retrieve_online_documents/
endpoint for SQLite Vec. It also establishes a new parameter in the SDK method calledquery_string
that can be passed to use key word search. There are a number of limitations with this approach as thetop_k
parameter can be misleading (as evident by the example). This offers a good start for keyword search that leverages the existing vector retrieval endpoint. As a next step, enabling hybrid search would be beneficial.It makes keyword search as simple as:
feature_server.py
:feature_store.py
:feature_view.py
:milvus.py
:online_store.py
:sqlite.py
:passthrough_provider.py
andprovider.py
:types.py
:example_feature_repo_1.py
:Which issue(s) this PR fixes:
#5081
#5073
Misc