This project aims to develop a chatbot that can interact with a PostgreSQL database and answer queries in natural language. The chatbot will be able to handle queries related to an Orders
table, which includes columns such as order_id
, customer_email
, tracking_number
, shipping_service
, tracking_URL
, order_created_at
, and order_shipped_at
.
The chatbot will be designed to understand and respond to layman language questions, such as:
- "Give me the status of order number 12222."
- "What is the order ID of tracking number?"
- "How many orders are shipped?"
A user interface will be created using Streamlit where users can input their PostgreSQL credentials and ask questions.
Follow these steps to set up the project on your local machine:
1. Clone the Repository Begin by cloning the repository to your local machine:
https://github.com/langchain-tech/postgres-chatbot.git
cd postgres-chatbot
2. Install Dependencies with Poetry It is recommended to use poetry to manage dependencies. Install the necessary packages and create a virtual environment:
poetry install
3. Activate the virtual environment: after installation the necessary packages activate the virtual env:
poetry shell
4. Set Up Environment Variables Create a .env file in the root directory of your project and add the required environment variables. For example:
GOOGLE_API_KEY=your_gemini_api_key
5. Start the Application
Run the application using Streamlit:
streamlit run app.py
- Questions will not be limited to one table, so it should be done to ask from database
- As long as entry is added into database, we should be able to answer questions for that new record