From e8756b17a9935c5bf0ef7bdaa5d6a124eb1d1742 Mon Sep 17 00:00:00 2001 From: Sierra Guequierre Date: Wed, 27 Sep 2023 15:57:30 -0400 Subject: [PATCH] DOCS-1075: Add alternative option to openAI tutorial to configure `speech/speechio` module (#1885) --- .../ai-integration/add-speech-module.png | Bin 0 -> 118805 bytes .../projects/integrating-viam-with-openai.md | 112 ++++++++++++++++-- 2 files changed, 100 insertions(+), 12 deletions(-) create mode 100644 assets/tutorials/ai-integration/add-speech-module.png diff --git a/assets/tutorials/ai-integration/add-speech-module.png b/assets/tutorials/ai-integration/add-speech-module.png new file mode 100644 index 0000000000000000000000000000000000000000..d17b62b3e0a426050877ebca57e794b2e2d7efb5 GIT binary patch literal 118805 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 Qz>zqnqp7b!Mq3B}2gq?;)c^nh literal 0 HcmV?d00001 diff --git a/docs/tutorials/projects/integrating-viam-with-openai.md b/docs/tutorials/projects/integrating-viam-with-openai.md index 431a26f379..9621ea409c 100644 --- a/docs/tutorials/projects/integrating-viam-with-openai.md +++ b/docs/tutorials/projects/integrating-viam-with-openai.md @@ -24,7 +24,7 @@ aliases: /tutorials/integrating-viam-with-openai/ imageAlt: "An AI powered companion robot called Rosey." authors: ["Matt Vella"] languages: ["python"] -viamresources: ["custom", "servo", "board", "ml model", "vision"] +viamresources: ["custom", "servo", "board", "ml model", "vision", "speech"] level: "Intermediate" date: "2023-02-15" # updated: "" @@ -129,17 +129,18 @@ The [git repository](https://github.com/viam-labs/tutorial-openai-integration) f It also contains an open source machine learning [detector model](https://github.com/viam-labs/tutorial-openai-integration/tree/main/detector). -Power on and choose a location on your Raspberry Pi, and clone the tutorial code repository. -If you have git installed on your Pi, run the following command in the preferred directory from your terminal: +Power your Raspberry Pi on, choose a location on your Pi, and clone the tutorial code repository. + +If you don't have git installed on your Pi, you will need to first run: ```sh {class="command-line" data-prompt="$"} -git clone https://github.com/viam-labs/tutorial-openai-integration +sudo apt install git ``` -If you don't have git installed on your Pi, you will need to first run: +If you have git installed on your Pi, run the following command in the preferred directory from your terminal: ```sh {class="command-line" data-prompt="$"} -sudo apt install git +git clone https://github.com/viam-labs/tutorial-openai-integration ``` Now that you have cloned the repository, you will need to install dependencies. @@ -173,7 +174,7 @@ To acquire OpenAI credentials, [sign up for OpenAI](https://openai.com/api/) and Once you have both of the credentials, create a file called `run.sh`, add the following, and update the credentials within: -```bash +```sh {class="command-line" data-prompt="$"} #!/usr/bin/sh export OPENAPI_KEY=abc export OPENAPI_ORG=xyz @@ -190,7 +191,7 @@ chmod +x run.sh ## Configuration -Now that we've set up the rover by attaching the servo and making the tutorial software available on the Pi, we can configure the rover to: +Now, configure your rover to: - Recognize and operate the servo - Make the ML detector model available for use by the Viam vision service @@ -209,7 +210,7 @@ Click **Create**. {{}} -Now, in the panel for _servo1_, add the following configuration in attributes to tell `viam-server` that the servo is attached to GPIO pin 8, then press the **Save Config** button. +Now, in the panel for `servo1`, add the following configuration in attributes to tell `viam-server` that the servo is attached to GPIO pin 8, then press the **Save Config** button. ```json { @@ -243,13 +244,13 @@ Make sure `Path to Existing Model on Robot` is selected. Update the **Model Path** and **Label Path** to match where you [copied the tutorial software](#5-set-up-tutorial-software). For example, the model path would would be similar to: -```bash +```sh {class="command-line" data-prompt="$"} /home//tutorial-openai-integration/detector/effdet0.tflite ``` and the label path similar to: -```bash +```sh {class="command-line" data-prompt="$"} /home//tutorial-openai-integration/detector/labels.txt ``` @@ -266,7 +267,7 @@ Click **Save config** to finish adding the detector. With the rover and tutorial code set up and it is time to bring your companion robot to life! Let's call her "Rosey", and bring her to life by running: -```bash +```sh {class="command-line" data-prompt="$"} ./run.sh ``` @@ -312,6 +313,93 @@ For example: This opens up some really interesting possibilities, like having your robot talk to you in a voice that sounds like your favorite celebrity, or having your robot tell your cat to "Get off of the table!" in an AI version of your own voice. +## Alternative Option: Configure Viam Labs speech module + +As an alternate option for adding an AI speech integration to your robot, [the Viam Registry](https://app.viam.com/registry) provides [the `speech` module](https://app.viam.com/module/viam-labs/speech), a modular [service](/services/) providing text-to-speech (TTS) and speech-to-text (STT) capabilities for robots running on the Viam platform. +Usage is documented on [Viam Labs' GitHub](https://github.com/viam-labs/speech). + +### Configuration + +Navigate to the **Config** page of your rover robot in [the Viam app](https://app.viam.com). + +{{< tabs name="Configure the speech module" >}} +{{% tab name="Config Builder" %}} + +Click on the **Services** subtab and click the **Create service** button. +Search `speech`. +Select the `speech/speechio` option: + +![Add the speech module in the Viam config builder UI for services.](/tutorials/ai-integration/add-speech-module.png) + +Give your new speech module a name of your choice. +Copy and paste the following JSON into the attributes box: + +```json {class="line-numbers linkable-line-numbers"} +{ + "completion_provider_org": "org-abc123", + "completion_provider_key": "sk-mykey", + "completion_persona": "Gollum", + "listen": true, + "speech_provider": "elevenlabs", + "speech_provider_key": "keygoeshere", + "speech_voice": "Antoni", + "mic_device_name": "myMic" +} +``` + +Save the config. + +{{% /tab %}} +{{% tab name="JSON Template" %}} + +Select **Raw JSON** mode. +Copy and paste the following into your `modules` array to add [`speech`](https://app.viam.com/module/viam-labs/speech) from [the Viam app's Modular Registry](https://app.viam.com/registry): + +```json {class="line-numbers linkable-line-numbers"} +{ + "type": "registry", + "name": "viam-labs_speech", + "module_id": "viam-labs:speech", + "version": "latest" +} +``` + +Then, copy and paste the following into your `services` array to add [elevenlabs.io](https://elevenlabs.io/) as your `speechio` modular service provider: + +```json {class="line-numbers linkable-line-numbers"} +{ + "namespace": "viam-labs", + "model": "viam-labs:speech:speechio", + "attributes": { + "completion_provider_org": "org-abc123", + "completion_provider_key": "sk-mykey", + "completion_persona": "Gollum", + "listen": true, + "speech_provider": "elevenlabs", + "speech_provider_key": "keygoeshere", + "speech_voice": "Antoni", + "mic_device_name": "myMic" + }, + "name": "speechio", + "type": "speech" +} +``` + +Save the config. + +{{% /tab %}} +{{< /tabs >}} + +Use the above configuration to set up listening mode, use an ElevenLabs voice `"Antoni"`, make AI completions available, and use a 'Gollum' persona for AI completion from OpenAI. + +Edit the attributes as applicable: + +- Edit `"completion_provider_org"` and `"completion_provider_key"` to match your AI API organization and API credentials, for example your [OpenAI organization header and API key credentials](https://platform.openai.com/account/api-keys). +- Edit `"speech_provider_key"` to match [your API key from elevenlabs](https://docs.elevenlabs.io/api-reference/quick-start/authentication) or another speech provider. +- Edit `"mic_device_name"` to match the name your microphone is assigned on your robot's computer. + Available microphone device names will logged on module startup. + If left blank, the module will attempt to auto-detect the microphone. + ## Next steps What you've seen in this tutorial is a very basic integration between a Viam-powered robot and OpenAI.