Getting started with Genesis Bots

IMPORTANT: If you’re looking to get started on Windows, please refer to the Windows Installation Section

The following steps are for Linux and macOS and will guide you through the process of setting up the genesis-bots server, UI Applicaiton (Streamlit), and API examples locally on your machine. It will then guide you through the first steps of interacting with the bots and understanding the API examples.

Note: Python Version

Genesis requires Python 3.10 and above. Use this command to check your version.

python3 --version

If needed, force the python version in your virtual env to supported version 3.10+ (depending on your python installation manager). In the step below, we will assume the command python3 points to a version 3.12.x.

1

Install the genesis_bots package

Make a new folder and venv

Note: in the steps below we are creating a working directory named genesis. This directory will be used for setting up the sample data, managing server state, installing sample scripts and for managing your virtual env.

mkdir genesis
cd genesis
python3 -m venv .venv_gbots
source .venv_gbots/bin/activate

Install Genesis Bots

pip install genesis-bots    

Check your installation

You should now be able to invoke the Gensis CLI command genesis:

genesis --help

The output should look like this:

Usage: genesis [OPTIONS] COMMAND [ARGS]...

  CLI for managing genesis_bots services.

Options:
  --help  Show this message and exit.

Commands:
  cleanup  Cleanup the setup example files and sample data in the working...
  setup    Setup example files and sample data in a working directory.
  start    Start the genesis_bots services locally (as a blocking process).
2

Setup your working directory

Run the following command to copy sample data and sample scripts to your working diretory. This is required before the first time you run the Genesis Server in your working directory.

genesis setup

This command will create a genesis_sample directory in your working directory.

$ ls -1 genesis_sample
database_demos
demo_data
demos

Under this directory you will find the following:

  • database_demos - contains examples and instructions on how to connect your Genesis server to various databases that are supported by Genesis (other than Snowflake, which we cover seperately).

  • demo_data - contains local database defintions (e.g. Baseball data, Formula1 data) and other sample datasets that are used for demonstrating the data tools used by the Genesis Bots on your local machine.

  • demos - contains python example scripts that demonstrate how to use the Genesis API (the genesis_bots.api python package) to build AI data applications using the Genesis system.

3

Start Genesis Server

Run Genesis Bots

Before you start Genesis, make sure that port 8501 and 8080 are not being used by another process.

In a dedicated terminal window, run the Genesis Server using the following command:

genesis start

This will start both the core Genesis server process and metadata harvester process, and launch the Streamlit user interface in a browser window.

In the Genesis Streamlit browser window, add your OpenAI API key to the application and click Submit Model Selection.

Refresh the browser window and you’re ready to chat with Eve!

4

Chat With Genesis Bots via Streamlit

In the Streamlit browser window, chat with Eve by asking

What can you do?

Eve will then list her capabilities. Remember, Eve may respond with slight differences each time, so the image below may not be exactly what you see in your application.

5

Search Baseball Data

Now ask Eve if she can search for data about Baseball in the database.

Copy the prompt below as an example.

Search for data about basebell and show me what's available

6

Ask Eve a Question About Baseball

Now that Eve has been able to verify there is data about baseball, ask her a question.

Copying the prompt below as an example.

What is the W/L ratio of the Seattle Mariners since 1995?

Next, we’ll be going over connecting Genesis to your data securely.

Start by selecting your data source below