This project is a demo that allows users to query content from uploaded PDF documents and simplifies the process of booking appointments through conversational interaction. It is integrated with a form that the user must fill out before using the document query and appointment booking features.
- Query Document Content: Users can upload PDF documents and ask questions about their content.
- Collect User Information: Collects user details (Name, Phone Number, Email).
- Book Appointments: Provides appointment booking through a conversational form integrated with agent tools.
- Date Extraction: Extracts dates from user queries (e.g., "Next Monday") and converts them to standard formats (YYYY-MM-DD).
- Input Validation: Validates user inputs, including phone numbers and email addresses.
- LangChain: Connects the language model (LLM) with document storage to enable document querying.
- Google Gemini: Provides natural language understanding and interaction with users.
- Agent Tools: Handles appointment booking and date processing.
- Regex: Used for input validation (email, phone number).
- Streamlit: Used for building an interactive web-based user interface (Front-end).
-
Create a virtual environment:
conda create -p venv python=3.10
-
Activate the environment:
conda activate venv\
-
Install Dependencies:
pip install -r requirements.txt
-
Navigate to the project directory:
cd chatbot
-
Run the Streamlit application:
streamlit run app.py
- Improve the conversation form to be more interactive and user-friendly.
- Support multiple languages to make the chatbot accessible to a broader audience.
- Enhance the Streamlit application for a better user interface and performance.
- Implement notifications for booking confirmations via email or phone number using the information collected.