# ggb_gen **Repository Path**: sitpomk/ggb_gen ## Basic Information - **Project Name**: ggb_gen - **Description**: No description available - **Primary Language**: Python - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 1 - **Created**: 2025-06-16 - **Last Updated**: 2025-07-07 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # GeoGebra 数学问题处理系统 一个基于AI的数学问题处理系统,支持自动识别数学问题类型并生成对应的GeoGebra可视化内容。 ## 功能特性 - 🧠 **智能意图识别**: 自动识别数学问题类型(2D几何、3D几何、函数等) - 📐 **2D几何处理**: 完整的平面几何问题处理流程 - 💬 **流式对话**: 支持实时流式响应,展示完整推理过程 - 🔧 **多服务架构**: 微服务设计,支持独立部署和扩展 - 📱 **Web界面**: 提供友好的Web用户界面 ## 快速开始 ### 1. 环境准备 ```bash # 克隆项目 git clone cd ggb_gen-master # 创建虚拟环境 python3 -m venv venv source venv/bin/activate # Linux/Mac # 或者 venv\Scripts\activate # Windows # 安装依赖 pip install -r requirements_full.txt ``` ### 2. 配置环境变量 ```bash # 创建配置文件 cp .env.example .env # 如果有示例文件 # 或者手动创建 .env 文件 ``` 配置内容: ```env DEEPSEEK_API_KEY=your_api_key_here DEEPSEEK_BASE_URL=https://api.deepseek.com DEEPSEEK_REASONER_MODEL=deepseek-reasoner ``` ### 3. 启动服务 **使用快速部署脚本(推荐)** ```bash # 启动所有服务 ./deploy.sh start # 检查服务状态 ./deploy.sh status # 停止所有服务 ./deploy.sh stop ``` **手动启动** ```bash # 启动完整服务套件 ./deploy/start_all_services.sh # 或者单独启动各个服务 python -m uvicorn fastapi_app:app --host 0.0.0.0 --port 8080 & python -m uvicorn services.conversation_service_v2:app --host 0.0.0.0 --port 8001 & python -m uvicorn llm_apis.apis.ds_element_extraction_api:app --host 0.0.0.0 --port 8002 & ``` ### 4. 访问服务 启动成功后,可以通过以下地址访问: - **Web界面**: http://localhost:8080 - **对话API**: http://localhost:8001/api/v2/chat - **元素提取API**: http://localhost:8002/docs - **健康检查**: http://localhost:8080/health ## 服务架构 系统采用微服务架构,包含以下三个主要服务: | 服务名称 | 端口 | 功能描述 | |---------|------|---------| | **原始FastAPI服务** | 8080 | 主要的Web界面和API路由 | | **对话服务V2** | 8001 | 专门处理数学对话的流式服务 | | **元素提取API** | 8002 | 数学元素提取和分析服务 | ## API使用示例 ### 发送数学问题 ```bash curl -X POST "http://localhost:8001/api/v2/chat" \ -H "Content-Type: application/json" \ -d '{ "message": "若圆 x²+(y+2)²=r²(r>0) 上到直线 y=3x+2 的距离为 1 的点有且仅有 2 个,则 r 的取值范围是", "conversation_id": "test-001" }' ``` ### 检查服务状态 ```bash curl http://localhost:8080/health curl http://localhost:8001/health curl http://localhost:8002/docs ``` ## 开发指南 ### 项目结构 ``` ggb_gen-master/ ├── deploy/ # 部署相关脚本和文档 ├── services/ # 服务层 ├── llm_apis/ # LLM API集成 ├── api/ # API路由 ├── model/ # 数据模型 ├── utils/ # 工具函数 ├── static/ # 静态文件 ├── ui/ # Web界面 └── logs/ # 日志文件 ``` ### 主要文件 - `fastapi_app.py` - 主应用入口 - `services/conversation_service_v2.py` - 对话服务 - `llm_apis/ds_ggb_management.py` - GGB管理核心 - `deploy/` - 部署脚本和文档 ## 部署指南 详细的部署说明请查看:[deploy/README_DEPLOYMENT.md](deploy/README_DEPLOYMENT.md) 包含以下内容: - 生产环境部署 - 服务器配置 - 常见问题解决 - 性能优化建议 ## 故障排除 ### 常见问题 1. **服务启动失败** ```bash # 检查端口占用 ./deploy/check_services.sh # 停止冲突进程 ./deploy/stop_all_services.sh ``` 2. **Python环境问题** ```bash # 确认Python版本 python3 --version # 需要 >= 3.8 # 重新安装依赖 pip install -r requirements_full.txt ``` 3. **API调用失败** - 检查API密钥配置 - 确认网络连接 - 查看日志文件 `logs/` ### 日志查看 ```bash # 查看各服务日志 tail -f logs/fastapi_app.log tail -f logs/conversation_v2.log tail -f logs/element_api.log ``` ## 贡献指南 1. Fork 项目 2. 创建特性分支 (`git checkout -b feature/AmazingFeature`) 3. 提交更改 (`git commit -m 'Add some AmazingFeature'`) 4. 推送到分支 (`git push origin feature/AmazingFeature`) 5. 开启 Pull Request ## 许可证 本项目采用 [LICENSE](LICENSE) 许可证。 ## 联系方式 如有问题或建议,请通过以下方式联系: - 提交 Issue - 发送邮件 - 项目讨论区