[ML] VoyageAI Integration - Clean Version#137519
[ML] VoyageAI Integration - Clean Version#137519fzowl wants to merge 41 commits intoelastic:mainfrom
Conversation
- embeddings works, tested - initial rerank code What's missing: - unit and integration tests - rerank request/response mapping and verification
- embeddings works, tested - rerank works, tested (https://www.elastic.co/search-labs/blog/elasticsearch-cohere-rerank) What's missing: - unit and integration tests
- embeddings works, tested - rerank works, tested (https://www.elastic.co/search-labs/blog/elasticsearch-cohere-rerank) What's missing: - unit and integration tests
Moving dimensions to ServiceSettings
c480404 to
3c2400a
Compare
- Add text, multimodal, and contextual embeddings support - Add rerank functionality - All code in services/voyageai directory - Includes comprehensive test coverage - Removed 3 files from external/voyageai directory - Removed 3 files from external/http/sender directory - All VoyageAI code now in services/voyageai directory only
3c2400a to
c2e11ea
Compare
- Add text, multimodal, and contextual embeddings support - Add rerank functionality - All code in services/voyageai directory - Includes comprehensive test coverage - Removed test-voyageai-e2e.sh script - All VoyageAI code now properly organized in services/voyageai only
370aba7 to
72f6dd3
Compare
- Add text, multimodal, and contextual embeddings support - Add rerank functionality - All code in services/voyageai directory - Includes comprehensive test coverage - Removed test-voyageai-e2e.sh script - Deleted ALL voyageai files from external directory (22 files) - All VoyageAI code now properly organized in services/voyageai only
* Fix irregular spaces * Update analysis-keyword-repeat-tokenfilter.md * Update search-suggesters.md * Update search-profile.md
|
Pinging @elastic/ml-core (Team:ML) |
|
@DonalEvans @jonathan-buttner Can you please take a look? |
I will try to get to this PR this week, but I have a lot on my plate right now with other large PRs to review. Thank you for your patience. |
|
@fzowl Hi, sorry for taking so long to get to this, I've been out sick recently. Before I review these changes thoroughly, I have some concerns related to the multimodal model support being added in this PR. We recently added a new task type to the inference API, We don't currently have any integrations that support the One other broad concern I have about the approach in this PR is that using the model name to determine the request format may be brittle and difficult to maintain. Can we guarantee that for a given model name prefix the behaviour will always be consistent? Might it be better to allow the user to explicitly set something in the service settings to indicate the type of model being used rather than trying to infer it ourselves? |
|
@DonalEvans Thanks for your reply! I probably will close this PR and open a new one (even cleaner, less commits) and follow the suggested way. Regarding your concern about the approach to determine the request format: yes, the model name determines the request format, so at a high level, this should be fine. We can work on a better condition ie. model name contains substring (ie. 'multimodal'), or list the text embedding models, list the multimodal models, ie. |
|
@DonalEvans I'm closing this PR in favor of #139812 Can you please take a look? |
Summary
This PR contains the cleaned up VoyageAI integration with the following improvements:
Testing: