# LangChainPythonChat **Repository Path**: suzhidong/lang-chain-python-chat ## Basic Information - **Project Name**: LangChainPythonChat - **Description**: lang-chain-python-chat - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-02-24 - **Last Updated**: 2026-02-24 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # LangChain Python Chat 这是一个使用 FastAPI 和 LangChain 实现的 Python 后端聊天应用,前端复用了原有的 HTML/JS 代码。 ## 项目结构 ``` lang-chain-python-chat/ ├── app/ │ ├── api/ │ │ └── endpoints.py # API 路由定义 │ ├── core/ │ │ └── config.py # 配置管理 │ ├── models/ │ │ └── schemas.py # Pydantic 数据模型 │ ├── services/ │ │ ├── chat_service.py # LangChain 聊天逻辑 │ │ └── session_manager.py # 会话管理 (JSON 文件存储) │ └── main.py # 应用入口 ├── views/ # 前端静态资源 (HTML, JS) ├── data/ # 数据存储目录 (sessions.json) ├── .env # 环境变量 ├── requirements.txt # Python 依赖 └── run.py # 启动脚本 ``` ## 环境要求 - Python 3.8+ ## 安装与运行 1. **创建虚拟环境** ```bash python -m venv venv ``` 2. **激活虚拟环境** - Windows (PowerShell): ```powershell .\venv\Scripts\Activate ``` - Linux/macOS: ```bash source venv/bin/activate ``` 3. **安装依赖** ```bash pip install -r requirements.txt ``` 4. **配置环境变量** 复制 `.env` 文件并根据需要修改: ``` DASHSCOPE_API_KEY=your_api_key_here PORT=8200 ``` 5. **运行服务** 使用 `run.py` 启动服务: ```bash python run.py ``` 或者直接使用 uvicorn: ```bash python -m uvicorn app.main:app --host 0.0.0.0 --port 8200 --reload ``` 6. **访问应用** 打开浏览器访问:http://localhost:8200 ## API 文档 FastAPI 自动生成交互式 API 文档,启动服务后访问: - Swagger UI: http://localhost:8200/docs - ReDoc: http://localhost:8200/redoc ### 主要接口 - `POST /api/chat-stream`: 流式聊天接口 - `GET /api/sessions`: 获取会话列表 - `POST /api/sessions`: 创建新会话 - `GET /api/sessions/{id}`: 获取会话详情 - `DELETE /api/sessions/{id}`: 删除会话 - `PATCH /api/sessions/{id}`: 更新会话信息 ## 技术栈 - **后端**: FastAPI, Uvicorn - **AI/LLM**: LangChain, LangChain-OpenAI (兼容 DashScope/通义千问) - **数据存储**: 本地 JSON 文件 - **前端**: 原生 HTML/JS (复用)