活动介绍
file-type

Mineral.js:探索浏览器中的Lisp语言新境界

下载需积分: 9 | 13KB | 更新于2024-11-22 | 92 浏览量 | 6 评论 | 0 下载量 举报 收藏
download 立即下载
它借鉴了Clojure等现代Lisp方言的语法特点,并且增加了特定的原语以适应JavaScript环境。Mineral.js提供了一种方式,让用户可以在浏览器端使用类似Lisp的语言来编写代码,并且能够调用浏览器原生JavaScript的能力。" Lisp是一种历史悠久的编程语言,它以其高度的可扩展性和强大的元编程能力而闻名。Clojure是Lisp的现代方言之一,它运行在Java虚拟机上,并且具有一系列现代编程语言的特性,例如对函数式编程和并发的支持。Mineral.js在语法上受Clojure的启发,意味着它可能会包含类似的数据结构和函数式编程概念。 Mineral.js中定义了一系列原语,这些是Lisp语言的基本构建块。例如,"quote"用于防止表达式被求值,"atom"用于检查某个值是否为原子类型(即不可再分的值,如数字或字符串),而"eq"用于比较两个原子是否相等。"head"和"tail"分别用于获取列表的第一个元素和剩余部分。"cons"用于创建一个新的列表,"if"提供条件判断,"fn"定义函数,"def"用于变量定义,"apply"用于函数应用。 Mineral.js还提供了一些特定于浏览器环境的原语。"externalcall"允许调用JavaScript原生函数,这使得Mineral.js能够利用浏览器提供的丰富API。"infixcall"用于调用JavaScript的中缀操作符(比如"+", "-", "*"等),"hashmap"创建一个新的哈希映射,"assoc"和"dissoc"分别用于添加和删除键值对,"get"用于获取哈希映射中特定键的值。"trycatch"原语用于处理JavaScript中的异常,"while"则是为了在JavaScript中实现循环。 在Lisp语言中,"句法糖"(syntactic sugar)是一种使代码更易读、更易写的语言特性,它并不增加语言的新功能,只是简化了代码的书写方式。在Mineral.js中,"lambda函数"的句法糖为用户提供了一种简写函数定义的方式。使用这种句法糖,用户可以更简洁地定义匿名函数,这是函数式编程的一个重要特性。 Mineral.js的项目名称为"mineral.js-master",这表明它可能是一个开源项目,并且该文件是项目的主干代码。对于想要深入研究或扩展Mineral.js功能的开发者来说,该项目应该包含了解Lisp语言在浏览器中的实现方式所需的所有源代码。 通过Mineral.js,开发者可以体验到Lisp语言在现代浏览器环境中的魅力,同时利用其强大的表达能力和浏览器提供的各种API,实现复杂的功能。这对于想要学习Lisp语言、探索函数式编程,或者只是希望在浏览器端尝试一种不同编程范式的开发者来说,都是一个值得尝试的工具。

相关推荐

filetype

以下是针对地质找矿和水工环地质勘查行业的详细部署指南,所有组件均安装在D盘,充分利用GPU资源,实现本地化知识库管理和Word报告自动化生成: --- ### **一、系统准备与目录创建** #### **1. 创建主目录结构** ```powershell # 打开PowerShell(管理员权限) # 创建主目录 mkdir D:\personal ai # 创建子目录 mkdir D:\personal ai\docker-data mkdir D:\personal ai\ollama mkdir D:\personal ai\ragflow mkdir D:\personal ai\dify mkdir D:\personal ai\models mkdir D:\personal ai\templates mkdir D:\personal ai\output ``` #### **2. 更新显卡驱动** 1. 访问[NVIDIA驱动下载页](https://www.nvidia.cn/Download/index.aspx) 2. 选择匹配显卡的驱动程序 3. 安装时选择: - **自定义安装** - 勾选**清洁安装** - 安装位置选择:`D:\personal ai\NVIDIA` --- ### **二、Docker Desktop安装与汉化** #### **1. 安装Docker Desktop** 1. 下载安装程序:[Docker Desktop for Windows](https://desktop.docker.com/win/main/amd64/Docker%20Desktop%20Installer.exe) 2. 运行安装程序: - 取消勾选"Use WSL 2 instead of Hyper-V" - 点击"Advanced": - 安装路径:`D:\personal ai\Docker` - 数据存储路径:`D:\personal ai\docker-data` - 勾选: - ☑ Add shortcut to desktop - ☑ Enable WSL 2 Features - ☑ Add Docker binaries to PATH #### **2. Docker汉化** ```powershell # 下载汉化包 Invoke-WebRequest -Uri "https://ghproxy.com/https://github.com/Docker-Hub-frproxy/docker-desktop-zh/releases/download/v4.30.0/zh-CN.zip" -OutFile "D:\personal ai\docker-zh.zip" # 解压并替换文件 Expand-Archive -Path "D:\personal ai\docker-zh.zip" -DestinationPath "D:\personal ai\Docker\resources" -Force # 重启Docker Restart-Service -Name "Docker Desktop Service" ``` #### **3. 配置GPU支持** 1. 创建配置文件: ```powershell notepad $env:USERPROFILE\.wslconfig ``` 2. 输入以下内容: ```ini [wsl2] memory=16GB # 根据实际内存调整,建议≥16GB processors=8 # 根据CPU核心数调整 swap=0 localhostForwarding=true [nvidia] enabled=true cudaVersion=12.2 # 与安装的CUDA版本一致 ``` --- ### **三、Ollama + DeepSeek部署** #### **1. 安装Ollama** ```powershell # 下载安装程序 Invoke-WebRequest -Uri "https://ollama.com/download/OllamaSetup.exe" -OutFile "D:\personal ai\OllamaSetup.exe" # 静默安装到指定目录 Start-Process "D:\personal ai\OllamaSetup.exe" -ArgumentList "/S /D=D:\personal ai\ollama" -Wait ``` #### **2. 配置模型存储路径** ```powershell # 设置环境变量 [Environment]::SetEnvironmentVariable("OLLAMA_MODELS", "D:\personal ai\models", "Machine") # 重启Ollama服务 Restart-Service -Name "Ollama" ``` #### **3. 下载DeepSeek模型** ```powershell # 拉取7B参数模型(适合44GB显存) ollama pull deepseek-llm:7b # 验证安装 ollama run deepseek-llm:7b "地质找矿的基本流程是什么?" ``` --- ### **四、RAGFlow本地部署** #### **1. 创建docker-compose.yml** ```powershell # 创建配置文件 @" version: '3.8' services: ragflow: image: infiniflow/ragflow:latest container_name: ragflow ports: - "9380:9380" volumes: - "D:/personal ai/ragflow/data:/opt/ragflow/data" - "D:/personal ai/models:/opt/ragflow/models" environment: - NVIDIA_VISIBLE_DEVICES=all - NVIDIA_DRIVER_CAPABILITIES=compute,utility deploy: resources: reservations: devices: - driver: nvidia count: 2 capabilities: [gpu] "@ | Out-File -FilePath "D:\personal ai\ragflow\docker-compose.yml" -Encoding utf8 ``` #### **2. 启动RAGFlow** ```powershell # 进入目录 cd D:\personal ai\ragflow # 启动容器 docker compose up -d # 查看日志(确保正常运行) docker logs ragflow ``` --- ### **五、Dify工作流部署** #### **1. 创建docker-compose.yml** ```powershell @" version: '3' services: dify: image: langgenius/dify:latest container_name: dify ports: - "80:3000" volumes: - "D:/personal ai/dify/data:/data" environment: - DB_ENGINE=sqlite - GPU_ENABLED=true depends_on: - ragflow "@ | Out-File -FilePath "D:\personal ai\dify\docker-compose.yml" -Encoding utf8 ``` #### **2. 启动Dify** ```powershell cd D:\personal ai\dify docker compose up -d ``` --- ### **六、地质行业知识库配置** #### **1. 上传地质资料** 1. 访问 `http://localhost:9380` 2. 创建知识库 → 命名"地质矿产知识库" 3. 上传文件类型: - 地质调查报告(PDF/DOCX) - 矿产储量估算表(XLSX) - 水文地质图件(JPG/PNG) - 工程地质剖面图(DWG) #### **2. 配置检索策略** ```yaml # 在RAGFlow高级设置中 chunk_size: 1024 # 适合技术文档 chunk_overlap: 200 metadata_fields: # 地质专用元数据 - project_name - geological_period - mineral_type - gis_coordinates ``` --- ### **七、报告生成工作流配置** #### **1. 在Dify中创建工作流** 1. 访问 `http://localhost` 2. 创建应用 → 选择"工作流" 3. 节点配置: ``` [输入] → [RAGFlow检索] → [Ollama处理] → [Word生成] ``` #### **2. 配置Ollama节点** ```json { "model": "deepseek-llm:7b", "parameters": { "temperature": 0.3, "max_tokens": 4096, "system_prompt": "你是一位资深地质工程师,负责编写专业地质报告。使用规范的地质术语,遵循GB/T 9649地质矿产术语标准。" } } ``` #### **3. 创建Word模板** 1. 在 `D:\personal ai\templates` 创建 `地质报告模板.docx` 2. 包含字段: ```markdown ## {{project_name}}地质调查报告 ### 一、区域地质背景 {{regional_geology}} ### 二、矿产特征 {{mineral_characteristics}} ### 三、水文地质条件 {{hydrogeological_conditions}} [附图:{{figure_number}}] ### 四、资源量估算(单位:万吨) | 矿种 | 332 | 333 | 334 | |---|---|---|---| {{resource_table}} ``` #### **4. Python报告生成脚本** 在Dify中创建 `report_generator.py`: ```python from docx import Document from docx.shared import Pt import pandas as pd import json def generate_geological_report(data): # 加载模板 doc = Document(r'D:\personal ai\templates\地质报告模板.docx') # 填充文本内容 for p in doc.paragraphs: p.text = p.text.replace('{{project_name}}', data['project_name']) p.text = p.text.replace('{{regional_geology}}', data['regional_geology']) p.text = p.text.replace('{{hydrogeological_conditions}}', data['hydro_conditions']) # 填充资源表格 table = doc.tables[0] resources = json.loads(data['resource_table']) for i, mineral in enumerate(resources): row = table.add_row() row.cells[0].text = mineral['type'] row.cells[1].text = str(mineral['332']) row.cells[2].text = str(mineral['333']) row.cells[3].text = str(mineral['334']) # 保存报告 output_path = fr"D:\personal ai\output\{data['project_name']}_地质调查报告.docx" doc.save(output_path) return {"status": "success", "path": output_path} ``` --- ### **八、工作流测试与使用** #### **1. 触发报告生成** ```powershell curl -X POST http://localhost/v1/workflows/run \ -H "Content-Type: application/json" \ -d '{ "inputs": { "project_name": "云南某铜矿勘探", "requirements": "需要包含:\n1. 矿区水文地质分析\n2. 铜矿体三维模型描述\n3. JORC标准资源量估算" } }' ``` #### **2. 输出结果** - 生成文件:`D:\personal ai\output\云南某铜矿勘探_地质调查报告.docx` - 日志位置:`D:\personal ai\dify\data\logs\workflow.log` #### **3. 典型报告结构** ```markdown ## 云南某铜矿勘探地质调查报告 ### 一、区域地质背景 位于扬子地块西缘,出露地层主要为二叠系阳新组灰岩... ### 二、矿产特征 发现3条铜矿体,呈层状产出,平均品位Cu 1.2%... ### 三、水文地质条件 矿区内发育两条季节性河流,地下水类型主要为基岩裂隙水...[附图:图3] ### 四、资源量估算(单位:万吨) | 矿种 | 332 | 333 | 334 | |------|-----|-----|-----| | 铜矿 | 120 | 280 | 150 | ``` --- ### **九、维护与优化** #### **1. GPU监控** ```powershell # 查看GPU利用率 nvidia-smi --query-gpu=utilization.gpu --format=csv -l 5 # Ollama GPU加速验证 ollama run deepseek-llm:7b --verbose ``` #### **2. 地质专业词库增强** 1. 在 `D:\personal ai\models` 创建 `geology_terms.txt` 2. 添加专业术语: ```text 水工环地质 矿产普查 资源量估算 地层划分 构造解析 ``` 3. 在RAGFlow配置中加载术语库 #### **3. 常见问题解决** **问题1:Docker容器无法访问GPU** ```powershell # 验证NVIDIA容器工具包 docker run --rm --gpus all nvidia/cuda:12.2.0-base nvidia-smi # 解决方案 nvidia-smi --gpu-reset ``` **问题2:中文PDF解析乱码** ```yaml # 在RAGFlow配置中添加 parser_config: pdf: text_extraction: lang: chi_sim # 使用中文OCR ``` **问题3:报告生成格式错误** ```python # 在Python脚本中添加格式修复 def fix_table_format(table): for row in table.rows: for cell in row.cells: for paragraph in cell.paragraphs: paragraph.paragraph_format.space_before = Pt(0) paragraph.paragraph_format.space_after = Pt(0) ``` --- ### **十、地质行业应用场景** #### **1. 自动化报告类型** 1. 矿产勘探阶段性报告 2. 水文地质调查评价 3. 矿山环境影响评估 4. 地质灾害风险分析 5. 资源储量动态报表 #### **2. 效率提升对比** | 任务类型 | 传统耗时 | 系统耗时 | |---------|---------|---------| | 矿产调查报告 | 40小时 | 2小时 | | 水文地质图件说明 | 16小时 | 45分钟 | | 资源量估算表 | 8小时 | 实时生成 | 分析优化以上部署方案

filetype

-- 1. 主表 TRANS_TARGET_KY (必须最先插入) INSERT INTO SX_LANDWEB_MINERAL_CITY.TRANS_TARGET_KY SELECT * FROM SX_LANDWEB.TRANS_TARGET_KY WHERE id = 'ea30a143-c2f8-4900-a577-c9636c01038e'; -- 2. 许可证 TRANS_LICENSE_KY(直接依赖主表) INSERT INTO SX_LANDWEB_MINERAL_CITY.TRANS_LICENSE_KY SELECT * FROM SX_LANDWEB.TRANS_LICENSE_KY WHERE TARGET_ID = 'ea30a143-c2f8-4900-a577-c9636c01038e'; -- 3. 商品关联表 TRANS_TARGET_GOODS_KY(依赖主表) INSERT INTO SX_LANDWEB_MINERAL_CITY.TRANS_TARGET_GOODS_KY SELECT * FROM SX_LANDWEB.TRANS_TARGET_GOODS_KY WHERE TARGET_ID = 'ea30a143-c2f8-4900-a577-c9636c01038e'; -- 4. 商品基础表 TRANS_GOODS_KY(被TRANS_TARGET_GOODS_KY引用) INSERT INTO SX_LANDWEB_MINERAL_CITY.TRANS_GOODS_KY SELECT * FROM SX_LANDWEB.TRANS_GOODS_KY WHERE id IN ( SELECT GOODS_ID FROM SX_LANDWEB_MINERAL_CITY.TRANS_TARGET_GOODS_KY ); -- 5. 委托商品信息 TRANS_TRUST_INFO_KY(依赖商品ID) INSERT INTO SX_LANDWEB_MINERAL_CITY.TRANS_TRUST_INFO_KY SELECT * FROM SX_LANDWEB.TRANS_TRUST_INFO_KY WHERE GOODS_ID IN ( SELECT GOODS_ID FROM SX_LANDWEB_MINERAL_CITY.TRANS_TARGET_GOODS_KY ); -- 6. 账单申请 TRANS_ACCOUNT_BILL_APPLY_KY(依赖许可证) INSERT INTO SX_LANDWEB_MINERAL_CITY.TRANS_ACCOUNT_BILL_APPLY_KY SELECT * FROM SX_LANDWEB.TRANS_ACCOUNT_BILL_APPLY_KY WHERE LICENSE_ID IN ( SELECT id FROM SX_LANDWEB_MINERAL_CITY.TRANS_LICENSE_KY ); -- 7. 通知主表 TRANS_NOTICE_KY(通过TRANS_TARGET_NOTICE_KY关联) INSERT INTO SX_LANDWEB_MINERAL_CITY.TRANS_NOTICE_KY SELECT * FROM SX_LANDWEB.TRANS_NOTICE_KY WHERE id IN ( SELECT NOTICE_ID FROM SX_LANDWEB.TRANS_TARGET_NOTICE_KY WHERE TARGET_ID = 'ea30a143-c2f8-4900-a577-c9636c01038e' ); -- 8. 通知-目标关联 TRANS_TARGET_NOTICE_KY INSERT INTO SX_LANDWEB_MINERAL_CITY.TRANS_TARGET_NOTICE_KY SELECT * FROM SX_LANDWEB.TRANS_TARGET_NOTICE_KY WHERE TARGET_ID = 'ea30a143-c2f8-4900-a577-c9636c01038e'; 第5、6条sql 要调整下,根据TARGET_ID 查找

filetype

@echo off setlocal enabledelayedexpansion color 0A title 地质AI工作流一键部署工具 echo. echo **************************************************************** echo * * echo * 地质行业AI智能工具箱 - 一键安装程序 * echo * (专为电脑小白设计,只需点击"下一步") * echo * * echo **************************************************************** echo. REM =============== 第一步:准备工作检查 =============== echo [1/8] 正在检查系统环境... echo. REM 检查管理员权限 net session >nul 2>&1 if %errorlevel% neq 0 ( echo ⚠️ 错误:请右键点击此文件,选择"以管理员身份运行" pause exit /b 1 ) REM 检查Windows 11 ver | find "11." >nul if %errorlevel% neq 0 ( echo ⚠️ 错误:此软件仅支持Windows 11系统 pause exit /b 1 ) REM 检查磁盘空间 set minSpace=50 for /f "tokens=3" %%a in ('dir /-C D:\ ^| find "可用字节"') do set free=%%a set /a freeGB=!free:~0,-9! if !freeGB! lss %minSpace% ( echo ⚠️ 错误:D盘需要至少%minSpace%GB空间,当前仅!freeGB!GB echo 请清理磁盘空间后重新运行 pause exit /b 1 ) echo ✅ 系统检查通过:Windows 11, 管理员权限, 足够磁盘空间 timeout /t 2 /nobreak >nul REM =============== 第二步:创建目录结构 =============== echo [2/8] 正在创建软件目录... echo. set "BASE_DIR=D:\地质AI工具箱" set "APPS_DIR=!BASE_DIR!\程序" set "DATA_DIR=!BASE_DIR!\数据" set "MODELS_DIR=!DATA_DIR!\模型" set "REPORTS_DIR=!DATA_DIR!\报告" mkdir "!BASE_DIR!" 2>nul mkdir "!APPS_DIR!" 2>nul mkdir "!DATA_DIR!" 2>nul mkdir "!MODELS_DIR!" 2>nul mkdir "!REPORTS_DIR!\模板" 2>nul mkdir "!REPORTS_DIR!\输出" 2>nul mkdir "!BASE_DIR!\安装包" 2>nul echo ✅ 目录创建完成:!BASE_DIR! timeout /t 1 /nobreak >nul REM =============== 第三步:安装基础组件 =============== echo [3/8] 正在安装基础支持系统... echo 步骤1:启用WSL2(Windows子系统)... powershell -Command "Start-Process PowerShell -ArgumentList 'wsl --install -d Ubuntu --quiet' -Verb RunAs -Wait" echo 步骤2:安装Docker(容器管理系统)... if not exist "!BASE_DIR!\安装包\Docker安装.exe" ( powershell -Command "Invoke-WebRequest -Uri 'https://desktop.docker.com/win/main/amd64/Docker%20Desktop%20Installer.exe' -OutFile '!BASE_DIR!\安装包\Docker安装.exe' -UseBasicParsing" ) start /wait "" "!BASE_DIR!\安装包\Docker安装.exe" install --quiet --accept-license --installation-dir="!APPS_DIR!\Docker" echo 步骤3:安装Python(编程环境)... if not exist "!BASE_DIR!\安装包\Python安装.exe" ( powershell -Command "Invoke-WebRequest -Uri 'https://www.python.org/ftp/python/3.11.9/python-3.11.9-amd64.exe' -OutFile '!BASE_DIR!\安装包\Python安装.exe' -UseBasicParsing" ) start /wait "" "!BASE_DIR!\安装包\Python安装.exe" /quiet InstallAllUsers=0 TargetDir="!APPS_DIR!\Python" Include_launcher=0 AddPythonToPath=1 echo ✅ 基础组件安装完成 timeout /t 2 /nobreak >nul REM =============== 第四步:安装AI核心 =============== echo [4/8] 正在安装AI智能核心... echo 步骤1:安装Ollama(本地AI大脑)... if not exist "!BASE_DIR!\安装包\Ollama安装.exe" ( powershell -Command "Invoke-WebRequest -Uri 'https://ollama.com/download/OllamaSetup.exe' -OutFile '!BASE_DIR!\安装包\Ollama安装.exe' -UseBasicParsing" ) start /wait "" "!BASE_DIR!\安装包\Ollama安装.exe" /S /D=!APPS_DIR!\Ollama echo 步骤2:下载地质专用AI模型... echo 正在下载地质勘探模型(约3GB,首次下载需要10-30分钟,具体取决于网络速度)... "!APPS_DIR!\Ollama\ollama.exe" pull geology-llama echo 正在下载矿物识别模型... "!APPS_DIR!\Ollama\ollama.exe" pull mineral-detector echo ✅ AI智能核心安装完成 timeout /t 2 /nobreak >nul REM =============== 第五步:部署地质应用 =============== echo [5/8] 正在部署地质专用工具... echo 步骤1:启动知识库系统(RAGFlow)... docker run -d --name 地质知识库 -p 8080:8080 -v "!DATA_DIR!\知识库数据":/data -e LOCAL_MODE=1 -e MODEL_PROVIDER=ollama -e OLLAMA_BASE_URL=http://host.docker.internal:11434 -e DEFAULT_VICUNA_MODEL=geology-llama infiniflow/ragflow:latest echo 步骤2:启动工作流平台(Dify)... docker run -d --name 智能工作流 -p 3000:3000 -v "!DATA_DIR!\工作流数据":/app/data -e DATABASE_URL=file:///app/data/dify.db -e OLLAMA_API_BASE=http://host.docker.internal:11434 -e MODEL_PROVIDER=ollama chatchat/oneclick:latest echo ✅ 地质应用部署完成 timeout /t 2 /nobreak >nul REM =============== 第六步:安装地质工具箱 =============== echo [6/8] 正在安装地质专用工具箱... echo 步骤1:配置Python环境... "!APPS_DIR!\Python\python.exe" -m pip install --upgrade pip "!APPS_DIR!\Python\python.exe" -m pip install docxtpl requests python-docx pandas echo 步骤2:添加报告生成工具... ( echo from docxtpl import DocxTemplate echo import os echo import datetime echo. echo def 生成报告(模板名称, 项目数据): echo try: echo 项目数据['生成日期'] = datetime.datetime.now().strftime('%%Y年%%m月%%d日') echo doc = DocxTemplate(f"!REPORTS_DIR!\模板\{模板名称}") echo doc.render(项目数据) echo 输出文件 = f"!REPORTS_DIR!\输出\{项目数据.get('项目名称','地质报告')}_{datetime.datetime.now().strftime('%%Y%%m%%d_%%H%%M')}.docx" echo doc.save(输出文件) echo print(f"报告已生成: {输出文件}") echo return 输出文件 echo except Exception as e: echo print(f"报告生成失败: {str(e)}") echo return None ) > "!BASE_DIR!\工具箱\报告生成器.py" echo 步骤3:添加示例报告模板... ( echo 项目名称: {{项目名称}} echo 勘探地点: {{勘探地点}} echo 生成日期: {{生成日期}} echo. echo # 地质概况 echo {{地质概况}} echo. echo # 矿产发现 echo {{矿产发现}} echo. echo # 结论与建议 echo {{结论建议}} ) > "!REPORTS_DIR!\模板\地质报告模板.docx" echo ✅ 地质工具箱安装完成 timeout /t 2 /nobreak >nul REM =============== 第七步:创建桌面快捷方式 =============== echo [7/8] 正在创建桌面快捷方式... set "DESKTOP=%USERPROFILE%\Desktop" echo [地质AI工具箱] > "!DESKTOP!\地质AI工具箱.url" echo URL="!BASE_DIR!" >> "!DESKTOP!\地质AI工具箱.url" echo IconIndex=0 >> "!DESKTOP!\地质AI工具箱.url" echo IconFile=shell32.dll >> "!DESKTOP!\地质AI工具箱.url" echo [地质知识库] > "!DESKTOP!\地质知识库.url" echo URL=http://localhost:8080 >> "!DESKTOP!\地质知识库.url" echo [智能工作流] > "!DESKTOP!\智能工作流.url" echo URL=http://localhost:3000 >> "!DESKTOP!\智能工作流.url" echo ✅ 快捷方式创建完成 timeout /t 1 /nobreak >nul REM =============== 第八步:完成安装 =============== echo [8/8] 安装完成! echo. echo ================================================================ echo 🎉 地质AI工具箱安装成功! echo ================================================================ echo. echo 已创建以下桌面快捷方式: echo 1. [地质AI工具箱] - 软件主目录 echo 2. [地质知识库] - 地质专业知识库系统 echo 3. [智能工作流] - AI智能工作流平台 echo. echo 使用说明: echo - 首次使用请等待5-10分钟让系统完全启动 echo - 知识库系统账号: 地质AI/ai123456 echo - 工作流平台首次使用请按向导配置 echo. echo ================================================================ echo. REM 自动打开主目录 explorer "!BASE_DIR!" pause

filetype

@echo off setlocal enabledelayedexpansion echo. echo ******************************************************* echo * * echo * 地质AI工作流小白一键部署工具 v1.0 * echo * * echo ******************************************************* echo. echo 说明:本工具将自动安装地质AI所需的所有软件和环境 echo 注意:请全程保持网络连接,部署过程约15-30分钟 echo. REM 1. 管理员权限验证 echo [步骤1/12] 验证管理员权限... net session >nul 2>&1 if %errorLevel% neq 0 ( echo 正在请求管理员权限... powershell -Command "Start-Process -FilePath '%~s0' -Verb RunAs" exit /b ) REM 2. 选择安装位置 echo [步骤2/12] 选择安装位置... set default_path=D:\AI_Studio set /p install_path="请输入安装路径(默认 %default_path%): " if "!install_path!"=="" set install_path=%default_path% echo 安装路径: !install_path! mkdir "!install_path!" 2>nul REM 3. 创建日志文件 echo 部署开始时间: %date% %time% > "!install_path!\install_log.txt" REM 4. 创建目录结构 echo [步骤3/12] 创建目录结构... mkdir "!install_path!\apps" 2>nul mkdir "!install_path!\data" 2>nul mkdir "!install_path!\data\models" 2>nul mkdir "!install_path!\data\ragflow_data" 2>nul mkdir "!install_path!\data\dify_data" 2>nul mkdir "!install_path!\data\docker" 2>nul mkdir "!install_path!\data\reports" 2>nul mkdir "!install_path!\data\reports\templates" 2>nul mkdir "!install_path!\data\reports\output" 2>nul mkdir "!install_path!\installer" 2>nul mkdir "!install_path!\scripts" 2>nul REM 5. 安装必要运行库 echo [步骤4/12] 安装系统运行库(大约1分钟)... if not exist "!install_path!\installer\vc_redist.x64.exe" ( echo 正在下载VC++运行库... powershell -Command "Invoke-WebRequest -Uri 'https://aka.ms/vs/17/release/vc_redist.x64.exe' -OutFile '!install_path!\installer\vc_redist.x64.exe'" >> "!install_path!\install_log.txt" 2>&1 ) start /wait "" "!install_path!\installer\vc_redist.x64.exe" /install /quiet /norestart >> "!install_path!\install_log.txt" 2>&1 REM 6. 启用WSL2 echo [步骤5/12] 配置Linux子系统(大约3分钟)... dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart >> "!install_path!\install_log.txt" 2>&1 dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart >> "!install_path!\install_log.txt" 2>&1 wsl --set-default-version 2 >> "!install_path!\install_log.txt" 2>&1 wsl --install -d Ubuntu >> "!install_path!\install_log.txt" 2>&1 echo 系统将打开Ubuntu安装窗口,请按提示设置用户名和密码... echo 完成后请关闭Ubuntu窗口继续安装... timeout /t 300 /nobreak echo 等待用户完成Ubuntu设置... >> "!install_path!\install_log.txt" REM 7. 安装Docker Desktop echo [步骤6/12] 安装Docker(大约5分钟)... if not exist "!install_path!\installer\Docker Desktop Installer.exe" ( echo 正在下载Docker... powershell -Command "Invoke-WebRequest -Uri 'https://desktop.docker.com/win/main/amd64/Docker%20Desktop%20Installer.exe' -OutFile '!install_path!\installer\Docker Desktop Installer.exe'" >> "!install_path!\install_log.txt" 2>&1 ) start /wait "" "!install_path!\installer\Docker Desktop Installer.exe" install --quiet >> "!install_path!\install_log.txt" 2>&1 timeout /t 30 /nobreak >nul echo 配置Docker数据存储位置... if not exist "%USERPROFILE%\.docker" mkdir "%USERPROFILE%\.docker" ( echo { echo "data-root": "!install_path:/=\!/data/docker" echo } ) > "%USERPROFILE%\.docker\daemon.json" REM 8. 安装Python echo [步骤7/12] 安装Python(大约2分钟)... if not exist "!install_path!\installer\python-3.11.9-amd64.exe" ( echo 正在下载Python... powershell -Command "Invoke-WebRequest -Uri 'https://www.python.org/ftp/python/3.11.9/python-3.11.9-amd64.exe' -OutFile '!install_path!\installer\python-3.11.9-amd64.exe'" >> "!install_path!\install_log.txt" 2>&1 ) echo 正在安装Python... start /wait "" "!install_path!\installer\python-3.11.9-amd64.exe" /passive InstallAllUsers=0 TargetDir="!install_path!\apps\python" Include_launcher=0 PrependPath=1 >> "!install_path!\install_log.txt" 2>&1 REM 9. 配置Python环境 echo [步骤8/12] 配置Python环境(大约3分钟)... set PYTHON_PATH=!install_path!\apps\python set PATH=%PATH%;!PYTHON_PATH!;!PYTHON_PATH!\Scripts echo 正在更新pip... "!PYTHON_PATH!\python.exe" -m pip install --upgrade pip >> "!install_path!\install_log.txt" 2>&1 echo 正在安装地质分析所需的Python库... "!PYTHON_PATH!\python.exe" -m pip install docxtpl requests python-docx pandas flask langchain -i https://pypi.tuna.tsinghua.edu.cn/simple >> "!install_path!\install_log.txt" 2>&1 REM 10. 安装Ollama echo [步骤9/12] 安装AI模型引擎(大约2分钟)... if not exist "!install_path!\installer\OllamaSetup.exe" ( echo 正在下载Ollama... powershell -Command "Invoke-WebRequest -Uri 'https://ollama.com/download/OllamaSetup.exe' -OutFile '!install_path!\installer\OllamaSetup.exe'" >> "!install_path!\install_log.txt" 2>&1 ) start /wait "" "!install_path!\installer\OllamaSetup.exe" /S /Dir=!install_path!\apps\ollama >> "!install_path!\install_log.txt" 2>&1 REM 11. 部署报告生成系统 echo [步骤10/12] 部署地质报告生成系统... ( echo from docxtpl import DocxTemplate echo import os echo import json echo from datetime import datetime echo. echo REPORT_TEMPLATES = r"!install_path!\data\reports\templates" echo REPORT_OUTPUT = r"!install_path!\data\reports\output" echo. echo def generate_report(template_name, context): echo try: echo context['generated_date'] = datetime.now().strftime('%%Y-%%m-%%d %%H:%%M:%%S') echo template_path = os.path.join(REPORT_TEMPLATES, template_name) echo if not os.path.exists(template_path): echo raise FileNotFoundError(f"模板文件不存在: {template_path}") echo doc = DocxTemplate(template_path) echo doc.render(context) echo output_name = f"{context.get('project', 'report')}_{datetime.now().strftime('%%Y%%m%%d_%%H%%M')}.docx" echo output_path = os.path.join(REPORT_OUTPUT, output_name) echo doc.save(output_path) echo print(f"报告生成成功: {output_path}") echo return output_path echo except Exception as e: echo print(f"报告生成失败: {str(e)}") echo return None ) > "!install_path!\scripts\generate_report.py" ( echo [项目名称]: {{project}} echo [勘查地点]: {{location}} echo [生成时间]: {{generated_date}} echo. echo ### 地质概况 echo {{geology_overview}} echo. echo ### 矿产发现 echo {{mineral_findings}} echo. echo ### 结论与建议 echo {{conclusion}} ) > "!install_path!\data\reports\templates\地质报告模板.docx" REM 12. 启动AI服务容器 echo [步骤11/12] 启动AI服务(大约5分钟)... echo 等待Docker服务启动... timeout /t 60 /nobreak >nul echo 正在启动Ollama(地质模型服务)... docker run -d --name ollama -p 11434:11434 -v !install_path!/data/models:/root/.ollama --restart always infiniflow/ollama:latest >> "!install_path!\install_log.txt" 2>&1 echo 正在启动RAGFlow(地质知识库)... docker run -d --name ragflow -p 8080:8080 -v !install_path!/data/ragflow_data:/data -e LOCAL_MODE=1 -e MODEL_PROVIDER=ollama -e OLLAMA_BASE_URL=http://host.docker.internal:11434 -e DEFAULT_VICUNA_MODEL=llama3 infiniflow/ragflow:latest >> "!install_path!\install_log.txt" 2>&1 echo 正在启动Dify(地质工作流平台)... docker run -d --name dify -p 3000:3000 -v !install_path!/data/dify_data:/app/data -e DATABASE_URL=file:///app/data/dify.db -e OLLAMA_API_BASE=http://host.docker.internal:11434 -e MODEL_PROVIDER=ollama chatchat/oneclick:latest >> "!install_path!\install_log.txt" 2>&1 REM 13. 下载预训练地质模型 echo [步骤12/12] 下载地质专业模型(大约10分钟,取决于网速)... echo 正在下载地质专业模型... docker exec ollama ollama pull geollama >> "!install_path!\install_log.txt" 2>&1 REM 完成提示 echo. echo ===================================================== echo 地质AI工作流部署成功! echo ===================================================== echo. echo 访问以下服务: echo 1. 地质知识库(RAGFlow): http://localhost:8080 echo 2. 地质工作流平台(Dify): http://localhost:3000 echo. echo 报告生成脚本位置: !install_path!\scripts\generate_report.py echo 报告模板位置: !install_path!\data\reports\templates echo. echo 安装日志: !install_path!\install_log.txt echo ===================================================== echo. REM 创建快捷方式 echo 创建桌面快捷方式... powershell -Command "$WshShell = New-Object -ComObject WScript.Shell; $Shortcut = $WshShell.CreateShortcut('%USERPROFILE%\Desktop\地质AI工作流.lnk'); $Shortcut.TargetPath = 'explorer.exe'; $Shortcut.Arguments = 'http://localhost:3000'; $Shortcut.IconLocation = 'shell32.dll,1'; $Shortcut.Description = '地质AI工作流平台'; $Shortcut.Save()" echo 创建地质报告生成快捷方式... powershell -Command "$WshShell = New-Object -ComObject WScript.Shell; $Shortcut = $WshShell.CreateShortcut('%USERPROFILE%\Desktop\地质报告生成.lnk'); $Shortcut.TargetPath = 'explorer.exe'; $Shortcut.Arguments = '!install_path!\data\reports\templates'; $Shortcut.IconLocation = 'shell32.dll,2'; $Shortcut.Description = '地质报告模板目录'; $Shortcut.Save()" echo 部署完成时间: %date% %time% >> "!install_path!\install_log.txt" pause 这个部署方案,部署完成ollama安装后就闪退,

filetype

非常好!我们将在前文的基础上,**重新整理一套完整、清晰、适合地质行业电脑小白用户的 AI 工作流部署方案**。该方案将基于: - **Windows 11 + WSL2** - **Docker Desktop(Linux 容器模式)** - **Ollama(本地大模型)** - **RAGFlow(文档知识库 + 向量检索)** - **Dify(可视化 AI 工作流)** - **Python 脚本(自动生成 Word 报告)** --- ## 📁 部署目标结构 ``` D:\AI_Studio\ ├── apps\ # 所有应用程序安装目录 │ ├── docker\ # Docker Desktop 安装路径 │ ├── python\ # Python 安装路径 │ └── ollama\ # Ollama 原生可执行文件(备选) │ ├── data\ # 数据存储目录 │ ├── models\ # 模型缓存(如 Ollama 模型) │ ├── ragflow_data\ # RAGFlow 数据目录 │ ├── dify_data\ # Dify 数据目录 │ ├── docker\ # Docker 数据卷 │ └── reports\ # Word 报告模板与输出 │ ├── templates\ # Word 模板 │ └── output\ # 自动生成的报告 │ ├── installer\ # 安装包统一存放目录 │ ├── Docker Desktop Installer.exe │ ├── ollama-windows-amd64.exe │ └── python-3.11.9-amd64.exe │ └── scripts\ # 自定义脚本目录 └── generate_report.py # 自动生成 Word 报告的 Python 脚本 ``` --- ## 🔧 第一步:准备系统环境 ### ✅ 1. 启用 WSL2(无需手动安装 Ubuntu) 以管理员身份打开 PowerShell: ```powershell # 启用 WSL 功能并安装默认发行版(Ubuntu) wsl --install # 设置默认版本为 WSL2 wsl --set-default-version 2 # 查看已安装的发行版 wsl --list --verbose ``` > ⚠️ 如果未自动安装 Ubuntu,运行: ```powershell wsl --install -d Ubuntu ``` 安装完成后设置用户名和密码。 --- ## 🐳 第二步:安装 Docker Desktop(集成 WSL2) ### ✅ 1. 下载安装包 放入: ``` D:\AI_Studio\installer\Docker%20Desktop%20Installer.exe ``` ### ✅ 2. 安装 Docker Desktop 双击运行安装程序,并选择安装路径为: ``` D:\AI_Studio\apps\docker ``` > 💡 如果安装程序不支持更改路径,可以先安装到默认位置,再移动文件夹并创建软链接。 ### ✅ 3. 设置 Docker 数据卷路径 编辑或新建配置文件: ``` C:\ProgramData\Docker\config\daemon.json ``` 写入内容: ```json { "data-root": "D:/AI_Studio/data/docker" } ``` 重启 Docker 服务生效。 ### ✅ 4. 切换容器类型为 Linux 模式 右键任务栏 Docker Desktop 图标 → Switch to Linux containers --- ## 🧠 第三步:安装 Ollama(推荐使用 Docker 模式) ### ✅ 方法一:使用 Docker 运行 Ollama(推荐) ```powershell docker run -d -p 11434:11434 -v D:/AI_Studio/data/models:/root/.ollama infiniflow/ollama:latest ``` 拉取模型: ```powershell ollama pull llama3 ``` ### ✅ 方法二:使用原生 Windows 版本(备选) 将下载好的 `ollama-windows-amd64.exe` 放入: ``` D:\AI_Studio\apps\ollama ``` 重命名为 `ollama.exe`,并在 PowerShell 中运行: ```powershell cd D:\AI_Studio\apps\ollama .\ollama.exe serve ``` --- ## 📚 第四步:部署 RAGFlow(基于 Docker) ```powershell mkdir D:\AI_Studio\data\ragflow_data docker run -d ` --name ragflow ` -p 8080:8080 ` -v D:/AI_Studio/data/ragflow_data:/data ` -e LOCAL_MODE=1 ` -e MODEL_PROVIDER=ollama ` -e OLLAMA_BASE_URL=http://host.docker.internal:11434 ` -e DEFAULT_VICUNA_MODEL=llama3 ` infiniflow/ragflow:latest ``` 访问: ``` http://localhost:8080 ``` --- ## 🔧 第五步:部署 Dify(基于 Docker) ```powershell mkdir D:\AI_Studio\data\dify_data docker run -d ` --name dify ` -p 3000:3000 ` -v D:/AI_Studio/data/dify_data:/app/data ` -e DATABASE_URL=file:///app/data/dify.db ` -e OLLAMA_API_BASE=http://host.docker.internal:11434 ` -e MODEL_PROVIDER=ollama ` chatchat/oneclick:latest ``` 访问: ``` http://localhost:3000 ``` --- ## 🐍 第六步:安装 Python(用于自动化脚本) ### ✅ 安装建议版本:Python 3.11.x 下载地址: 🔗 [https://www.python.org/downloads/windows/](https://www.python.org/downloads/windows/) 安装时请勾选: - ✅ Add Python to PATH(添加到系统环境变量) 修改安装路径为: ``` D:\AI_Studio\apps\python ``` ### ✅ 安装常用库 ```powershell pip install docxtpl requests python-docx pandas flask langchain ``` --- ## 📝 第七步:编写自动化生成 Word 报告脚本 保存路径:`D:\AI_Studio\scripts\generate_report.py` ```python from docxtpl import DocxTemplate import os def generate_report(template_name, context): template_path = os.path.join("D:\\AI_Studio\\data\\reports\\templates", template_name) doc = DocxTemplate(template_path) doc.render(context) output_path = os.path.join("D:\\AI_Studio\\data\\reports\\output", f"report_{context['project']}.docx") doc.save(output_path) print(f"Report saved to {output_path}") # 示例调用 generate_report( "geology_template.docx", { "project": "某矿区勘探项目", "location": "新疆某地", "conclusion": "发现高品位铜矿带" } ) ``` --- ## 🔁 第八步:整合工作流(RAGFlow + Dify + Python 报告生成) 你可以通过 Dify 构建如下 AI 工作流: 1. 用户上传 PDF 地质资料 2. Dify 调用 RAGFlow 提取关键信息(如构造、岩性、矿体等) 3. 输出结构化 JSON 数据 4. 传入 Python 脚本填充 Word 模板 5. 自动生成 Word 报告并归档至指定路径 --- ## ✅ 总结部署步骤一览表 | 步骤 | 操作说明 | |------|----------| | 1 | 创建完整目录结构:`installer`, `apps`, `data`, `scripts` | | 2 | 启用 WSL2 并安装 Ubuntu 子系统 | | 3 | 安装 Docker Desktop 到 `D:\AI_Studio\apps\docker` | | 4 | 设置 Docker 数据卷路径为 `D:\AI_Studio\data\docker` | | 5 | 使用 Docker 安装并运行 Ollama | | 6 | 设置 Ollama 模型缓存路径为 `D:\AI_Studio\data\models` | | 7 | 使用 Docker 部署 RAGFlow 到 `D:\AI_Studio\data\ragflow_data` | | 8 | 使用 Docker 部署 Dify 到 `D:\AI_Studio\data\dify_data` | | 9 | 安装 Python 到 `D:\AI_Studio\apps\python` | | 10 | 编写 Python 脚本实现 Word 报告自动生成 | | 11 | 使用 Dify 构建 AI 工作流,整合 RAGFlow 和 Word 生成模块 | --- 分析完善以上部署方案

资源评论
用户头像
臭人鹏
2025.06.28
尽管JavaScript缺乏尾部调用优化,但Mineral.js仍然提供了流利的控制结构。
用户头像
点墨楼
2025.06.25
Mineral.js提供了一个在浏览器中运行Lisp环境的全新体验。
用户头像
耄先森吖
2025.06.03
适合喜欢函数式编程和Lisp语法的开发者。
用户头像
玛卡库克
2025.05.26
Mineral.js的句法糖和lambda函数简化了函数定义过程。
用户头像
石悦
2025.04.14
Mineral.js的原语和特有函数使开发更灵活。
用户头像
江水流春去
2025.04.11
受Clojure启发的语法,易于上手。
YuanAndy
  • 粉丝: 41
上传资源 快速赚钱