|
|
||
|---|---|---|
| .. | ||
| adapters | ||
| api | ||
| database | ||
| middleware | ||
| models | ||
| utils | ||
| README.md | ||
| __init__.py | ||
| config.py | ||
| init_logging.py | ||
| logging.conf | ||
| main.py | ||
| requirements.txt | ||
README.md
Python AI Chat Server
这是原有Node.js服务器的Python替代版本,使用FastAPI和DashScope Python SDK连接阿里云百炼平台API。
特性
- 基于FastAPI的高性能异步服务器
- 支持流式和非流式对话
- 完全兼容前端API端点
- 支持多模态输入(文本+图像)
- 集成阿里云百炼API
- 文件上传功能
- 对话历史管理
安装要求
- Python 3.8+
- pip包管理器
安装步骤
-
克隆或复制代码
-
安装Python依赖:
cd server pip install -r requirements.txt -
配置环境变量:
cp .env.example .env编辑
.env文件,填入您的阿里云百炼API密钥:ALIYUN_API_KEY=your_actual_api_key_here
启动服务器
方法一:直接运行
python run_server.py
方法二:使用uvicorn
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)中的代理目标:
server: {
proxy: {
"/api/chat-ui": {
target: "http://localhost:8000", // 修改为Python服务器端口
changeOrigin: true,
},
},
},
环境变量
ALIYUN_API_KEY: 阿里云百炼API密钥(必填)PORT: 服务器端口(默认8000)
依赖说明
fastapi: 现代高性能web框架uvicorn: ASGI服务器dashscope: 阿里云百炼SDKpython-multipart: 处理文件上传python-dotenv: 环境变量管理
错误排查
- API密钥错误: 确保在
.env文件中正确设置了ALIYUN_API_KEY - 端口冲突: 检查8000端口是否被占用,可以修改
.env中的PORT变量 - 依赖问题: 确保已正确安装所有依赖
注意事项
- Python服务器提供了与Node.js服务器相同的功能和API接口
- 保留了原有的日志记录机制
- 对话数据仍存储在内存中,生产环境建议使用数据库
- 支持与原前端应用无缝集成