Giter Site home page Giter Site logo

thomasdavis / digitalbeing Goto Github PK

View Code? Open in Web Editor NEW

This project forked from etherealengine/digital-beings

1.0 2.0 0.0 44.14 MB

A platform for letting researchers connect an intelligent AI directly to real time communication networks and 3D worlds. Your AI, Anywhere.

License: MIT License

Python 65.03% Shell 0.12% TypeScript 33.54% Dockerfile 1.30%

digitalbeing's Introduction

Digital Being

A platform for letting researchers connect an intelligent AI directly to realtime communication networks and 3D worlds.

In partnership with SuperReality, a free open source teaching platform for everyone.

2D/3D Interactive Endpoint API

Interactive Endpoint Connector tools for Browsers, JS, TypeScript

Supported Endpoints

Digital Being Agent API

Python GRPC Agent API Bridge

Connector tools for Python 3, Machine Learing tools such as TensorFlow, PyTorch, etc.

Interaction API goals: Listen, Speak, Interact, Move, Emote

Supported Agents

Deep Learning

  • DialoGPT

    • dialogpt.small
    • dialogpt.medium
    • dialogpt.large
  • GPTneo

    • gptneo.small
    • gptneo.large
    • gptneo.xlarge

In Development

How It Works

Under the hood you'll find an instance of Chrome (using Puppeteer) which can be run in headless or GUI mode. The bot uses control surfaces from the user API to interact, and also has some extra access to world state.

Requirements

DigitalBeing requires the following to run:

Setup

  1. Install python dependencies in requirements.txt pip install -r requirements.txt
  2. Download and link spacy model for rasa. Spacy is used for pre-processing of the utterances, tokenization, and featurization.
        python3 -m spacy download en_core_web_md
        python3 -m spacy link en_core_web_md en
    
  3. Install node.js dependencies npm install
  4. Create a local .env file with configuration variable for example. DISCORD_API_TOKEN=<Your Discord Bot API Token> This will create a discord bot client which will listen for incomming messages when the bot gets mentioned in your server chat.
  5. Use the parameters file for the agent inside server/agent_params.py here you can select which agents to launch along with some other flags. you only need to edit the following parameter to launch the specific agents. Right now not all agents are working but the following list of agents have been tested and are working.
     SELECTED_AGENTS = [
                         'dialogpt.small',
                         'dialogpt.medium',
                         'dialogpt.large',
                         'gptneo.small',    
                         'gptneo.large',    
                         'gptneo.xlarge'    
                       ]
    
  6. Run the host bot framework npm run start-gui

Getting Started

  1. Run the bot with npm start -- by default it will connect to a test room on our dev server and open a port on gRPC
  2. Run example.py to connect the default hello world implementation
  3. Copy and paste the code from example.py into your project and hook your models into it.

WSL

  1. If you use WSL in Windows, you might get an error about Chromium, file or directory not found.
  2. To fix this install Chromium by using
  3. wget https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb
  4. sudo apt -y install ./google-chrome-stable_current_amd64.deb

Docker

You can run it using docker, if you don't have node installed or need to test.

# Build the image
docker build digital_being .

# Run the image
docker run -d digital_being

digitalbeing's People

Contributors

taimoorkhokhar avatar renovate-bot avatar lalalune avatar mrhegemon avatar renovate[bot] avatar alextitonis avatar ogeagla avatar hexafield avatar sifanduronto avatar

Stargazers

OftenGuy avatar

Watchers

James Cloos avatar  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.