# LangChain ReAct Agent: Customer Service Assistant

A customer-service demo built on LangChain and LangGraph that combines a ReAct reasoning loop, retrieval-augmented generation over a Chroma vector store, and multiple callable tools, shown through a Streamlit interface.

This project implements a ReAct (Reasoning and Acting) agent using LangChain and LangGraph, using a robot-vacuum customer-support scenario as its example domain. The agent follows a Thought, Action, Observation loop, deciding for itself which tool or knowledge source to call, and automatically classifies each user request as a knowledge question or a report-generation task.

Retrieval uses a Chroma vector database with DashScope (Tongyi Qianwen/ChatTongyi) embeddings and MD5-based file deduplication, supporting mixed txt/PDF loading. Middleware switches between a plain question-answering system prompt and a report-generation one depending on context, and Streamlit provides a streaming chat interface that shows the agent's intermediate reasoning and tool calls. Configuration for the agent, RAG pipeline, vector store and prompts is driven by separate YAML files.

Website: https://github.com/lhh737/LangChain-ReAct-Agent
