/ai-dialogue-bots

Demonstration of a conversation between AI powered Go and Rust bots using various technologies like LLM, TTS, and NATS Jetstream.

Primary LanguageRustApache License 2.0Apache-2.0

ai-dialogue-bots

This is a Proof of Concept (PoC) demonstrating how two bots can engage in an autonomous conversational "banter" using technologies such as Large Language Model (LLM) and Text To Speech (TTS). It exploits NATS Jetstream for message routing, ollama as the LLM of choice and PlayHT API available at play.ht for TTS speech synthesis.

Build Status go.dev referenceLicense: Apache-2.0

This project was built solely for educational purposes and, hence, may be ridden with bugs, inefficiencies, etc. You should consider this project as highly experimental and use it at your own risk.

A sample conversation between the bots can be viewed here:

Bot Banter

Detailed explanation of the bot conversation flow and the project's architecture, along with the tasks, Goroutines, and Channels involved have been elaborated in the subsequent sections of this file. Step by step instructions to meet the prerequisites and run the project have also been provided for your convenience.

Please note that you will be required to install nats, ollama, and create an account on play.ht along with some platform specific sound/audio libraries (instructions provided for Ubuntu Linux).

Once everything is set up, you can run the bots using the provided instructions. Do ensure that gobot is prompted first, as it kickstarts the conversation and rusbot will wait for gobot before it responds.