• Stars
    star
    122
  • Rank 292,031 (Top 6 %)
  • Language
    TeX
  • Created over 7 years ago
  • Updated almost 7 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

A extensible conversational agent for data science tasks

Iris: A Conversational Agent for Data Science

interface

Read more about the system in this article.

Command DSL

You can add commands to Iris using an in-editor GUI or work directly with the Python DSL. For example:

from iris import state_types as t
from iris import IrisCommand

class GenerateArray(IrisCommand):
    # what iris will call the command + how it will appear in a hint
    title = "generate a random array of {n} numbers"
    
    # give an example for iris to recognize the command
    examples = ["generate numpy array of size {n}"]
    
    # type annotations for each command argument, to help Iris collect missing values from a user
    argument_types = {"n":t.Int("Please enter size of array:")}
    
    # core logic of the command
    def command(self, n):
        import numpy
        return numpy.random.randint(100, size=n)
        
    # wrap the output of a command to display to user
    # by default this will be an identity function
    # each element of the list defines a separate chat bubble
    def explanation(self, result):
        return ["Here are the numbers", result]

Installation guide

Warning! The current version of Iris is an alpha release. We are still adding many new commands to the system and fixing bugs. A production-ready beta release will be out later this summer. Use at your own risk!

These are instructions to install and run Iris in debugging mode. A self-contained Electron app for OSX will be released later this summer.

You will first need to install anaconda. (Make sure to run source ~/.bash_profile after you have installed Anaconda, if it is not appearing in your path.)

Install and run the Python components:

cd iris-agent/backend
# create new conda env called iris with necessary packages
conda create --name iris --file packages.txt
# enter the conda env
source activate iris
# install the remaining pip packages
pip install -r requirements.txt
cd app/
# run the backend application
python app.py

Install and run the Javascript components. If you do not already have webpack, run npm install webpack -g:

cd iris-agent
npm install
# build JS app with webpack (can also run webpack --watch in seperate command window)
webpack
# start electron (this will open the application automatically)
npm start

Both the backend and frontend must be running for Iris to work!

Tests

To verify the backend is working:

cd iris-agent/backend/test
python test.py

More Repositories

1

empath-client

analyze text with empath
Python
314
star
2

TypedJS

Lightweight program specifications for testing JavaScript
JavaScript
223
star
3

Gajure

A framework for implementing genetic algorithms in Clojure.
Clojure
63
star
4

ProofFrontend

JavaScript
12
star
5

Proof-Search

Haskell
11
star
6

empath-outofdate

HTML
10
star
7

Clogger

A basic blog framework designed around Compojure
Clojure
8
star
8

mobile-for-compojure

Middleware for handling mobile devices in compojure applications
Clojure
7
star
9

codex

Collecting and aggregating information about Ruby ASTs
Ruby
5
star
10

Atom-Feed-for-Clojure-and-Compojure

A simple template for creating atom feeds with Clojure and Compojure
Clojure
4
star
11

meta

a community-aware domain specific language for Python
Python
4
star
12

code_extraction

Python
4
star
13

cs1120

An example Django app for UVa's CS1120
Python
3
star
14

augur-nlp-mining

Python
3
star
15

wordy

analyze text patterns in webpages
Clojure
3
star
16

ejhfast.github.com

Blog
HTML
3
star
17

CS376

Arduino interface code
JavaScript
3
star
18

5k

Ruby
2
star
19

UXMockups

Ruby
2
star
20

faml

Finite Automata for Ocaml
OCaml
2
star
21

OurApp

An application
JavaScript
2
star
22

BarefootCS

Ruby
2
star
23

HackLikeMe

Connecting developers and designers
Ruby
2
star
24

integratedCS

Objective-C
2
star
25

CustomerManagmentApp

TBD
Ruby
2
star
26

iphoneCS

iphone project for sherriff's class
Objective-C
2
star
27

acl2-backend

Backend proof checker for education project
Common Lisp
2
star
28

fa-ruby

Build Finite Automata in Ruby
Ruby
1
star
29

MotivateCSS

Design for motivation site
Ruby
1
star
30

oldblog

placeholder for old blog
Ruby
1
star
31

NLP-Challenge

Solution to Joseph Turian's NLP problem
Ruby
1
star
32

fiction-bias

HTML
1
star
33

fahs

Learning Haskell with Finite Automata
Haskell
1
star
34

node-proof-server

Nodejs wrapper for acl2 proof checker
Common Lisp
1
star
35

virtual_assistant

natural language assistant for OSX
Python
1
star
36

maria-web

web interface for deep learning peptide presentation
JavaScript
1
star
37

Clustering-in-Haskell

A simple clustering implementation
Haskell
1
star
38

Fortune

A toy Sinatra app that generates unix fortunes
Ruby
1
star
39

Jokes

Agent Based Joke Simulation
Java
1
star
40

Bite

Minimalist Web Framework for Clojure
Clojure
1
star
41

Markov

Markov text creation
Ruby
1
star
42

elrond-rust

Key creation and transaction signing for the Elrond network in pure Rust
Rust
1
star
43

Narcissist

Track a user's twitter-based narcissism quotient
Ruby
1
star