-
Notifications
You must be signed in to change notification settings - Fork 16
IBX-9846: Added search using embeddings #536
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
base: 4.6
Are you sure you want to change the base?
Conversation
2972efe
to
9d17bd9
Compare
|
a1fcea3
to
48072bf
Compare
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.
declare(strict_types=1);
is missing in multiple places as well as final
modifier.
src/bundle/Core/DependencyInjection/Configuration/Parser/Embeddings.php
Outdated
Show resolved
Hide resolved
tests/bundle/Core/DependencyInjection/Configuration/Parser/EmbeddingsTest.php
Outdated
Show resolved
Hide resolved
tests/bundle/Core/DependencyInjection/Configuration/Parser/EmbeddingsTest.php
Show resolved
Hide resolved
tests/integration/Core/Repository/Values/Content/EmbeddingQueryBuilderTest.php
Outdated
Show resolved
Hide resolved
|
Description:
Introduces foundational embedding support at the Ibexa Core level:
New query abstractions under
Repository/Values/Content
:EmbeddingQuery
: a value object representing a “semantic similarity” search request, encapsulating the text or vector to match against content embeddings.EmbeddingQueryBuilder
: a fluent builder for constructingEmbeddingQuery
instances, enforcing required parameters (model, text/vector, threshold, etc.) and integrating with the Core query pipeline.QueryValidatorInterface
: validates that anEmbeddingQuery
is well-formed (e.g., model exists, vector dimensions match configuration) before it reaches the search engine layer.Embedding contracts (in
Contracts/Embedding
):EmbeddingConfigurationInterface
Defines how embedding models are configured in the system (model name, dimensionality, provider reference, field suffix).
EmbeddingProviderInterface
The runtime contract for any embedding engine—exposes a
getEmbeddings(array $inputs): array
method to generate vectors from text or other inputs.EmbeddingProviderRegistryInterface
A registry service that lists all available
EmbeddingProviderInterface
implementations, keyed by provider name.EmbeddingProviderResolverInterface
Resolves which
EmbeddingProviderInterface
should be used for a givenEmbeddingConfigurationInterface
(e.g., by model or provider alias).Search field type:
EmbeddingField
andEmbeddingFieldFactory
to define and instantiate custom search fields for embedding vectors.This PR lays the groundwork for embedding-driven search across all supported engines.
For QA:
Documentation: