Hands-up who’s a fan of Severance?

I am, and I’ll try to write this without spoilers.

The show reminds me of corporate life and how you can have spurts of fun in between.
It’s a mix of comedy and mystery - but not as cringe as “The Office” it’s subtle but there are funny parts between all the serious parts.

So what’s this got to do with a voice 2 voice bot?

I wanted to quickly run an experiment for fun, a Proof of Concept to see how quickly you can get started with using the new Amazon Bedrock FM, Amazon Nova Sonic.

What’s unique about Amazon Nova Sonic? It takes your voice as Base64 and uses it to output voice.

Think of it as a game changer for contact center and chat bot applications as well as generating your personalised assistant.

Why is Amazon Nova Sonic so exciting?

For those that have been building on AWS for a long time, in order to build any interactive voice bot, you might have used services like Amazon Lex to build out chatbot responses. I remember at least back in the day, you had to predict how the conversation might go with “intents” and “slots”.

Then you had to use Amazon Polly which is a text-to-voice service to convert the resulting text to voice. Think of Amazon Polly like the voice that powers Amazon Echo devices (Alexa! Play a funny joke).

For memories sake, here’s my experiment that I did a few years back with Amazon Sumerian which was deprecated but awesome service which helped you create Avatars and interactive bots.

The intent of this video was to help mentor the new interns at AWS.

So I started looking at other blogs, notably this one here.
I started off trying to build the front-end with a bit of genAI-ception with Amazon Q Developer CLI.
Amazon Q Developer CLI helps with not only code-generation but actually deploying the AWS services required to build the backend and frontend.

But it all got a bit complex as I wanted the backend code to be Python.

At the moment, the Nova SDK is experimental with Python - there wasn’t much data that Q CLI could use as a baseline despite referring it to the GitHub page.

So the quickest way to getting this up and running was running the Amazon Nova Sonic workshop that AWSome Amazonians have written.

It involved a bit of troubleshooting in terms of setting the Python version to version 3.12 and running the requirements.txt and making sure that the Python server.py was running first before running npm start.

In addition, you need to configure the Amazon Bedrock Knowledge Base and generate a KB ID. The Knowledge Base uses Amazon OpenSearch in the background as a vector database that will help provide specific internal knowledge that the LLM can use.

In this case, I used Amazon Nova Lite for retrieving the content from the Knowledge Base.

I originally wanted the Nova Sonic to talk about my top 10 Karaoke songs, and although it worked while testing this on Amazon Bedrock Knowledge Bases, it didn’t seem to like that question and referred to general karaoke top 10 songs not on the KB when I asked Matthew who is the voice of Nova Sonic.

Instead I ingested the Severence Wiki page about Lumon Industries.
Notice that when asking, it talked about Lumen Industries and lighting - it could be my pronunciation, but I wished there was a feature to block referring to outside knowledge and only the KB. I may need to look into that with KB settings or Bedrock Guardrails.

Here’s the link to the Amazon Nova Sonic Voice 2 Voice workshop.

There is a GitHub repo and the readme that I referred to when self-running the workshop.

Going back to Severance, I can imagine all of the characters being peculiar, working at a tech company like AWS.

Mark is definitely an Account Manager, he’s reasonable and operates great with customers.

Helly is definitely in a C-level role, maybe a CIO - she has a presence that fills the room.

Irv is the Solutions Architect - he’s great at analysing things and articulating it in front of people.

Dylan is the Developer - of-course he’s bothered by Mr Milchick breaking his flow.

And what about Mr Milchick?
Probably a Solutions Architect Manager who likes to let loose every now and then.

Image description

Who’s your favorite Severance character and what would you build with Amazon Nova Sonic?

Put it in the comments below!