This release is a pre-release and may not be stable for production use.
OVOS Common Query Framework
The OVOS Common Query Framework is designed to answer questions by gathering answers from several skills and selecting the best one
⚠️ Common Query will only be as fast as your slowest CommonQuerySkill, latency will vary depending on which skills you install
Features
-
Utterance Query Type Detection: 🧐:
If the user utterance does not resemble a question (e.g., no "who", "what", "when" keywords), the system will avoid attempting to answer. -
Skill Availability Check 🔧:
If no common query skills are installed, the system will refrain from attempting to respond, ensuring queries are issued only when appropriate skills are available. -
Improved Answer Selection 🤖:
A reranker plugin can be integrated to evaluate multiple skill responses and select the most relevant one, ensuring higher-quality answers. -
Bad Answer Discarding 🚮:
By integrating a reranker with a minimum score threshold (min_score), poor or irrelevant answers are discarded, improving the overall accuracy of responses. -
Timeout for Late Answers ⏱️:
The system will stop waiting for answers after 2 seconds. Any response received after this time will be ignored, ensuring an upper time limit for query handling.
Install
This plugin usually ships with ovos-core by default and should not need to be explicitly installed
pip install ovos-common-query-pipeline-plugin
Configuration
Reranker (Optional)
Rerankers, also referred to as MultipleChoiceSolvers, are optional and need to be explicitly installed. These are used to rank and select the most relevant response from multiple common query skills (e.g., Wolfram Alpha, Wikipedia).
Below is an example configuration to set up a reranker:
"intents": {
"common_query": {
"min_self_confidence": 0.5,
"min_reranker_score": 0.5,
"reranker": "ovos-flashrank-reranker-plugin",
"ovos-flashrank-reranker-plugin": {
"model": "ms-marco-TinyBERT-L-2-v2"
}
}
}
Notes:
- Reranker Plugin: A reranker plugin is optional. You need to install it explicitly for the framework to use it.
- Model Choice: The example uses the
ovos-flashrank-reranker-pluginwithms-marco-TinyBERT-L-2-v2model, but other plugins/models can be specified depending on your use case and performance requirements. - Performance Consideration: Enabling reranking, particularly on devices with limited resources (e.g., Raspberry Pi), may introduce additional latency.
Performance Impact
Be mindful of the performance tradeoffs when enabling rerankers:
- On resource-constrained devices, such as the Raspberry Pi, reranking models may add extra latency.
- Adjust the settings to match the device’s capabilities and the expected response time.
Metadata
Release files for ovos-common-query-pipeline-plugin 1.1.15a2
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| ovos_common_query_pipeline_plugin-1.1.15a2.tar.gz | 16.0 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| ovos_common_query_pipeline_plugin-1.1.15a2-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 40.0 kB
Release files / ovos_common_query_pipeline_plugin-1.1.15a2.tar.gz
| Download URL | ovos_common_query_pipeline_plugin-1.1.15a2.tar.gz |
|---|---|
| Size | 16.0 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
86ffd41e66d1553223cf6ae03937708caa6d071cc1f342f062278aaa9aa00864
|
|
BLAKE2b-256 checksum How to use checksums |
bd0dc3b27a5439e5306aaef7fe64080c6d8e6d2c1ba86dba05cbe7429c0f3ace
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Release files / ovos_common_query_pipeline_plugin-1.1.15a2-py3-none-any.whl
| Download URL | ovos_common_query_pipeline_plugin-1.1.15a2-py3-none-any.whl |
|---|---|
| Size | 24.0 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
317112e4bbff9e6a0d6c215fdfddb803c077d8e27c65efe906485e4ff3ff2579
|
|
BLAKE2b-256 checksum How to use checksums |
65e0870214b4c7979cc688bbee9cf6c7a6cc84aebb5637d9c88d0a5da333459f
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|