Skip to main content
Pre-release

This release is a pre-release and may not be stable for production use.

OVOS Transcription Validator Plugin

This plugin is a utterance transformer for OVOS. It uses an OpenAI-compatible large language model (LLM) to check speech-to-text (STT) transcriptions before your voice assistant processes them.

The plugin filters out garbled, nonsensical, or incomplete utterances. This reduces confusion and improves the accuracy of downstream skills.


Features

  • Validates transcriptions in multiple languages.
  • Works with OpenAI-compatible LLMs (for example, the OpenAI API, Ollama, or a custom server).
  • Filters out invalid utterances before the assistant processes them.
  • Plays an error sound or shows a dialog when it rejects an utterance.
  • Supports per-request configuration overrides.

How It Works

  1. The plugin receives an STT transcription and a language code.
  2. It sends a structured prompt with examples to the configured OpenAI-compatible LLM API.
  3. The LLM answers True (valid) or False (invalid).
  4. If the LLM answers False, the plugin cancels the utterance. It also triggers a dialog prompt or an error sound if you configure one.

Installation

pip install ovos-transcription-validator-plugin

Configuration

Add the plugin to the utterance_transformers section of your mycroft.conf.

By default, the plugin uses https://llama.smartgic.io/v1 with the qwen2.5:7b model and a placeholder API key sk-xxxx.

{
  "utterance_transformers": {
    "ovos-transcription-validator-plugin": {
      "api_url": "https://llama.smartgic.io/v1",
      "api_key": "sk-xxxx",
      "model": "qwen2.5:7b",
      "prompt_template_system": "/path/to/system_template.txt",
      "prompt_template_user": "/path/to/user_template.txt",
      "error_sound": true,
      "mode": "ignore"
    }
  }
}

Available Settings

Key Description Default Value
api_url The URL of your OpenAI-compatible LLM API endpoint. https://llama.smartgic.io/v1
api_key Your API key for the LLM service. Set it to null, or omit it, if the service needs no key (some local Ollama setups). sk-xxxx (placeholder)
model The name of the LLM model to use (for example, qwen2.5:7b, gpt-3.5-turbo, or gemma3:1b). qwen2.5:7b
prompt_template_system Path to a .txt file that overrides the default system prompt for the LLM. Optional. (internal default)
prompt_template_user Path to a .txt file that overrides the default user prompt template for the LLM. Optional. (internal default)
error_sound Set to true to play a sound on error, false to disable it, or give a string path to a custom sound file. false
mode Set to reprompt to ask the user to repeat the utterance, or ignore to cancel the invalid input silently. ignore
max_tokens The maximum number of tokens in the LLM's response. 3
temperature The LLM generation temperature. Lower values (for example, 0.0) make the output more deterministic, which suits True/False responses. 0.0
top_p The LLM sampling parameter. 0.2
stop_token A list of strings that stop the LLM from generating further tokens when it encounters them. ["\n", " "]
api_timeout The timeout, in seconds, for the LLM API request. 10

Requirements & Notes

  • You need an OpenAI-compatible LLM API endpoint, for example the OpenAI API, Ollama running locally, or another custom server.
  • The model you configure must already be available on your chosen LLM server.
  • The plugin adapts to different languages based on the LLM's capabilities and training.

  • OpenVoiceOS — the org that maintains the OVOS core and the utterance transformer framework this plugin extends.

Feedback & Contributions

Found a bug or want to contribute? Open an issue or a pull request.

Metadata

Release files for ovos-transcription-validator-plugin 0.1.3a1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for ovos-transcription-validator-plugin 0.1.3a1
File Size Uploaded
ovos_transcription_validator_plugin-0.1.3a1.tar.gz 22.6 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for ovos-transcription-validator-plugin 0.1.3a1
File Interpreter ABI Platform
ovos_transcription_validator_plugin-0.1.3a1-py3-none-any.whl Python 3 none any Details

Total release size: 50.7 kB

Release files / ovos_transcription_validator_plugin-0.1.3a1.tar.gz

Download URL ovos_transcription_validator_plugin-0.1.3a1.tar.gz
Size 22.6 kB
Tags Source
SHA-256 checksum
How to use checksums
8d97e1910ac1e9b5be4a790e4ae316e63267df114254b83455e7711639f4b16f
BLAKE2b-256 checksum
How to use checksums
2b83d3f8db474b397ca878b65afbfd5c83c717125343ac00f0149b503ac25598
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.9.25

Release files / ovos_transcription_validator_plugin-0.1.3a1-py3-none-any.whl

Download URL ovos_transcription_validator_plugin-0.1.3a1-py3-none-any.whl
Size 28.1 kB
Tags Python 3
SHA-256 checksum
How to use checksums
eaa0fc41dd3ea17df9cfcfd5fac4aa00d829e3d90506663eefdc8ba0e16ae1fb
BLAKE2b-256 checksum
How to use checksums
4b5f65a073f31b197966266437f8050ce9597b0113c82a3c229714b2e37e1bf7
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.9.25
Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page