<commit_before># plug

A pluggable, personal assistant.

## Overview

The goal of this project is to create a framework for building AI assistants, using [Wit.ai](https://wit.ai).

The framework itself won't have any interface as such, but it will be easy to add one. Initially this project is being built with a [Slack](https://slack.com) bot acting as the front-end interface.

## Interaction Examples

There a few ideas of the types of interactions/questions/requests that the bot will be able to handle. Some ideas are shown below.

_Note: Some of these examples may be similar implementations, and a lot will be done in the application using this framework, but they are just to give an example of different possibilities._

### Simple Questions

These are simple, one line questions with simple responses. Examples:

```
User: What's the weather like in Tokyo?
Plug: It's a warm 22C right now, with plenty of sun!
```

```
User: Is it morning in London right now?
Plug: Yep, it's 10:31am over there.
```

### Simple Questions Requiring Follow-up

Again, these are relatively simple questions but occasionally the user will miss out a piece of information thats necessary. For example, if the bot isn't yet aware of where the user is:

```
User: Is it raining at the moment?
Plug: Where are you right now?
User: Paris.
Plug: Ah, OK. Yeah, it's raining in Paris. Gonna need an umbrella!
```<commit_msg>add general flow to README<commit_after># plug

A pluggable, personal assistant.

## Overview

The goal of this project is to create a framework for building AI assistants, using [Wit.ai](https://wit.ai).

The framework itself won't have any interface as such, but it will be easy to add one. Initially this project is being built with a [Slack](https://slack.com) bot acting as the front-end interface.

The general flow looks something like this:

```
Interface (Slack Bot) →              Plug             → Interface (Slack Bot)
                                      ↑↓ 
                        [Wit.Ai → Plug → User Plugins] 
```

## Interaction Examples

There a few ideas of the types of interactions/questions/requests that the bot will be able to handle. Some ideas are shown below.

_Note: Some of these examples may be similar implementations, and a lot will be done in the application using this framework, but they are just to give an example of different possibilities._

### Simple Questions

These are simple, one line questions with simple responses. Examples:

```
User: What's the weather like in Tokyo?
Plug: It's a warm 22C right now, with plenty of sun!
```

```
User: Is it morning in London right now?
Plug: Yep, it's 10:31am over there.
```

### Simple Questions Requiring Follow-up

Again, these are relatively simple questions but occasionally the user will miss out a piece of information thats necessary. For example, if the bot isn't yet aware of where the user is:

```
User: Is it raining at the moment?
Plug: Where are you right now?
User: Paris.
Plug: Ah, OK. Yeah, it's raining in Paris. Gonna need an umbrella!
```
{'fraction_non_alphanumeric': 0.07332242225859247, 'fraction_numerical': 0.003927986906710311, 'mean_word_length': 3.687116564417178, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 3, 'https://': 4, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 1, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '3965982', 'n_tokens_mistral': 856, 'n_tokens_neox': 791, 'n_words': 465}