ovos-solver-hivemind-plugin

A question solver plugin for OVOS


Keywords
OVOS, openvoiceos, plugin, utterance, fallback, query
License
MIT
Install
pip install ovos-solver-hivemind-plugin==0.0.0a8

Documentation

HiveMind solver

exposes a hivemind connection as a solver plugin

use cases:

Install

pip install ovos-solver-hivemind-plugin

Setup

You need to register the solver in the HiveMind server

$ hivemind-core add-client
Credentials added to database!

Node ID: 2
Friendly Name: HiveMind-Node-2
Access Key: 5a9e580a2773a262cbb23fe9759881ff
Password: 9b247ca66c7cd2b6388ad49ca504279d
Encryption Key: 4185240103de0770
WARNING: Encryption Key is deprecated, only use if your client does not support password

And then set the identity file in the satellite device (where the solver will run)

$ hivemind-client set-identity --key 5a9e580a2773a262cbb23fe9759881ff --password 9b247ca66c7cd2b6388ad49ca504279d --host 0.0.0.0 --port 5678 --siteid test
identity saved: /home/miro/.config/hivemind/_identity.json

check the created identity file if you like

$ cat ~/.config/hivemind/_identity.json
{
    "password": "9b247ca66c7cd2b6388ad49ca504279d",
    "access_key": "5a9e580a2773a262cbb23fe9759881ff",
    "site_id": "test",
    "default_port": 5678,
    "default_master": "ws://0.0.0.0"
}

test that a connection is possible using the identity file

$ hivemind-client test-identity
(...)
2024-05-20 21:22:28.003 - OVOS - hivemind_bus_client.client:__init__:112 - INFO - Session ID: 34d75c93-4e65-4ea9-b5f4-87169dcfda01
(...)
== Identity successfully connected to HiveMind!

Usage

For usage with any solver framework, such as persona, use "ovos-solver-hivemind-plugin" for the solver id

Standalone usage

from ovos_hivemind_solver import HiveMindSolver

bot = HiveMindSolver()
bot.connect()  # connection info from identity file
print(bot.spoken_answer("what is the speed of light?"))