Skip to content

This project is a chatbot website built using RAG and LangChain, with a Flask backend, Svelte frontend, and Redis for caching and task management.

Notifications You must be signed in to change notification settings

vdt104/RAG_website_with_LangChain

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Setup

Using Pipenv [Recommended]

# Install dependencies
pipenv install

# Create a virtual environment
pipenv shell

# Initialize the database
flask --app app.web init-db

Using Venv [Optional]

These instructions are included if you wish to use venv to manage your evironment and dependencies instead of Pipenv.

# Create the venv virtual environment
python -m venv .venv

# On MacOS, WSL, Linux
source .venv/bin/activate

# On Windows
.\.venv\Scripts\activate

# Install dependencies
pip install -r requirements.txt

# Initialize the database
flask --app app.web init-db

Running the app [Pipenv]

There are three separate processes that need to be running for the app to work: the server, the worker, and Redis.

If you stop any of these processes, you will need to start them back up!

Commands to start each are listed below. If you need to stop them, select the terminal window the process is running in and press Control-C

To run the Python server

Open a new terminal window and create a new virtual environment:

pipenv shell

Then:

inv dev

To run the worker

Open a new terminal window and create a new virtual environment:

pipenv shell

Then:

inv devworker

To run Redis

redis-server

To reset the database

Open a new terminal window and create a new virtual environment:

pipenv shell

Then:

flask --app app.web init-db

Running the app [Venv]

These instructions are included if you wish to use venv to manage your evironment and dependencies instead of Pipenv.

There are three separate processes that need to be running for the app to work: the server, the worker, and Redis.

If you stop any of these processes, you will need to start them back up!

Commands to start each are listed below. If you need to stop them, select the terminal window the process is running in and press Control-C

To run the Python server

Open a new terminal window and create a new virtual environment:

# On MacOS, WSL, Linux
source .venv/bin/activate

# On Windows
.\.venv\Scripts\activate

Then:

inv dev

To run the worker

Open a new terminal window and create a new virtual environment:

# On MacOS, WSL, Linux
source .venv/bin/activate

# On Windows
.\.venv\Scripts\activate

Then:

inv devworker

To run Redis

redis-server

To reset the database

Open a new terminal window and create a new virtual environment:

# On MacOS, WSL, Linux
source .venv/bin/activate

# On Windows
.\.venv\Scripts\activate

Then:

flask --app app.web init-db

Example of .env

Create a .env file:

SECRET_KEY=
SQLALCHEMY_DATABASE_URI=
UPLOAD_URL=

LANGCHAIN_API_KEY={optional}
SAMBANOVA_API_KEY={optional}
GITHUB_API_KEY={optional}
OPEN_API_KEY={optional}

REDIS_URI=

PINECONE_API_KEY=
PINECONE_ENV_NAME=
PINECONE_INDEX_NAME=

About

This project is a chatbot website built using RAG and LangChain, with a Flask backend, Svelte frontend, and Redis for caching and task management.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published