GithubHelp home page GithubHelp logo

kitt's Introduction

KITT

KITT is a ChatGPT-powered AI that lives in a WebRTC conference call.

Preview gif

Online Demo

You can try an online demo right now at https://livekit.io/kitt

How it works

This repo contains two services:

  1. meet
  2. lkgpt-service

The 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

Getting started

Prerequisites

Running Locally

To run locally, you'll need to run the two services in this repo: meet and lkgt-service.

Running Meet Locally:

In the meet/ directory, copy .env.example to .env.local and fill in your LiveKit connection details. Then run:

# From the meet/ directory
yarn dev

Running lkgpt-service Locally:

# From the lkgpt-service/ directory
go run /cmd/server/main.go --config config.yaml --gcp-credentials-path gcp-credentials.json`

Once both services are running you can navigate to http://localhost:3000. 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:

# <room_name> comes from the url slug when you enter a room in the UI
curl -XPOST http://localhost:3001/join/<room_name>

kitt's People

Contributors

davidzhao avatar dsa avatar keepingitneil avatar mattherzog avatar theomonnom avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.