Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/onepointconsulting/data-questionnaire-agent
Data Questionnaire Agent Chatbot
https://github.com/onepointconsulting/data-questionnaire-agent
Last synced: 3 days ago
JSON representation
Data Questionnaire Agent Chatbot
- Host: GitHub
- URL: https://github.com/onepointconsulting/data-questionnaire-agent
- Owner: onepointconsulting
- Created: 2023-09-22T16:05:32.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2024-05-21T19:49:47.000Z (8 months ago)
- Last Synced: 2024-05-22T17:18:04.891Z (8 months ago)
- Language: Python
- Size: 19.1 MB
- Stars: 57
- Watchers: 2
- Forks: 16
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
- awesome_ai_agents - Data Questionnaire Agent - A chatbot designed to query users on data integration practices, offering advice based on responses, utilizing a modified Chainlit library for operation [github](https://github.com/onepointconsulting/data-questionnaire-agent) (Learning / Repositories)
README
# Data Wellness Q&A Chatbot
This is a reverse chatbot that asks the users questions about data integration practices and then gives advice based on a body of knowledge.
This version operates a bit like an agent which tries to gather enough information to be able to give advice. So it may ask an unspecified number of questions.## Cloning the project
You should clone the project and then initialize the UI module with these commands:
```
git submodule init
git submodule update
```## Setup
We suggest to use [Conda](https://docs.conda.io/en/latest/) to manage the virtual environment and then install poetry.
```
conda activate base
conda remove -n data_wellness_agent --all
conda create -n data_wellness_agent python=3.12
conda activate data_wellness_agent
pip install poetry
```## Installation
Change the directory to the root folder of the project.
```
poetry install
```## UI Installation
Before you run, you should compile the UI with this command from the root folder of the project.
Please note that this requires the installation of Yarn and node 18.18.0 or later.```
poetry run build-ui
```The UI connects the websocket to port 8085 natively. If the Python server runs on a different port, please change the port accordingly.
## Running
### Prepare the Postgres DB
Before you run for the first time, you will need to create the Postgres database. Execute this command to start psql (make sure Postgres is installed)
On Linux you can install Postgres like this:
```
sudo -u postgres psql
```On Windows you will need to download the distribution from here: https://www.postgresql.org/download/
Then create the database:
```
CREATE DATABASE data_wellness_companion
WITH
OWNER = postgres
ENCODING = 'UTF8'
CONNECTION LIMIT = -1
IS_TEMPLATE = False;
```and add the initial tables with some data after exiting psql:
Run on the console:
```
sudo -u postgres psql data_wellness_companion
```And run the script sql/db_setup.sql
### Knowledge base
The knowledge base is based on a directory (see environment variable `RAW_TEXT_FOLDER`). The folder needs to have *.txt documents in it.
The server fails if there are no documents in this folder.
## Configuration
You will have to have a `.env` file. To get you started you can copy the `.env.local` to `.env` and then change the configuration parameters accordingly.
You will need to have an OpenAI API key.
### Running the main application
Make the Postgres DB is available.
```
python ./data_questionnaire_agent/server/questionnaire_server_main.py
```You can then check the UI on http://localhost:8085/index.html
On Windows you can use the `.\start.ps1` script to start the server.
## Running Tests
You can run tests like this:
```bash
pytest
```