{
  "cells": [
    {
      "cell_type": "markdown",
      "metadata": {},
      "source": [
        "# Kaggle 环境检查\n",
        "准备笔记配套文件。尚待新的 Kaggle 会话复测。读取 GPU/磁盘信息并请求公开网站，不安装模型。"
      ]
    },
    {
      "cell_type": "code",
      "execution_count": null,
      "metadata": {},
      "outputs": [],
      "source": [
        "import os, shutil, subprocess, urllib.request\n",
        "from pathlib import Path\n",
        "\n",
        "print(\"工作目录:\", Path.cwd())\n",
        "print(\"Kaggle 工作区:\", Path(\"/kaggle/working\").exists())\n",
        "print(\"可用磁盘 GB:\", round(shutil.disk_usage(\".\").free / 1e9, 1))\n",
        "\n",
        "if shutil.which(\"nvidia-smi\"):\n",
        "    result = subprocess.run(\n",
        "        [\"nvidia-smi\", \"--query-gpu=name,memory.total\", \"--format=csv\"],\n",
        "        capture_output=True, text=True, timeout=30\n",
        "    )\n",
        "    print(result.stdout if result.returncode == 0 else result.stderr)\n",
        "else:\n",
        "    print(\"未找到 nvidia-smi，请检查 GPU 设置与会话状态。\")\n",
        "\n",
        "for url in [\"https://ollama.com\", \"https://huggingface.co\"]:\n",
        "    try:\n",
        "        with urllib.request.urlopen(url, timeout=15) as response:\n",
        "            print(url, response.status)\n",
        "    except Exception as exc:\n",
        "        print(url, type(exc).__name__, str(exc))"
      ]
    }
  ],
  "metadata": {
    "kernelspec": {
      "display_name": "Python 3",
      "language": "python",
      "name": "python3"
    },
    "language_info": {
      "name": "python"
    }
  },
  "nbformat": 4,
  "nbformat_minor": 5
}