# las_preprocessing_agent **Repository Path**: fossilxiang_55192131/las_preprocessing_agent ## Basic Information - **Project Name**: las_preprocessing_agent - **Description**: No description available - **Primary Language**: Python - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-04-12 - **Last Updated**: 2026-04-13 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 石油测井数据预处理智能体工具 ## 项目概述 基于SRS.md规格说明书开发的石油测井数据预处理智能体工具,用于自动化处理LAS格式的测井数据。该工具集成了八大核心预处理功能,并通过大模型智能调度实现自动化工作流。 ## 功能特性 ### 八大核心预处理工具 1. **基础数据校验** - 验证LAS文件结构、深度系统、曲线完整性 2. **深度系统校正** - 深度对齐、重采样、MD/TVD转换 3. **仪器刻度与量纲校正** - 应用刻度系数、单位标准化 4. **井眼环境影响校正** - 井径扩径、泥饼厚度校正 5. **钻井液与地层侵入校正** - 电阻率侵入校正 6. **曲线质量修复** - 尖峰去除、空值填充、平滑处理 7. **数据采样与格式规范化** - 统一采样间隔、格式标准化 8. **预处理质量控制** - 质量评估、报告生成 ### 智能调度系统 - **大模型智能调度** - 基于DeepSeek-R1模型分析数据特征,智能决定工具调用顺序 - **状态机管理** - 9个预处理状态,确保工作流正确执行 - **备用调度策略** - 当大模型不可用时,自动切换到顺序或优先级调度 ### 用户界面 - **PyQt5图形界面** - 直观易用的桌面应用程序 - **实时日志显示** - 处理过程实时监控 - **曲线对比图** - 预处理前后曲线可视化对比 - **批量处理支持** - 多文件批量自动化处理 ## 系统架构 ``` las_preprocessing_agent/ ├── main.py # 程序入口 ├── requirements.txt # 依赖包列表 ├── agent_core/ # 智能体核心模块 │ ├── llm_interface.py # LLM接口 │ ├── state_machine.py # 状态机 │ └── tool_dispatcher.py # 工具调度器 ├── tools/ # 八大核心工具 │ ├── data_validation.py # 基础数据校验 │ ├── depth_correction.py # 深度系统校正 │ ├── calibration.py # 仪器刻度校正 │ ├── borehole_env.py # 井眼环境校正 │ ├── mud_invasion.py # 钻井液侵入校正 │ ├── quality_repair.py # 曲线质量修复 │ ├── resample_export.py # 数据采样导出 │ └── qc_evaluation.py # 质量控制评估 ├── utils/ # 工具模块 │ ├── las_parser.py # LAS文件解析器 │ └── logger.py # 统一日志系统 ├── config/ # 配置文件 │ ├── thresholds.json # 曲线阈值配置 │ ├── instrument_db.json # 仪器刻度系数库 │ ├── region_params.json # 地区经验参数 │ └── config.yaml # 主配置文件 ├── gui/ # 图形界面 │ ├── main_window.py # 主窗口 │ └── __init__.py └── tests/ # 测试目录 ``` ## 安装部署 ### 环境要求 - Python 3.8+ - Windows/Linux/macOS ### 安装步骤 1. **克隆或下载项目** ```bash cd Oil_Agent ``` 2. **安装Python依赖** ```bash pip install -r las_preprocessing_agent/requirements.txt ``` 3. **安装Ollama(可选,用于大模型调度)** - 下载地址:https://ollama.com/ - 安装后运行:`ollama pull deepseek-r1:7b` 4. **配置参数** - 编辑 `config/config.yaml` 文件,根据需要调整参数 - 配置 `config/thresholds.json` 中的曲线阈值 - 配置 `config/instrument_db.json` 中的仪器刻度系数 ### 快速启动 1. **启动GUI应用程序** ```bash cd las_preprocessing_agent python main.py ``` 2. **命令行使用(开发中)** ```bash python -c "from agent_core.tool_dispatcher import ToolDispatcher; dispatcher = ToolDispatcher()" ``` ## 使用指南 ### 1. 单文件处理 1. 启动应用程序 2. 点击"选择LAS文件"按钮 3. 配置预处理参数(可选) 4. 点击"自动预处理"开始处理 5. 查看处理结果和日志 ### 2. 批量处理 1. 点击"选择文件夹"按钮 2. 选择包含LAS文件的文件夹 3. 点击"开始批量处理" 4. 监控处理进度 ### 3. 参数配置 - **阈值配置**:设置各曲线的有效范围阈值 - **刻度系数库**:管理仪器刻度校正系数 - **地区参数**:配置地区经验参数 - **采样间隔**:设置重采样间隔(默认0.125米) ### 4. 大模型调度 - 默认启用大模型智能调度 - 需要本地运行Ollama服务 - 可切换为顺序执行模式 ## 配置说明 ### 主要配置文件 1. **config.yaml** - 主配置文件 - LLM配置(Ollama连接参数) - 预处理参数(采样间隔、参考曲线等) - GUI配置(窗口大小、主题等) - 性能配置(并行处理、内存限制等) 2. **thresholds.json** - 曲线阈值 ```json { "GR": {"min": 0, "max": 200, "unit": "API"}, "RT": {"min": 0.1, "max": 1000, "unit": "ohm.m"} } ``` 3. **instrument_db.json** - 仪器刻度系数 ```json { "DIT": {"a": 1.0, "b": 0.0, "unit": "us/ft"}, "DEN": {"a": 1.02, "b": -0.1, "unit": "g/cm3"} } ``` ### 环境变量 ```bash # 设置Ollama服务地址 export OLLAMA_BASE_URL="http://localhost:11434" # 设置日志级别 export LOG_LEVEL="INFO" ``` ## 开发指南 ### 添加新工具 1. 在 `tools/` 目录下创建新工具模块 2. 实现 `run_tool(las_data, params, logger)` 函数 3. 在 `tools/__init__.py` 中注册工具 4. 在 `agent_core/state_machine.py` 中添加状态 ### 扩展功能 - **新数据格式支持**:在 `utils/las_parser.py` 中添加解析器 - **新校正算法**:在相应工具模块中实现 - **新可视化功能**:在 `gui/` 目录下添加组件 ### 测试 ```bash # 运行单元测试 python -m pytest tests/ # 运行集成测试 python tests/integration_test.py ``` ## 故障排除 ### 常见问题 1. **LAS文件加载失败** - 检查文件格式是否符合LAS标准 - 检查文件编码(建议使用UTF-8) - 查看日志中的详细错误信息 2. **大模型调度不可用** - 检查Ollama服务是否运行:`ollama list` - 检查网络连接:`curl http://localhost:11434/api/generate` - 在配置中禁用大模型调度,使用备用策略 3. **内存不足** - 减少批量处理文件数量 - 调整 `config.yaml` 中的内存限制 - 关闭不必要的应用程序 4. **GUI启动失败** - 检查PyQt5安装:`python -c "import PyQt5"` - 检查Python版本兼容性 - 查看控制台错误信息 ### 日志文件 - 日志文件保存在 `logs/` 目录下 - 按日期分割日志文件 - 可通过GUI界面查看实时日志 ## 性能优化 ### 处理速度 - 启用并行处理(配置文件中设置) - 调整采样间隔,减少数据量 - 使用缓存中间结果 ### 内存使用 - 分批处理大型文件 - 及时释放不再使用的数据 - 使用内存映射文件处理超大文件 ### 大模型响应 - 调整temperature参数降低随机性 - 使用较小的模型(如7B版本) - 缓存模型响应结果 ## 版本历史 ### v1.0.0 (当前版本) - 八大核心预处理工具 - 大模型智能调度系统 - PyQt5图形用户界面 - 批量处理支持 - 完整的配置管理系统 ### 计划功能 - [ ] 云端模型支持 - [ ] 更多数据格式支持 - [ ] 高级可视化功能 - [ ] 插件系统 - [ ] 自动化测试套件 ## 贡献指南 1. Fork项目仓库 2. 创建功能分支 3. 提交代码变更 4. 编写测试用例 5. 提交Pull Request ## 许可证 本项目采用MIT许可证。详见LICENSE文件。 ## 联系方式