This project is the genie's brain called Brian. Brian receives stimulus from the user and respond accordingly.
Brian has the following traits:
- Keeps a short conversational memory (doesn't store the whole conversation --should be stored somewhere else)
- Routes conversation to the relevant personality (powerup)
The brian is composed of following parts:
- Memory: conversations persistent memory.
- Powerups: personalities/specializations/skills.
- Chains: Sequences of interactions with models and system to perform a task.
- Pricing: Calculates cost of responding the stimulus.
- API endpoints: An API access to 3rd party integrators.
Brian is made on top of a Flask app so you'd run it like you'd run a Flask app:
- clone the repo.
- create a virtual environment
- install dependencies:
pip install -r requirements.txtorpoetry install
Now you can run the app in dev mode:
flask --debug --app genie runyou can remove --debug tag if you don't like to see debug information.
Normally the server runs on localhost:5000 You can access OpenAPI3 tools via
http://localhost:5000/openapi
Brian uses pytest to run its test suite. To run all tests run the following:
python -m pytest -v -s