-
Notifications
You must be signed in to change notification settings - Fork 17
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
|
21dbaf0 to
f05531e
Compare
tests/integration/Core/Search/FieldType/EmbeddingFieldFactoryTest.php
Outdated
Show resolved
Hide resolved
tests/integration/Core/Search/FieldType/EmbeddingFieldFactoryTest.php
Outdated
Show resolved
Hide resolved
tests/integration/Core/Repository/Values/Content/EmbeddingQueryBuilderTest.php
Outdated
Show resolved
Hide resolved
tests/integration/Core/Repository/Values/Content/EmbeddingQueryBuilderTest.php
Outdated
Show resolved
Hide resolved
src/contracts/Repository/Values/Content/EmbeddingQueryBuilder.php
Outdated
Show resolved
Hide resolved
f05531e to
7cc107c
Compare
|



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 constructingEmbeddingQueryinstances, enforcing required parameters (model, text/vector, threshold, etc.) and integrating with the Core query pipeline.QueryValidatorInterface: validates that anEmbeddingQueryis well-formed (e.g., model exists, vector dimensions match configuration) before it reaches the search engine layer.Embedding contracts (in
Contracts/Embedding):EmbeddingConfigurationInterfaceDefines how embedding models are configured in the system (model name, dimensionality, provider reference, field suffix).
EmbeddingProviderInterfaceThe runtime contract for any embedding engine—exposes a
getEmbeddings(array $inputs): arraymethod to generate vectors from text or other inputs.EmbeddingProviderRegistryInterfaceA registry service that lists all available
EmbeddingProviderInterfaceimplementations, keyed by provider name.EmbeddingProviderResolverInterfaceResolves which
EmbeddingProviderInterfaceshould be used for a givenEmbeddingConfigurationInterface(e.g., by model or provider alias).Search field type:
EmbeddingFieldandEmbeddingFieldFactoryto 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: