marqo-ai/marqo

Modify an index's model [ENHANCEMENT]

pandu-k opened this issue · 0 comments

Is your feature request related to a problem? Please describe.
There is no way to update an index's model

Describe the solution you'd like
An advanced feature: update an index's model

Describe alternatives you've considered
Reindex the index. For custom models: change the model URL to point to a new model.

Additional considerations

  1. Understand that this operation is eventually consistent, at best
    • Users need to be aware of this
    • Add_docs calls concurrent to model modifying may be ambiguous as to what model generated that vector
  2. The new model loading process. Perhaps it is something like this:
    • The index cache should be regularly refreshing (double check this)
    • When a new model is detected, eject the currently loaded model
    • Then, load in the new model
  3. How do we validate dimensions, for example?
    • Can we prevent users from breaking their own index?
    • If they do break their own index, can users easily tell what went wrong? Can they easily correct this?
  4. What about overloading and breaking the index?
    • What happens if a user tries to continually change the models?
  5. What about the vector <> model relationship
    • It would be nice to figure out what model a certain vector was generated by, but we should sketch out possible solutions and feasibility for this