@echo off
setlocal enabledelayedexpansion

:: 步骤 1：检查Ollama是否安装
echo 正在检查Ollama是否安装...
where ollama >nul 2>nul
if %errorlevel% neq 0 (
    echo [错误] Ollama未安装或未加入PATH环境变量
    echo 请先访问 https://ollama.ai/download 下载安装
    pause
    exit /b 1
)
echo Ollama已安装，继续下一步...

:: 步骤 2：扫描当前目录下的GGUF文件
echo 正在扫描当前目录下的GGUF模型文件...
set file_count=0
for /f "delims=" %%i in ('dir /b *.gguf 2^>nul') do (
    set /a file_count+=1
    set "file_!file_count!=%%i"
)

if %file_count% equ 0 (
    echo [错误] 当前目录未找到任何.gguf文件
    echo 请将模型文件放在同一目录下再运行本脚本
    pause
    exit /b 1
)

:: 步骤 3：显示可用模型列表
echo 发现%file_count%个可用模型：
for /l %%i in (1,1,%file_count%) do (
    echo [%%i] !file_%%i!
)

:: 步骤 4：用户选择模型
:select
set /p "choice=请输入模型编号(1-%file_count%)："
echo 正在验证输入...
set /a "choice=!choice!" 2>nul
if not defined choice (
    echo 请输入数字编号！
    goto select
)
if !choice! lss 1 (
    echo 编号不能小于1！
    goto select
)
if !choice! gtr %file_count% (
    echo 编号不能大于%file_count%！
    goto select
)

:: 获取用户选择的模型文件名
set "selected_file=!file_%choice%!"

:: 步骤 5：获取模型的完整路径
for %%i in ("%cd%\%selected_file%") do set "full_path=%%~fi"
echo 已选择模型：!selected_file!
echo 模型完整路径：!full_path!

:: 检查路径是否有效
if not exist "!full_path!" (
    echo [错误] 模型路径无效，文件不存在！
    pause
    exit /b 1
)

:: 步骤 6：输入模型名称
:input_name
set /p "model_name=请输入模型名称(建议小写字母+下划线)："
if not defined model_name (
    echo 名称不能为空！
    goto input_name
)

:: 步骤 7：生成Modelfile文件
echo 正在生成Modelfile配置文件...


:: 设置变量
set "search=FROM 请替换这一行为模型路径"
set "replace=FROM !full_path!"

del /q Model_install.mf
:: 读取文件内容到一个变量
set "file=Model_install_backup.mf"
for /f "delims=" %%i in ('type "%file%"') do (
    set "line=%%i"
    :: 替换目标行
    if "!line!"=="%search%" (set "line=%replace%")
    echo !line!>>Model_install.mf
)


echo 正在等待加载完成，请稍候...
timeout /t 1 >nul

:: 检查文件是否生成成功
if not exist Model_install.mf (
    echo [错误] 无法生成配置文件！
    echo 可能原因：
    echo 1. 磁盘空间不足
    echo 2. 没有写权限
    pause
    exit /b 1
)
cls
    echo 配置文件生成完毕，已经帮你打开新的命令窗口
    echo 请复制运行以下命令：
echo.

echo -------------------------------------------------------------------
    echo 正在自动运行安装，如果失败请手动运行：ollama create %model_name% -f "%cd%\Model_install.mf"
echo -------------------------------------------------------------------
ollama create %model_name% -f "%cd%\Model_install.mf"
echo.
    echo 等待安装完成后运行下面命令启动模型
echo.
echo -------------------------------------------------------------------
    echo ollama run %model_name%
echo -------------------------------------------------------------------
echo.
:: 完成
echo 即将关闭本窗口
pause