Skip to content

fix(nvidia, xai, upliftai): report the provider in metrics - #8473

Open
anubhavlal07 wants to merge 1 commit into
livekit:mainfrom
anubhavlal07:fix/report-provider-missing-plugins
Open

anubhavlal07 wants to merge 1 commit into
livekit:mainfrom
anubhavlal07:fix/report-provider-missing-plugins

Conversation

@anubhavlal07

Copy link
Copy Markdown

Four plugin classes don't override the provider property, so they fall back to the base class's "unknown": NVIDIA STT and TTS, Uplift AI TTS, and xAI STT. NVIDIA STT doesn't override model either. These are the values that metrics, telemetry spans and the fallback adapters report (#6690), so usage from these plugins shows up with no provider. Every other STT and TTS plugin sets them.

Fix: add the properties, using the names these packages already use elsewhere:

  • NVIDIA STT and TTS report "nvidia", as nvidia.realtime does. STT.model returns the configured Riva model.
  • xAI STT reports "xAI", as xAI TTS does.
  • Uplift AI TTS reports "UpliftAI".

I didn't add model where the plugin has no model setting to report: NVIDIA TTS selects voices by function_id, and Uplift AI and xAI STT have no model option.

Tests:

  • test_reports_model_and_provider in tests/test_plugin_nvidia_stt.py;
  • test_reports_provider in tests/test_plugin_xai_stt.py;
  • test_reports_provider in a new tests/test_plugin_upliftai_tts.py (plugin("upliftai")).

All three fail on main and pass with the change (34 tests across the three files). ruff check and ruff format --check are clean.

This change was prepared with the help of an AI assistant (Claude), and I reviewed and tested it.

@anubhavlal07
anubhavlal07 requested a review from a team as a code owner November 9, 2026 15:50
@CLAassistant

CLAassistant commented Nov 9, 2026 •

Copy link
Copy Markdown

CLA assistant check
All committers have signed the CLA.

@devin-ai-integration devin-ai-integration Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Devin Review found 1 potential issue.

Devin Review

Comment on lines +103 to +104
def model(self) -> str:
return self._opts.model

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🟡 Plugin metadata overrides lack documentation

The new model and provider overrides have no docstrings, despite the requirement to document new methods. Their plugin-specific values remain undocumented on these properties.

Learn more

The repository requires documentation for every newly written method. All five new property overrides lack docstrings: NVIDIA STT's model and provider, NVIDIA TTS's provider, Uplift AI TTS's provider, and xAI STT's provider. The base properties describe the general interface, but not the plugin-specific values of these overrides.

Example: A reader inspecting NVIDIA STT's model property sees no method documentation explaining that its value is the configured Riva model.

Recommended fix: Add concise docstrings to all five overrides identifying the value each exposes; document NVIDIA STT's model as the configured Riva model.

Devin Review


Was this helpful? React with 👍 or 👎 to provide feedback.

Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

These follow the existing overrides: 119 of the 123 provider overrides in livekit-plugins have no docstring, and the base STT.provider / TTS.provider docstrings already describe the property. Happy to add them if maintainers prefer.

This branch has not been deployed

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

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants