Skip to content

Conversation

@nathaliellenaa
Copy link
Contributor

Description

Add Nova MME support: add pre-process function for Nova audio, image, and video embedding

Related Issues

Resolves #[Issue number to be closed when this PR is merged]

Check List

  • New functionality includes testing.
  • New functionality has been documented.
  • API changes companion pull request created.
  • Commits are signed per the DCO using --signoff.
  • Public documentation issue/PR created.

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.
For more information on following Developer Certificate of Origin and signing off your commits, please check here.

@ylwu-amzn
Copy link
Collaborator

Add unit test?

@nathaliellenaa
Copy link
Contributor Author

Added UTs

@nathaliellenaa nathaliellenaa had a problem deploying to ml-commons-cicd-env-require-approval October 28, 2025 19:23 — with GitHub Actions Failure
@nathaliellenaa nathaliellenaa had a problem deploying to ml-commons-cicd-env-require-approval October 28, 2025 19:23 — with GitHub Actions Error
@nathaliellenaa nathaliellenaa had a problem deploying to ml-commons-cicd-env-require-approval October 28, 2025 19:23 — with GitHub Actions Failure
@nathaliellenaa nathaliellenaa had a problem deploying to ml-commons-cicd-env-require-approval October 28, 2025 19:23 — with GitHub Actions Error
@nathaliellenaa
Copy link
Contributor Author

Failing test due to throttling

RestMLRAGSearchProcessorIT > testBM25WithBedrockConverseUsingLlmMessages STANDARD_ERROR
    REPRODUCE WITH: ./gradlew ':opensearch-ml-plugin:integTest' --tests 'org.opensearch.ml.rest.RestMLRAGSearchProcessorIT.testBM25WithBedrockConverseUsingLlmMessages' -Dtests.seed=13D20DA4FFCBA16E -Dtests.security.manager=false -Dtests.locale=bn-IN -Dtests.timezone=Europe/Vaduz -Druntime.java=21

RestMLRAGSearchProcessorIT > testBM25WithBedrockConverseUsingLlmMessages FAILED
    org.opensearch.client.ResponseException: method [POST], host [http://127.0.0.1:33969/], URI [/test/_search?size=5&search_pipeline=pipeline_test], status line [HTTP/1.1 429 Too Many Requests]
    {"error":{"root_cause":[{"type":"remote_connector_throttling_exception","reason":"Error from remote service: The request was denied due to remote server throttling. To change the retry policy and behavior, please update the connector client_config."}],"type":"remote_connector_throttling_exception","reason":"Error from remote service: The request was denied due to remote server throttling. To change the retry policy and behavior, please update the connector client_config."},"status":429}
        at __randomizedtesting.SeedInfo.seed([13D20DA4FFCBA16E:61D9E6DEA4D1CC00]:0)
        at app//org.opensearch.client.RestClient.convertResponse(RestClient.java:501)
        at app//org.opensearch.client.RestClient.performRequest(RestClient.java:384)
        at app//org.opensearch.client.RestClient.performRequest(RestClient.java:359)
        at app//org.opensearch.ml.utils.TestHelper.makeRequest(TestHelper.java:199)
        at app//org.opensearch.ml.utils.TestHelper.makeRequest(TestHelper.java:172)
        at app//org.opensearch.ml.rest.RestMLRAGSearchProcessorIT.performSearch(RestMLRAGSearchProcessorIT.java:1450)
        at app//org.opensearch.ml.rest.RestMLRAGSearchProcessorIT.testBM25WithBedrockConverseUsingLlmMessages(RestMLRAGSearchProcessorIT.java:892)

@nathaliellenaa nathaliellenaa temporarily deployed to ml-commons-cicd-env-require-approval October 28, 2025 21:34 — with GitHub Actions Inactive
@nathaliellenaa nathaliellenaa had a problem deploying to ml-commons-cicd-env-require-approval October 28, 2025 21:34 — with GitHub Actions Failure
@nathaliellenaa nathaliellenaa temporarily deployed to ml-commons-cicd-env-require-approval October 28, 2025 21:34 — with GitHub Actions Inactive
@nathaliellenaa
Copy link
Contributor Author

Is it support multi modal in one request? In the last PR I remembered I commented once that I am hoping to be one pre and post processing function which will internally to detect which modality and apply the processing functions. Should be fairly easy case when logic in implementation. This will ease a lot of pain. As a user , I don't want to register 4 pre and post functions for different modalities

No, currently we need to register different pre/post functions for different modalities. I didn't get a chance to make the necessary changes as we're targeting to include this into 3.3.2. I will improve current implementation after the release

@codecov
Copy link

codecov bot commented Oct 29, 2025

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 80.15%. Comparing base (5964268) to head (09e2496).
⚠️ Report is 7 commits behind head on main.

Additional details and impacted files
@@             Coverage Diff              @@
##               main    #4360      +/-   ##
============================================
+ Coverage     80.09%   80.15%   +0.05%     
- Complexity    10199    10221      +22     
============================================
  Files           855      858       +3     
  Lines         44374    44460      +86     
  Branches       5135     5140       +5     
============================================
+ Hits          35540    35635      +95     
+ Misses         6670     6664       -6     
+ Partials       2164     2161       -3     
Flag Coverage Δ
ml-commons 80.15% <100.00%> (+0.05%) ⬆️

Flags with carried forward coverage won't be shown. Click here to find out more.

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@nathaliellenaa nathaliellenaa temporarily deployed to ml-commons-cicd-env-require-approval October 29, 2025 01:46 — with GitHub Actions Inactive
@nathaliellenaa nathaliellenaa temporarily deployed to ml-commons-cicd-env-require-approval October 29, 2025 02:59 — with GitHub Actions Inactive
@nathaliellenaa nathaliellenaa temporarily deployed to ml-commons-cicd-env-require-approval October 29, 2025 02:59 — with GitHub Actions Inactive
@mingshl
Copy link
Collaborator

mingshl commented Oct 29, 2025

Is it support multi modal in one request? In the last PR I remembered I commented once that I am hoping to be one pre and post processing function which will internally to detect which modality and apply the processing functions. Should be fairly easy case when logic in implementation. This will ease a lot of pain. As a user , I don't want to register 4 pre and post functions for different modalities

No, currently we need to register different pre/post functions for different modalities. I didn't get a chance to make the necessary changes as we're targeting to include this into 3.3.2. I will improve current implementation after the release

would you create issue to track that?

@Zhangxunmt Zhangxunmt had a problem deploying to ml-commons-cicd-env-require-approval October 29, 2025 03:26 — with GitHub Actions Failure
@Zhangxunmt Zhangxunmt temporarily deployed to ml-commons-cicd-env-require-approval October 29, 2025 03:26 — with GitHub Actions Inactive
@Zhangxunmt Zhangxunmt had a problem deploying to ml-commons-cicd-env-require-approval October 29, 2025 03:26 — with GitHub Actions Error
@Zhangxunmt Zhangxunmt temporarily deployed to ml-commons-cicd-env-require-approval October 29, 2025 03:26 — with GitHub Actions Inactive
@nathaliellenaa
Copy link
Contributor Author

would you create issue to track that?

Created this issue: #4365

@Zhangxunmt Zhangxunmt had a problem deploying to ml-commons-cicd-env-require-approval October 29, 2025 04:32 — with GitHub Actions Error
@Zhangxunmt Zhangxunmt had a problem deploying to ml-commons-cicd-env-require-approval October 29, 2025 04:32 — with GitHub Actions Error
@Zhangxunmt Zhangxunmt had a problem deploying to ml-commons-cicd-env-require-approval October 29, 2025 04:49 — with GitHub Actions Failure
@Zhangxunmt Zhangxunmt had a problem deploying to ml-commons-cicd-env-require-approval October 29, 2025 04:49 — with GitHub Actions Error
@Zhangxunmt Zhangxunmt temporarily deployed to ml-commons-cicd-env-require-approval October 29, 2025 04:49 — with GitHub Actions Inactive
@Zhangxunmt Zhangxunmt temporarily deployed to ml-commons-cicd-env-require-approval October 29, 2025 04:49 — with GitHub Actions Inactive
@Zhangxunmt Zhangxunmt had a problem deploying to ml-commons-cicd-env-require-approval October 29, 2025 06:09 — with GitHub Actions Error
@Zhangxunmt Zhangxunmt had a problem deploying to ml-commons-cicd-env-require-approval October 29, 2025 06:09 — with GitHub Actions Error
@Zhangxunmt Zhangxunmt had a problem deploying to ml-commons-cicd-env-require-approval October 29, 2025 06:09 — with GitHub Actions Failure
@Zhangxunmt Zhangxunmt temporarily deployed to ml-commons-cicd-env-require-approval October 29, 2025 07:08 — with GitHub Actions Inactive
@Zhangxunmt Zhangxunmt temporarily deployed to ml-commons-cicd-env-require-approval October 29, 2025 07:08 — with GitHub Actions Inactive
@Zhangxunmt Zhangxunmt merged commit 7d25d56 into opensearch-project:main Oct 31, 2025
39 of 49 checks passed
@opensearch-trigger-bot
Copy link
Contributor

The backport to 3.3 failed:

The process '/usr/bin/git' failed with exit code 1

To backport manually, run these commands in your terminal:

# Fetch latest updates from GitHub
git fetch
# Create a new working tree
git worktree add .worktrees/backport-3.3 3.3
# Navigate to the new working tree
cd .worktrees/backport-3.3
# Create a new branch
git switch --create backport/backport-4360-to-3.3
# Cherry-pick the merged commit of this pull request and resolve the conflicts
git cherry-pick -x --mainline 1 7d25d56bd8661b3ddb4655ba0a52c10c0d073dc4
# Push it to GitHub
git push --set-upstream origin backport/backport-4360-to-3.3
# Go back to the original working tree
cd ../..
# Delete the working tree
git worktree remove .worktrees/backport-3.3

Then, create a pull request where the base branch is 3.3 and the compare/head branch is backport/backport-4360-to-3.3.

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

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants