LangGraph_1o1_Agentic_Customer_Support is a project designed to demonstrate how complex systems can be built using LangGraph. In this project, we create an agentic customer service chatbot for Swiss Airlines in four different versions, addressing common real-world challenges at each step. The system supports a wide range of tasks through 18 tools, including Retrieval-Augmented Generation (RAG), web search, and travel planning.
The customer service chatbot has permissions to write, update, and clean the content of the SQL database. To ensure data integrity during testing, a backup database is provided.
- After each test, you can refresh the database to its original state by updating the dates and restoring default values.
- Refer to Step 9 in the setup instructions for the refresh process.
YouTube video: Link
- Customer History: Automatically fetch historical data
- Web Search: Provide additional information via web searches
- RAG: Answer inquiries based on company policies
- Flights: Search, update, and cancel flight tickets
- Car Rentals: Search, book, update, and cancel car rentals
- Hotels: Search, book, update, and cancel hotel reservations
- Excursions: Search, book, update, and cancel excursions
-
Clone the Repository:
git clone https://github.com/Farzad-R/TBD
-
Create a Virtual Environment:
python -m venv venv
-
Activate the Virtual Environment:
- Windows:
venv\Scripts\activate
- macOS/Linux:
source venv/bin/activate
- Windows:
-
Install Dependencies:
pip install -r requirements.txt
-
Configure API Keys: Edit the
.env
file and add:OPEN_AI_API_KEY=... TAVILY_API_KEY=... LANGCHAIN_API_KEY=...
-
download and prepare the SQL database and the vector database
python data_preparation/download_data.py python data_preparation/prepare_vector_db.py
-
Run the User Interface:
python src/app.py
-
Configure Project Settings: Modify
config/config.yml
as needed. -
Refresh the database after testing:
python data_preparation/update_db_date.py
- Programming Language: Python
- Language Models: OpenAI GPT models
- Agents Framework: LangGraph
- Monitoring System: LangSmith
- User Interface: Gradio
- Database Interaction: SQLAlchemy
For detailed tool descriptions, the database report, and system design schema, refer to the documentation
folder.