# HiveMind solver
exposes a hivemind connection as a solver plugin
use cases:
- allow your apps to get responses from a remote HiveMind
- expose HiveMind to any OpenAI compatible UI, via [ovos-persona-server](https://github.com/OpenVoiceOS/ovos-persona-server)
- Integrate HiveMind/OVOS into a [MOS (Mixture Of Solvers)](https://github.com/TigreGotico/ovos-MoS)
## Install
`pip install ovos-solver-hivemind-plugin`
## Setup
You need to register the solver in the HiveMind server
```bash
$ 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)
```bash
$ 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
```bash
$ 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
```bash
$ 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
```python
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?"))
```
## Credits
![image](https://github.com/user-attachments/assets/809588a2-32a2-406c-98c0-f88bf7753cb4)
> This work was sponsored by VisioLab, part of [Royal Dutch Visio](https://visio.org/), is the test, education, and research center in the field of (innovative) assistive technology for blind and visually impaired people and professionals. We explore (new) technological developments such as Voice, VR and AI and make the knowledge and expertise we gain available to everyone.
Raw data
{
"_id": null,
"home_page": "https://github.com/JarbasHiveMind/ovos-solver-hivemind-plugin",
"name": "ovos-solver-hivemind-plugin",
"maintainer": null,
"docs_url": null,
"requires_python": null,
"maintainer_email": null,
"keywords": "OVOS openvoiceos plugin utterance fallback query",
"author": "jarbasai",
"author_email": "jarbasai@mailfence.com",
"download_url": null,
"platform": null,
"description": "# HiveMind solver\n\nexposes a hivemind connection as a solver plugin\n\nuse cases:\n- allow your apps to get responses from a remote HiveMind\n- expose HiveMind to any OpenAI compatible UI, via [ovos-persona-server](https://github.com/OpenVoiceOS/ovos-persona-server)\n- Integrate HiveMind/OVOS into a [MOS (Mixture Of Solvers)](https://github.com/TigreGotico/ovos-MoS)\n\n## Install\n\n`pip install ovos-solver-hivemind-plugin`\n\n## Setup\n\nYou need to register the solver in the HiveMind server\n```bash\n$ hivemind-core add-client\nCredentials added to database!\n\nNode ID: 2\nFriendly Name: HiveMind-Node-2\nAccess Key: 5a9e580a2773a262cbb23fe9759881ff\nPassword: 9b247ca66c7cd2b6388ad49ca504279d\nEncryption Key: 4185240103de0770\nWARNING: Encryption Key is deprecated, only use if your client does not support password\n```\n\nAnd then set the identity file in the satellite device (where the solver will run)\n```bash\n$ hivemind-client set-identity --key 5a9e580a2773a262cbb23fe9759881ff --password 9b247ca66c7cd2b6388ad49ca504279d --host 0.0.0.0 --port 5678 --siteid test\nidentity saved: /home/miro/.config/hivemind/_identity.json\n```\n\ncheck the created identity file if you like\n```bash\n$ cat ~/.config/hivemind/_identity.json\n{\n \"password\": \"9b247ca66c7cd2b6388ad49ca504279d\",\n \"access_key\": \"5a9e580a2773a262cbb23fe9759881ff\",\n \"site_id\": \"test\",\n \"default_port\": 5678,\n \"default_master\": \"ws://0.0.0.0\"\n}\n```\n\ntest that a connection is possible using the identity file\n```bash\n$ hivemind-client test-identity\n(...)\n2024-05-20 21:22:28.003 - OVOS - hivemind_bus_client.client:__init__:112 - INFO - Session ID: 34d75c93-4e65-4ea9-b5f4-87169dcfda01\n(...)\n== Identity successfully connected to HiveMind!\n```\n\n## Usage\n\nFor usage with any solver framework, such as persona, use `\"ovos-solver-hivemind-plugin\"` for the solver id\n\nStandalone usage\n\n```python\nfrom ovos_hivemind_solver import HiveMindSolver\n\nbot = HiveMindSolver()\nbot.connect() # connection info from identity file\nprint(bot.spoken_answer(\"what is the speed of light?\"))\n```\n\n## Credits\n\n![image](https://github.com/user-attachments/assets/809588a2-32a2-406c-98c0-f88bf7753cb4)\n\n> This work was sponsored by VisioLab, part of [Royal Dutch Visio](https://visio.org/), is the test, education, and research center in the field of (innovative) assistive technology for blind and visually impaired people and professionals. We explore (new) technological developments such as Voice, VR and AI and make the knowledge and expertise we gain available to everyone.\n\n\n",
"bugtrack_url": null,
"license": "MIT",
"summary": "A question solver plugin for OVOS",
"version": "0.0.0a9",
"project_urls": {
"Homepage": "https://github.com/JarbasHiveMind/ovos-solver-hivemind-plugin"
},
"split_keywords": [
"ovos",
"openvoiceos",
"plugin",
"utterance",
"fallback",
"query"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "c4cf7c503c285e1508f276c7fed895d3086b7924607f857102e87b2343d5c889",
"md5": "2b0e8bc3a4c71f28461a034f03c72cbf",
"sha256": "067ff899fa752a95dec6e7535d11d27320c1c89156b4f90171b36b97cdc56563"
},
"downloads": -1,
"filename": "ovos_solver_hivemind_plugin-0.0.0a9-py3-none-any.whl",
"has_sig": false,
"md5_digest": "2b0e8bc3a4c71f28461a034f03c72cbf",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": null,
"size": 4567,
"upload_time": "2024-11-13T19:53:38",
"upload_time_iso_8601": "2024-11-13T19:53:38.239525Z",
"url": "https://files.pythonhosted.org/packages/c4/cf/7c503c285e1508f276c7fed895d3086b7924607f857102e87b2343d5c889/ovos_solver_hivemind_plugin-0.0.0a9-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-11-13 19:53:38",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "JarbasHiveMind",
"github_project": "ovos-solver-hivemind-plugin",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"requirements": [
{
"name": "ovos-plugin-manager",
"specs": []
},
{
"name": "ovos-translate-server-plugin",
"specs": []
},
{
"name": "hivemind_bus_client",
"specs": [
[
">=",
"0.0.4a21"
]
]
}
],
"lcname": "ovos-solver-hivemind-plugin"
}