Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/livekit-examples/kitt
Talk to ChatGPT in real time using LiveKit
https://github.com/livekit-examples/kitt
ai assistant chatgpt gpt openai stt transcription translation tts voice webrtc
Last synced: about 1 month ago
JSON representation
Talk to ChatGPT in real time using LiveKit
- Host: GitHub
- URL: https://github.com/livekit-examples/kitt
- Owner: livekit-examples
- License: apache-2.0
- Archived: true
- Created: 2023-03-26T20:52:42.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2024-01-27T01:23:32.000Z (8 months ago)
- Last Synced: 2024-06-10T20:13:43.975Z (3 months ago)
- Topics: ai, assistant, chatgpt, gpt, openai, stt, transcription, translation, tts, voice, webrtc
- Language: Go
- Homepage: https://kitt.livekit.io/
- Size: 538 KB
- Stars: 209
- Watchers: 10
- Forks: 57
- Open Issues: 11
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
- awesome-ChatGPT-repositories - kitt - Talk to ChatGPT in real time using LiveKit (Chatbots)
README
# KITT V2 is here!
We launched a [new version of KITT](https://kitt.livekit.io/) built with [Agents Framework](https://github.com/livekit/agents/). This repo is now archived.
---
# KITT
KITT is a ChatGPT-powered AI that lives in a WebRTC conference call.
## Online Demo
You can try an online demo right now at
## How it works
This repo contains two services:
1. meet
2. lkgpt-serviceThe `meet` service is a NextJS app that implements a typical video call app. The `lkgpt-service` implements KITT. When a room is created, a webhook calls a handler in `lkgpt-service` which adds a participant to the room. The particpant uses GCP's speech-to-text, ChatGPT, and GCP's text-to-speech to create KITT.
The following diagram illustrates this:
![kitt-demo-architecture](https://user-images.githubusercontent.com/8453967/231060467-a2984951-71d9-45f4-ad5d-9eb35be229de.svg)
## Getting started
### Prerequisites
- `GOOGLE_APPLICATION_CREDENTIALS` json body from a Google cloud account. See
- OpenAI api key
- LiveKit api_key, api_secret, and url from [LiveKit Cloud](https://cloud.livekit.io)
- Go 1.19+ and Node.js### Running Locally
To run locally, you'll need to run the two services in this repo: `meet` and `lkgt-service`.
#### Running Meet
In the `meet/` directory, copy `.env.example` to `.env.local` and fill in your LiveKit connection details. Then run:
```bash
yarn install && yarn dev
```#### Running lkgpt-service
In the `lkgpt-service/` directory, copy `config-sample.yaml` to `config.yaml` and fill in your LiveKit connection details and OpenAI API key. Then run:
```bash
go run /cmd/server/main.go --config config.yaml --gcp-credentials-path gcp-credentials.json
```Once both services are running you can navigate to . There's one more step needed when running locally. When deployed, KITT is spawned via a LiveKit webhook, but locally - the webhook will have no way of reaching your local `lkgpt-service` that's running. So you'll have to manually call an API to spawn KITT, using `room_name` from the url slug when you enter a room in the Meet UI.
```bash
curl -XPOST http://localhost:3001/join/
```