Use a value object for vector data instead of an array

Created on 29 July 2025, 15 days ago

Problem/Motivation

We vectors contain data that should be readonly and passed around as a value object.

This should keep us in line with Symfony's VectorInterface for future consideration. See https://github.com/symfony/ai-platform/blob/main/src/Vector/VectorInterf...

Steps to reproduce (required for bugs, but not feature requests)

Proposed resolution

Create a value object for vectors instead of passing arrays.

Remaining tasks

Optional: Other details as applicable (e.g., User interface changes, API changes, Data model changes)

πŸ“Œ Task
Status

Active

Version

1.2

Component

...to be triaged

Created by

πŸ‡¦πŸ‡ΊAustralia kim.pepper πŸ„β€β™‚οΈπŸ‡¦πŸ‡ΊSydney, Australia

Live updates comments and jobs are added and updated live.
Sign in to follow issues

Merge Requests

Comments & Activities

  • Issue created by @kim.pepper
  • Pipeline finished with Success
    15 days ago
    Total: 339s
    #559213
  • πŸ‡©πŸ‡ͺGermany marcus_johansson

    Thank you @kim.pepper - I'm assuming this was in review since the MR is there and not in draft? - I added one minor issue for someone to fix.

    More importantly, this is a breaking change, so I'm not sure this is possible to actually implement before 2.0.0. I'll just verify that with Scott, since he's the lead on VDB + AI Search.

    2.0.0 is however most likely released in autumn, meaning that we will have Symfony integration first in 3.0.0 most likely, based on their timeline, so we would have to have time to start preparing all changes for an eventual move in 2.0.0 and then do the full move in 3.0.0.

  • πŸ‡¬πŸ‡§United Kingdom scott_euser

    Thanks for the contribution! Yeah makes sense to me re version and timeline. Is there any reason not to also have ::getDimensions() given the eventual Symfony AI Platform compatibility plan?

    @kim.pepper sounds like you are making a new VDB Provider so BTW once you have in place we can reference from AI module homepage + add to docs https://project.pages.drupalcode.org/ai/1.2.x/providers/matris/ - helps also keep track of maintainers to contact with breaking changes/coordinated releases particularly while we are still in experimental.

  • Pipeline finished with Success
    12 days ago
    Total: 315s
    #561985
  • Pipeline finished with Failed
    12 days ago
    Total: 309s
    #562092
  • πŸ‡¦πŸ‡ΊAustralia kim.pepper πŸ„β€β™‚οΈπŸ‡¦πŸ‡ΊSydney, Australia

    I added a vector document and an interface for a vector store.

  • Pipeline finished with Success
    11 days ago
    Total: 290s
    #562112
  • πŸ‡¦πŸ‡ΊAustralia kim.pepper πŸ„β€β™‚οΈπŸ‡¦πŸ‡ΊSydney, Australia

    Updating the title to better reflect the direction.

Production build 0.71.5 2024