# Python AI Chat Server 这是原有Node.js服务器的Python替代版本,使用FastAPI和DashScope Python SDK连接阿里云百炼平台API。 ## 特性 - 基于FastAPI的高性能异步服务器 - 支持流式和非流式对话 - 完全兼容前端API端点 - 支持多模态输入(文本+图像) - 集成阿里云百炼API - 文件上传功能 - 对话历史管理 ## 安装要求 - Python 3.8+ - pip包管理器 ## 安装步骤 1. **克隆或复制代码** 2. **安装Python依赖**: ```bash cd server pip install -r requirements.txt ``` 3. **配置环境变量**: ```bash cp .env.example .env ``` 编辑`.env`文件,填入您的阿里云百炼API密钥: ``` ALIYUN_API_KEY=your_actual_api_key_here ``` ## 启动服务器 ### 方法一:直接运行 ```bash python run_server.py ``` ### 方法二:使用uvicorn ```bash uvicorn app:app --host 0.0.0.0 --port 8000 --reload ``` ## API端点 服务器提供了与原Node.js版本完全相同的API端点: - `POST /api/chat-ui/chat` - 聊天接口(支持流式和非流式) - `GET /api/chat-ui/models` - 获取模型列表 - `GET /api/chat-ui/conversations` - 获取所有对话 - `GET /api/chat-ui/conversations/{id}` - 获取特定对话 - `POST /api/chat-ui/conversations` - 保存/更新对话 - `DELETE /api/chat-ui/conversations/{id}` - 删除对话 - `POST /api/chat-ui/upload` - 文件上传 - `POST /api/chat-ui/stop` - 停止生成 - `POST /api/chat-ui/stop/{id}` - 按ID停止生成 - `GET /health` - 健康检查 ## 前端配置 修改Vite配置(`vite.config.ts`)中的代理目标: ```typescript server: { proxy: { "/api/chat-ui": { target: "http://localhost:8000", // 修改为Python服务器端口 changeOrigin: true, }, }, }, ``` ## 环境变量 - `ALIYUN_API_KEY`: 阿里云百炼API密钥(必填) - `PORT`: 服务器端口(默认8000) ## 依赖说明 - `fastapi`: 现代高性能web框架 - `uvicorn`: ASGI服务器 - `dashscope`: 阿里云百炼SDK - `python-multipart`: 处理文件上传 - `python-dotenv`: 环境变量管理 ## 错误排查 1. **API密钥错误**: 确保在`.env`文件中正确设置了`ALIYUN_API_KEY` 2. **端口冲突**: 检查8000端口是否被占用,可以修改`.env`中的`PORT`变量 3. **依赖问题**: 确保已正确安装所有依赖 ## 注意事项 - Python服务器提供了与Node.js服务器相同的功能和API接口 - 保留了原有的日志记录机制 - 对话数据仍存储在内存中,生产环境建议使用数据库 - 支持与原前端应用无缝集成