Skip to content

Conversation

@mikadamczyk
Copy link
Contributor

@mikadamczyk mikadamczyk commented May 15, 2025

🎫 Issue IBX-9846

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 constructing EmbeddingQuery instances, enforcing required parameters (model, text/vector, threshold, etc.) and integrating with the Core query pipeline.
    • QueryValidatorInterface: validates that an EmbeddingQuery 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 given EmbeddingConfigurationInterface (e.g., by model or provider alias).
  • Search field type:

    • EmbeddingField and EmbeddingFieldFactory 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:

@mikadamczyk mikadamczyk self-assigned this May 15, 2025
@mnocon mnocon added the Doc needed The changes require some documentation label May 15, 2025
@mikadamczyk mikadamczyk force-pushed the taxonomy-suggestions branch 4 times, most recently from 2972efe to 9d17bd9 Compare May 21, 2025 10:00
@sonarqubecloud
Copy link

@mikadamczyk mikadamczyk marked this pull request as ready for review June 24, 2025 06:29
@mikadamczyk mikadamczyk force-pushed the taxonomy-suggestions branch from a1fcea3 to 48072bf Compare June 26, 2025 09:12
Copy link
Member

@adamwojs adamwojs left a 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.

@sonarqubecloud
Copy link

sonarqubecloud bot commented Jul 3, 2025

@mikadamczyk mikadamczyk requested review from a team and adamwojs August 21, 2025 08:45
@ezrobot ezrobot requested review from Steveb-p, ViniTou, alongosz, barw4, ciastektk, konradoboza, tbialcz and wiewiurdp and removed request for a team August 21, 2025 08:45
@adamwojs adamwojs force-pushed the taxonomy-suggestions branch from 21dbaf0 to f05531e Compare October 14, 2025 06:44
@sonarqubecloud
Copy link

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Doc needed The changes require some documentation

Projects

None yet

Development

Successfully merging this pull request may close these issues.

8 participants