Skip to main content

Installation

BLAZE is currently supported on Linux, Windows, and Mac. Specific instrucutions shown below:

1. Environment Setup (Python, Pip)​

At the very start, please clone this repostiory using

git clone https://github.com/cisco-open/Blaze.git

Next, we must install the necessary packages for BLAZE. For this, we have two options:

Option 1 - Pyenv: Local Development​

Install Dependencies

  • For Ubuntu/Debian
sudo apt-get install -y make build-essential libssl-dev zlib1g-dev libbz2-dev libreadline-dev libsqlite3-dev wget curl llvm libncurses5-dev libncursesw5-dev xz-utils tk-dev libffi-dev liblzma-dev python-openssl
  • For Fedora/CentOS
sudo yum install gcc zlib-devel bzip2 bzip2-devel readline-devel sqlite sqlite-devel openssl-devel xz xz-devel libffi-devel

Install Pyenv

curl https://pyenv.run | bash

Install Python version 3.9.16

pyenv install -v 3.9.16

You can check the installed Python version by using command pyenv versions

Create virtual environment with specific version using below command

pyenv virtualenv 3.9.16 venv

Activate virtual environment using

pyenv local venv

or by running the following

pyenv activate <environment_name>

You can verify this by running pyenv which python

Finally, install packages and modules using

pip install -r requirements.txt

Option 2 - Install using conda: Local development​

NOTE: The use of Conda may require the use of Anaconda Commercial Edition to comply with Anaconda's Terms of Service if your use is considered commercial according to Anaconda. More information about Anaconda's Terms of Service and what qualifies as commercial usage can be found here: https://www.anaconda.com/blog/anaconda-commercial-edition-faq/

Once you have cloned the BLAZE repository, cd into it

cd Blaze 

Create your conda environment with

conda env create -f blaze_env.yml

Then, activate your conda environment with

conda activate blaze

2. (Build) Drag-and-Drop YAML Builder​

Run the Drag-and-Drop YAML Builder with:

python build.py

Now, a link should appear (ex. Dash is running on http://127.0.0.1:5000/). Follow this link in your browser to open the builder!

Make sure to check-out the instructions found in BLAZE Drag-and-Drop - README for using the YAML Builder.

Additionally, depending on the model chosen, make sure to check out model-specific instructions found in BLAZE Models - README!

3. (Execute) Running a Pipeline​

Once you have your YAML file (either generated or pre-existing), note its relative path.

Run the following command to launch the pipeline specified in the YAML file:

python run.py <path-to-your-yaml-file> 

For example, one could run python run.py yaml/01_search_custom.yaml

Now, a link should appear (ex. Dash is running on http://127.0.0.1:5000/). Follow this this link in your browser to open the dashboard!

4. (Interact) Checking POSTMAN/Swagger​

To verify that the server hosting the pipeline is running correctly, one can do so using POSTMAN.

Run in Postman

Additionally, one can use Swagger by simply appending /apidocs/ upon launching the backend. For example, if the backend server is running on https://localhost:3000, then we can simply navigate to https://localhost:3000/apidocs/ in any browser to view the REST server via Swagger.

SwaggerExample

5. (Interact) Launching WebApps​

Option 1 - React WebApp​

To interact with one's pipeline using our React WebApp, we need to first install Node.

To install node in Windows/Mac/Linux, we can do so with:

  • Visit the NodeJS Homepage and install nodejs and npm
  • We can check installation with node -v and npm -v

Next, we will move into the client directory by using

cd client

Then, we install node_modules by using command

npm install

Finally, we can run the frontend with

npm start

Option 2 - Dash Dashboard​

To run the frontend built with Python's dash, we can simply run

python run_fr.py <path-to-yaml-file>

6. (Interact) WebEx Integrations​

Coming soon!

7. (Interact) Conversational AI​

Coming Soon! Detailed instructions are currently being written, and will later be found at: BLAZE Conversational AI - README

Please raise an issue or reach out to our mailing list (blaze-github-owners@cisco.com) with any questions!