"
],
"text/html": [
"\n",
" \n",
" \n",
"
\n",
" [60/60 05:37, Epoch 6/6]\n",
"
\n",
" \n",
" \n",
" \n",
" | Step | \n",
" Training Loss | \n",
"
\n",
" \n",
" \n",
" \n",
" | 1 | \n",
" 2.152883 | \n",
"
\n",
" \n",
" | 2 | \n",
" 2.022747 | \n",
"
\n",
" \n",
" | 3 | \n",
" 1.767257 | \n",
"
\n",
" \n",
" | 4 | \n",
" 1.552131 | \n",
"
\n",
" \n",
" | 5 | \n",
" 1.428172 | \n",
"
\n",
" \n",
" | 6 | \n",
" 1.220372 | \n",
"
\n",
" \n",
" | 7 | \n",
" 0.998826 | \n",
"
\n",
" \n",
" | 8 | \n",
" 0.852252 | \n",
"
\n",
" \n",
" | 9 | \n",
" 0.714095 | \n",
"
\n",
" \n",
" | 10 | \n",
" 0.550235 | \n",
"
\n",
" \n",
" | 11 | \n",
" 0.452012 | \n",
"
\n",
" \n",
" | 12 | \n",
" 0.370951 | \n",
"
\n",
" \n",
" | 13 | \n",
" 0.339939 | \n",
"
\n",
" \n",
" | 14 | \n",
" 0.312247 | \n",
"
\n",
" \n",
" | 15 | \n",
" 0.291677 | \n",
"
\n",
" \n",
" | 16 | \n",
" 0.283311 | \n",
"
\n",
" \n",
" | 17 | \n",
" 0.266445 | \n",
"
\n",
" \n",
" | 18 | \n",
" 0.257108 | \n",
"
\n",
" \n",
" | 19 | \n",
" 0.246741 | \n",
"
\n",
" \n",
" | 20 | \n",
" 0.237073 | \n",
"
\n",
" \n",
" | 21 | \n",
" 0.231704 | \n",
"
\n",
" \n",
" | 22 | \n",
" 0.226140 | \n",
"
\n",
" \n",
" | 23 | \n",
" 0.223047 | \n",
"
\n",
" \n",
" | 24 | \n",
" 0.209619 | \n",
"
\n",
" \n",
" | 25 | \n",
" 0.206410 | \n",
"
\n",
" \n",
" | 26 | \n",
" 0.188748 | \n",
"
\n",
" \n",
" | 27 | \n",
" 0.193096 | \n",
"
\n",
" \n",
" | 28 | \n",
" 0.196588 | \n",
"
\n",
" \n",
" | 29 | \n",
" 0.202704 | \n",
"
\n",
" \n",
" | 30 | \n",
" 0.176750 | \n",
"
\n",
" \n",
" | 31 | \n",
" 0.177845 | \n",
"
\n",
" \n",
" | 32 | \n",
" 0.178486 | \n",
"
\n",
" \n",
" | 33 | \n",
" 0.169722 | \n",
"
\n",
" \n",
" | 34 | \n",
" 0.168342 | \n",
"
\n",
" \n",
" | 35 | \n",
" 0.168780 | \n",
"
\n",
" \n",
" | 36 | \n",
" 0.168199 | \n",
"
\n",
" \n",
" | 37 | \n",
" 0.158695 | \n",
"
\n",
" \n",
" | 38 | \n",
" 0.163469 | \n",
"
\n",
" \n",
" | 39 | \n",
" 0.156987 | \n",
"
\n",
" \n",
" | 40 | \n",
" 0.164859 | \n",
"
\n",
" \n",
" | 41 | \n",
" 0.150555 | \n",
"
\n",
" \n",
" | 42 | \n",
" 0.156389 | \n",
"
\n",
" \n",
" | 43 | \n",
" 0.136087 | \n",
"
\n",
" \n",
" | 44 | \n",
" 0.154172 | \n",
"
\n",
" \n",
" | 45 | \n",
" 0.151162 | \n",
"
\n",
" \n",
" | 46 | \n",
" 0.144176 | \n",
"
\n",
" \n",
" | 47 | \n",
" 0.138656 | \n",
"
\n",
" \n",
" | 48 | \n",
" 0.140523 | \n",
"
\n",
" \n",
" | 49 | \n",
" 0.140241 | \n",
"
\n",
" \n",
" | 50 | \n",
" 0.142222 | \n",
"
\n",
" \n",
" | 51 | \n",
" 0.136642 | \n",
"
\n",
" \n",
" | 52 | \n",
" 0.128443 | \n",
"
\n",
" \n",
" | 53 | \n",
" 0.136383 | \n",
"
\n",
" \n",
" | 54 | \n",
" 0.136021 | \n",
"
\n",
" \n",
" | 55 | \n",
" 0.141095 | \n",
"
\n",
" \n",
" | 56 | \n",
" 0.131959 | \n",
"
\n",
" \n",
" | 57 | \n",
" 0.134330 | \n",
"
\n",
" \n",
" | 58 | \n",
" 0.140001 | \n",
"
\n",
" \n",
" | 59 | \n",
" 0.134156 | \n",
"
\n",
" \n",
" | 60 | \n",
" 0.133044 | \n",
"
\n",
" \n",
"
"
]
},
"metadata": {}
},
{
"output_type": "stream",
"name": "stderr",
"text": [
"Unsloth: Restored added_tokens_decoder metadata in email-triage-lora-final/checkpoint-60/tokenizer_config.json.\n"
]
},
{
"output_type": "stream",
"name": "stdout",
"text": [
"Training completed! Saving LoRA adapters...\n"
]
},
{
"output_type": "stream",
"name": "stderr",
"text": [
"Unsloth: Restored added_tokens_decoder metadata in email-triage-lora-final/tokenizer_config.json.\n"
]
},
{
"output_type": "stream",
"name": "stdout",
"text": [
"SUCCESS: Model weights saved locally!\n",
"Generating validation plots...\n",
"â
Saved training_loss.png\n",
"â
Saved reward_curve.png\n",
"đ ALL TASKS COMPLETE. Script is ready for judging!\n"
]
},
{
"output_type": "display_data",
"data": {
"text/plain": [
""
],
"image/png": "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9HaXOfM/Fx1Nod36Py09ofVfoFvcddddePvtt7Fo0SKMGzcOYWFhkCQJN910k8MkBh3pzlhcnUpcK0OGDEFWVhb+97//YcOGDfjwww/x8ssvY+nSpVi2bBkA4IYbbsDEiRPx8ccf46uvvsI//vEPPPnkk/joo486PQbNHbqThyzLuOyyy3Dvvfe2e/s555zjcL2911NXObuOzp77ltfqLbfc0uHxeMOHD+92f1t09Dw78/w//vjjePDBB/Hb3/4Wjz76KMxmMwwGAxYtWuTUe85dnH3uu/sZcaaW+7z77ruIjY1tczungSfqWXyHEZHbrFmzBtHR0eqsXq199NFH+Pjjj7Fy5UoEBASgX79+2LJlizo1dIsjR4443K9li4Svr6/TWxec4amTfK5btw7z5s3DM888o7Y1NDSoExNozdkcuvsYWVlZbdozMzPV21sEBQXhxhtvxI033gir1YprrrkGf//737FkyRJ1Cuu4uDjceeeduPPOO1FaWopRo0bh73//u0eKK2d09NoaMGAAampq3PI6btk60UJRFBw5cqRbBc7Znvs+ffogJCQENpvNre/DnrBu3TpMmTIFb775pkN7RUUFoqKiNOpVx5z9jOjXr1+778sz21rOuRcdHe31WRGJiMdcEZFb1NfX46OPPsIVV1yB6667rs1l4cKFqK6uVqdPnz59OpqamvD666+r65BluU1hFh0djcmTJ+PVV19FUVFRm8dtPQ12VwQFBXmkwDEajW22arzwwgttpkPXirM5dMfll1+O3bt3Y+fOnWpbbW0tXnvtNSQnJ6vHpZSVlTncz2QyYejQoVAUBU1NTbDZbG12pYyOjkZ8fDwaGxvVtp6Yir0rOnpt3XDDDdi5cye+/PLLNrdVVFSgubnZ6cd45513UF1drV5ft24dioqKXC4wO3vujUYjrr32Wnz44Yc4cOBAm/u7+j7sCe295z744IM2x2Z6C2c/I6ZPn46dO3di3759apvFYmlzqovp06cjNDQUjz/+OJqamto8njdlRSQibrkiIrf49NNPUV1djV/96lft3n7hhReiT58+WLNmDW688UbMnj0bY8aMwV/+8hccOXIEgwcPxqeffgqLxQLA8a//L730Ei666CKkpaXhtttuQ0pKCkpKSrBz504UFha2OX+NM0aPHo1XXnkFjz32GAYOHIjo6OgOj1HojiuuuALvvvsuwsLCMHToUOzcuRObNm3y6LEfZ9OVHM7mww8/VLdEtTZv3jzcf//9+Pe//42ZM2fi7rvvhtlsxurVq5GTk4MPP/xQnXxg2rRpiI2NxYQJExATE4NDhw7hxRdfxKxZsxASEoKKigr07dsX1113HUaMGIHg4GBs2rQJP/zwg8Nf/bs6FXtzczP+9a9/tXvb1Vdf3aWTQQMdv7b++te/4tNPP8UVV1yBW2+9FaNHj0ZtbS3S09Oxbt065ObmOr1lxWw246KLLsL8+fNRUlKCFStWYODAgQ4Tk3RFZ889YD9Z7pYtWzB27FjcdtttGDp0KCwWC/bu3YtNmzapr5mzOXbsWLvPdXBwMGbPnu1S3890xRVX4JFHHsH8+fMxfvx4pKenY82aNd06Lq8nOfsZce+99+Jf//oXLrvsMtx1113qVOxJSUmwWCzqezU0NBSvvPIKfvOb32DUqFG46aab0KdPH+Tn5+Ozzz7DhAkT8OKLL2oxVKJegcUVEbnFmjVr4O/vj8suu6zd2w0GA2bNmoU1a9agrKwMkZGR+Oyzz/CnP/0Jq1evhsFgwNVXX42HHnoIEyZMUHcBA4ChQ4fixx9/xLJly7Bq1SqUlZUhOjoaI0eOxNKlS13q79KlS5GXl4ennnoK1dXVmDRpUo8UV8899xyMRiPWrFmDhoYGTJgwAZs2berw+DFPMxqNTudwNu0dYwfYZ+676KKLsGPHDtx333144YUX0NDQgOHDh+O///0vZs2apS77hz/8AWvWrMGzzz6Lmpoa9O3bF3fffTf+7//+DwAQGBiIO++8E1999RU++ugjyLKMgQMH4uWXX1bP2+WKxsZG/OY3v2n3tpycnC4XVx29tgIDA7Ft2zY8/vjj+OCDD/DOO+8gNDQU55xzDpYtW4awsDCnH+OBBx7A/v37sXz5clRXV+PSSy/Fyy+/3Ol50zrS2XMP2M/XtXv3bjzyyCP46KOP8PLLLyMyMhLDhg3Dk08+6dTj7Nu3r93nul+/fm4rrh544AHU1tbivffew9q1azFq1Ch89tlnuP/++92yfndz9jMiMTERW7Zswd13343HH38cffr0wYIFCxAUFIS7777b4b168803Iz4+Hk888QT+8Y9/oLGxEQkJCZg4caJTs0cSkeskpaeP8CYi6oL169fj6quvxvbt2x1miSPPYg7eaevWrZgyZQo++OADXHfddVp3h7zAokWL8Oqrr6KmpkZ3k9gQiYjHXBGRZurr6x2u22w2vPDCCwgNDcWoUaM06lXvwxyI9OHM92pZWRneffddXHTRRSysiLwEdwskIs3cddddqK+vx7hx49DY2IiPPvoIO3bswOOPP+6WaajJOcyBSB/GjRuHyZMnY8iQISgpKcGbb76JqqqqDs8BSESex+KKiDRzySWX4JlnnsH//vc/NDQ0YODAgXjhhRewcOFCrbvWqzAHIn24/PLLsW7dOrz22muQJAmjRo3Cm2++iYsvvljrrhHRKTzmioiIiIiIyA00PeZq+fLluOCCCxASEoLo6GjMnj273RNNtvb6669j4sSJiIiIQEREBKZOnYrdu3c7LHPrrbdCkiSHy4wZM3pyKERERERE1MtpWlxt27YNCxYswPfff4+NGzeiqakJ06ZNQ21tbYf32bp1K+bMmYMtW7Zg586dSExMxLRp09qcHHDGjBkoKipSL//+9797ejhERERERNSLedVugSdOnEB0dDS2bdvm9P7DNpsNERERePHFFzF37lwA9i1XFRUVWL9+vVPraGxsRGNjo3pdlmVYLBZERkY6fQJNIiIiIiISj6IoqK6uRnx8vHri+4541YQWlZWVAOxnnndWXV0dmpqa2txn69atiI6ORkREBC655BI89thjbc523mL58uVYtmyZ6x0nIiIiIiKhFRQUoG/fvmddxmu2XMmyjF/96leoqKjA9u3bnb7fnXfeiS+//BIZGRnq2cnff/99BAYGon///jh69CgeeOABBAcHY+fOne2eB+LMLVeVlZVISkpCbm4uQkNDAQCSJMFgMECWZbR+ylrabTabwzo7alcUBQcPHsTgwYMd+tJSBcuy7LB8R+1GoxGKorTbfmYfO2p315gMBgMkSWq3vbeNqampCYcOHcKQIUNgNBqFGJOIObkyJpvNpmZrMpmEGFNn7b1pTLIs49ChQ20+m/U8JhFzcmVMsizjwIED6ueyCGMSMSd+54qbk6tjavnePffccyFJkqZjqqqqQnJyMioqKhAWFoaz8ZotVwsWLMCBAwe6VFg98cQTeP/997F161a1sAKAm266Sf09LS0Nw4cPx4ABA7B161Zceumlbdbj5+cHPz+/Nu0RERFqceUuNpsNcXFxiIiI4An/BGSz2RAfH898BcRsxcbPZnHxvSsu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\n"
},
"metadata": {}
},
{
"output_type": "display_data",
"data": {
"text/plain": [
""
],
"image/png": "iVBORw0KGgoAAAANSUhEUgAAA0kAAAHWCAYAAACi1sL/AAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjAsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvlHJYcgAAAAlwSFlzAAAPYQAAD2EBqD+naQAAT4ZJREFUeJzt3X18T/Xj//Hne7O9N2NbmM0yzHUIhTSRi9ZnISXSBX2YFEU+IZRKijSUi9RQfTSqj4/Sjy4+FTGXfV3kshK5DsVmxK7seuf3x9rxftvIZnPebY/77XZut/M+73PO+/neDttz55zX22YYhiEAAAAAgCTJzeoAAAAAAOBKKEkAAAAA4ICSBAAAAAAOKEkAAAAA4ICSBAAAAAAOKEkAAAAA4ICSBAAAAAAOKEkAAAAA4ICSBAAAAAAOKEkAUA516tRJnTp1Mh//+uuvstlsWrBggWWZyquLvxclyWaz6eWXXy6VfTtau3atbDab1q5day7r1KmTmjVrVuqvLXH8Aih5lCQAfzsLFiyQzWa75LR582arI17W119/XaRfXDt16uT0/ry9vdW8eXPNmjVLubm5pRe0FLz22mv67LPPrmjd/F988yc3NzdVqVJFXbt21aZNm0o3qAuqU6eO09fC399fN954owYPHqwtW7aU2OssWrRIs2bNKrH9lSRXzgagbKlgdQAAKK6JEycqNDS0wPL69etbkObKff3114qOji5SUapZs6aioqIkSadPn9aiRYs0cuRIJSQkaPLkyaWUtOS99tpruv/++9WzZ88r3ubhhx9Wt27dlJOTo/3792vOnDnq3Lmztm7dqhtvvLH0wrqgli1b6plnnpEkJScna+/evVqyZInee+89jRw5UjNmzHBaPy0tTRUqFO1H/aJFi7R7926NGDHiire5/fbblZaWJk9PzyK9VlFdKlvt2rWVlpYmDw+PUn19AOUHJQnA31bXrl3VunVrq2NcsdTUVPn4+BRrWz8/Pz3yyCPm4yeeeEKNGzfWW2+9pYkTJ8rd3b2kYrqcm2++2em9d+jQQV27dtXcuXM1Z84cC5Ndmav5vl/s+uuvd/paSNLUqVPVt29fzZw5Uw0aNNCTTz5pPufl5VUir3sp6enp8vT0lJubW6m/1uXYbDZLXx9A2cPldgDKrAkTJsjNzU2xsbFOywcPHixPT0/98MMPki7cT/Hxxx/r+eefV1BQkHx8fHTPPffo+PHjBfa7ZcsW3XXXXfLz81PFihXVsWNH/d///Z/TOi+//LJsNpv27Nmjvn376rrrrlP79u0VGRmp6OhoSXK6lKyovLy81KZNGyUnJ+vUqVPm8uzsbE2aNEn16tWT3W5XnTp19PzzzysjI6PIryFJq1evVocOHeTj4yN/f3/de++92rt3r9M6kZGRqlOnToFt878G+Ww2m1JTU7Vw4ULzfUdGRhY5U4cOHSRJhw4dclp+7tw5jRgxQiEhIbLb7apfv76mTp3qdEnizTffrF69ejltd+ONN8pms+nHH380l3388cey2Wzmez169KiGDh2qRo0aydvbW1WrVlWfPn3066+/Ou0r/1LQdevWaejQoapevbpq1qxpPv/uu++qXr168vb21i233KINGzYU+f1fzNvbWx9++KGqVKmiyZMnyzAM87mL70lKTk7WiBEjVKdOHdntdlWvXl133nmnduzYISnv0s6vvvpKR48eNb9H+d/b/H8nixcv1osvvqjrr79eFStWVFJSUqH3JOXbvn272rVrJ29vb4WGhmrevHmFfs0u/lpevM/LZbvUPUlXcvzmH6cHDx5UZGSk/P395efnp4EDB+r8+fNX9k0AUOZwJgnA31ZiYqJOnz7ttMxms6lq1aqSpBdffFFffvmlBg0apJ9++kmVK1fWihUr9N5772nSpElq0aKF07aTJ0+WzWbTs88+q1OnTmnWrFkKDw/Xrl275O3tLSnvl66uXbuqVatWZgmLiYlRly5dtGHDBt1yyy1O++zTp48aNGig1157TYZh6KabbtKJEye0cuVKffjhh1f1/vN/MfT39zeXPfbYY1q4cKHuv/9+PfPMM9qyZYuioqK0d+9eLVu2rEj7X7Vqlbp27aq6devq5ZdfVlpamt566y3ddttt2rFjR6HF6HI+/PBDPfbYY7rllls0ePBgSVK9evWKtA9J5i/T1113nbns/Pnz6tixo37//XcNGTJEtWrV0saNGzVu3DidPHnSvI+lQ4cO+u9//2tu98cff+jnn3+Wm5ubNmzYoObNm0uSNmzYoICAAN1www2SpK1bt2rjxo166KGHVLNmTf3666+aO3euOnXqpD179qhixYpOGYcOHaqAgAC99NJLSk1NlSTNnz9fQ4YMUbt27TRixAgdPnxY99xzj6pUqaKQkJAifx0cVapUSffdd5/mz5+vPXv2qGnTpoWu98QTT+jTTz/VU089pSZNmujMmTP67rvvtHfvXt1888164YUXlJiYqN9++00zZ8409+1o0qRJ8vT01OjRo5WRkXHZS+zOnj2rbt266YEHHtDDDz+sTz75RE8++aQ8PT316KOPFuk9Xkk2R0U9fh944AGFhoYqKipKO3bs0L///W9Vr15dU6dOLVJOAGWEAQB/MzExMYakQie73e607k8//WR4enoajz32mHH27Fnj+uuvN1q3bm1kZWWZ66xZs8aQZFx//fVGUlKSufyTTz4xJBlvvvmmYRiGkZubazRo0MCIiIgwcnNzzfXOnz9vhIaGGnfeeae5bMKECYYk4+GHHy6Qf9iwYUZR/vvt2LGj0bhxYyMhIcFISEgwfvnlF2PMmDGGJKN79+7mert27TIkGY899pjT9qNHjzYkGatXr3baZ8eOHc3HR44cMSQZMTEx5rKWLVsa1atXN86cOWMu++GHHww3Nzejf//+5rIBAwYYtWvXLpA7/2vgyMfHxxgwYMAVve/8TK+88oqRkJBgxMXFGRs2bDDatGljSDKWLFlirjtp0iTDx8fH2L9/v9M+nnvuOcPd3d04duyYYRiGsWTJEkOSsWfPHsMwDOOLL74w7Ha7cc899xgPPviguV3z5s2N++67z3x8/vz5Avk2bdpkSDI++OADc1n+sdm+fXsjOzvbXJ6ZmWlUr17daNmypZGRkWEuf/fddw1JTt+LS6ldu7bT9/tiM2fONCQZn3/+ublMkjFhwgTzsZ+fnzFs2LDLvk737t0L/X7m/zupW7duga9H/nNr1qwxl3Xs2NGQZEyfPt1clpGRYR5XmZmZhmFc+JodOXLkL/d5qWxXc/zmH6ePPvqo0z7vu+8+o2rVqgVeC0D5wOV2AP62oqOjtXLlSqfpm2++cVqnWbNmeuWVV/Tvf/9bEREROn36tBYuXFjozez9+/dX5cqVzcf333+/atSooa+//lqStGvXLh04cEB9+/bVmTNndPr0aZ0+fVqpqam64447tH79+gKjzT3xxBMl8l5/+eUXBQQEKCAgQI0bN9brr7+ue+65x+nyovyco0aNcto2/0b/r7766opf7+TJk9q1a5ciIyNVpUoVc3nz5s115513mq91LUyYMEEBAQEKCgpShw4dtHfvXk2fPl3333+/uc6SJUvUoUMHXXfddeb35fTp0woPD1dOTo7Wr18v6cKlevmPN2zYoDZt2ujOO+80L307d+6cdu/eba4ryTyTKElZWVk6c+aM6tevL39/f/NSNUePP/64031i27Zt06lTp/TEE084nXmJjIyUn59fSXyZzLMqycnJl1zH399fW7Zs0YkTJ4r9OgMGDHD6elxOhQoVNGTIEPOxp6enhgwZolOnTmn79u3FzvBXinP8XvxvtUOHDjpz5oySkpJKLScA18XldgD+tm655ZYrGrhhzJgxWrx4sb7//nu99tpratKkSaHrNWjQwOmxzWZT/fr1zcu7Dhw4ICnvl8RLSUxMdLoMrLDR94qjTp06eu+995Sbm6tDhw5p8uTJSkhIcLpZ/ejRo3Jzcyswul9QUJD8/f119OjRK369/HUbNWpU4LkbbrhBK1asKNEBCS5n8ODB6tOnj9LT07V69WrNnj1bOTk5TuscOHBAP/74owICAgrdR/59W4GBgWrQoIE2bNigIUOGaMOGDercubNuv/12DR8+XIcPH9bevXuVm5vrVJLS0tIUFRWlmJgY/f777073/SQmJhZ4vYu/7/lfz4uPMQ8PD9WtW7cIX41LS0lJkSSnon+xadOmacCAAQoJCVGrVq3UrVs39e/fv0gZinJMBwcHFzhGGjZsKCnvsslbb731ivdVFMU5fmvVquW0Xv6/47Nnz8rX17dUcgJwXZQkAGXe4cOHzYLz008/FXs/+WeJXn/9dbVs2bLQdS6+R+JK/+L+V3x8fBQeHm4+vu2223TzzTfr+eef1+zZs53WLc5AEFfjUq93cZEprgYNGpjv/e6775a7u7uee+45de7c2SzJubm5uvPOOzV27NhC95H/i7kktW/fXrGxsUpLS9P27dv10ksvqVmzZvL399eGDRu0d+9eVapUSTfddJO5zfDhwxUTE6MRI0YoLCxMfn5+stlseuihhwr9rKqS+r4Xxe7duyVdfgj8Bx54QB06dNCyZcv07bff6vXXX9fUqVO1dOlSde3a9Ypep6TfW2kfP1fqUiNEOhZiAOUHJQlAmZabm6vIyEj5+vpqxIgR5uf0XDzCmXThTFE+wzB08OBB82b+/EEGfH19nQpLUZVEiWnevLkeeeQRvfPOOxo9erRq1aql2rVrKzc3VwcOHDAHHJCk+Ph4nTt3TrVr177i/eevu2/fvgLP/fLLL6pWrZr5V/jrrrtO586dK7BeYWeuSuK9v/DCC3rvvff04osvavny5ZLyvjcpKSlX9H3p0KGDYmJitHjxYuXk5Khdu3Zyc3NT+/btzZLUrl07p1+aP/30Uw0YMEDTp083l6Wnpxf6vguT//U8cOCAunTpYi7PysrSkSNHCgwiUlQpKSlatmyZQkJCnL73halRo4aGDh2qoUOH6tSpU7r55ps1efJksySVZMk+ceJEgTM2+/fvlyRz4IT8MzYXfy2v5vgpyvELAIXhniQAZdqMGTO0ceNGvfvuu5o0aZLatWunJ598ssCoeJL0wQcfON3P8emnn+rkyZPmL4+tWrVSvXr19MYbb5iXNjlKSEi4okz5v5xd6S/YlzJ27FhlZWWZHyDarVs3STJHcsuX/3z37t2veN81atRQy5YttXDhQqecu3fv1rfffmu+lpRXUBITE52G0D558mSho+n5+Phc9fv29/fXkCFDtGLFCu3atUtS3hmSTZs2acWKFQXWP3funLKzs83H+ZfRTZ06Vc2bNzfvCerQoYNiY2O1bds2p0vtpLyzDBefUXjrrbeu+GxH69atFRAQoHnz5ikzM9NcvmDBgqv+eqSlpemf//yn/vjjD73wwguXPTNz8aWB1atXV3BwsNMQ8T4+PoVeQlgc2dnZeuedd8zHmZmZeueddxQQEKBWrVpJuvDHh/z7xPKzvvvuuwX2d6XZinL8AkBhOJME4G/rm2++0S+//FJgebt27VS3bl3t3btX48ePV2RkpHr06CEp75fSli1baujQofrkk0+ctqtSpYrat2+vgQMHKj4+XrNmzVL9+vX1+OOPS5Lc3Nz073//W127dlXTpk01cOBAXX/99fr999+1Zs0a+fr66ssvv/zL3Pm/HP7rX/9SRESE3N3d9dBDDxX5/Tdp0kTdunXTv//9b40fP14tWrTQgAED9O677+rcuXPq2LGjvv/+ey1cuFA9e/ZU586di7T/119/XV27dlVYWJgGDRpkDqHs5+fn9Nk7Dz30kJ599lndd999+te//qXz589r7ty5atiwYYFBDVq1aqVVq1ZpxowZCg4OVmhoqNq2bVvk9/70009r1qxZmjJlihYvXqwxY8boiy++0N13363IyEi1atVKqamp+umnn/Tpp5/q119/VbVq1STlXY4WFBSkffv2afjw4eY+b7/9dj37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LruezfirNSx04sQJXX/99dq4caPCwsLM5WPHjtW6deu0ZcuWAtu8/PLLeuWVV65lTAAAAAB/I8ePH1fNmjUv+bxLn0kqjnHjxmnUqFHm49zcXP3xxx+qWrWqbDZbqb9+UlKSQkJCdPz4cfn6+pb66wFXimMTrojjEq6I4xKuiOOyZBiGoeTkZAUHB192PZcuSdWqVZO7u7vi4+OdlsfHxysoKKjQbex2u+x2u9Myf3//0op4Sb6+vhzAcEkcm3BFHJdwRRyXcEUcl1fPz8/vL9dx6YEbPD091apVK8XGxprLcnNzFRsb63T5HQAAAACUFJc+kyRJo0aN0oABA9S6dWvdcsstmjVrllJTUzVw4ECrowEAAAAog1y+JD344INKSEjQSy+9pLi4OLVs2VLLly9XYGCg1dEKZbfbNWHChAKX/AFW49iEK+K4hCviuIQr4ri8tlx6dDsAAAAAuNZc+p4kAAAAALjWKEkAAAAA4ICSBAAAAAAOKEkAAAAA4ICSVAImT56sdu3aqWLFilf8wbWGYeill15SjRo15O3trfDwcB04cKB0g6Jc+eOPP9SvXz/5+vrK399fgwYNUkpKymW36dSpk2w2m9P0xBNPXKPEKKuio6NVp04deXl5qW3btvr+++8vu/6SJUvUuHFjeXl56cYbb9TXX399jZKiPCnKcblgwYIC/zd6eXldw7QoD9avX68ePXooODhYNptNn3322V9us3btWt18882y2+2qX7++FixYUOo5ywtKUgnIzMxUnz599OSTT17xNtOmTdPs2bM1b948bdmyRT4+PoqIiFB6enopJkV50q9fP/38889auXKl/ve//2n9+vUaPHjwX273+OOP6+TJk+Y0bdq0a5AWZdXHH3+sUaNGacKECdqxY4datGihiIgInTp1qtD1N27cqIcffliDBg3Szp071bNnT/Xs2VO7d+++xslRlhX1uJQkX19fp/8bjx49eg0TozxITU1VixYtFB0dfUXrHzlyRN27d1fnzp21a9cujRgxQo899phWrFhRyknLCQMlJiYmxvDz8/vL9XJzc42goCDj9ddfN5edO3fOsNvtxn//+99STIjyYs+ePYYkY+vWreayb775xrDZbMbvv/9+ye06duxoPP3009cgIcqLW265xRg2bJj5OCcnxwgODjaioqIKXf+BBx4wunfv7rSsbdu2xpAhQ0o1J8qXoh6XV/rzHSgpkoxly5Zddp2xY8caTZs2dVr24IMPGhEREaWYrPzgTJIFjhw5ori4OIWHh5vL/Pz81LZtW23atMnCZCgrNm3aJH9/f7Vu3dpcFh4eLjc3N23ZsuWy2/7nP/9RtWrV1KxZM40bN07nz58v7bgoozIzM7V9+3an/+vc3NwUHh5+yf/rNm3a5LS+JEVERPB/I0pMcY5LSUpJSVHt2rUVEhKie++9Vz///PO1iAtcEv9flq4KVgcoj+Li4iRJgYGBTssDAwPN54CrERcXp+rVqzstq1ChgqpUqXLZY6xv376qXbu2goOD9eOPP+rZZ5/Vvn37tHTp0tKOjDLo9OnTysnJKfT/ul9++aXQbeLi4vi/EaWqOMdlo0aN9P7776t58+ZKTEzUG2+8oXbt2unnn39WzZo1r0VsoIBL/X+ZlJSktLQ0eXt7W5SsbOBM0iU899xzBW7SvHi61H+mQGkp7eNy8ODBioiI0I033qh+/frpgw8+0LJly3To0KESfBcA8PcSFham/v37q2XLlurYsaOWLl2qgIAAvfPOO1ZHA1BKOJN0Cc8884wiIyMvu07dunWLte+goCBJUnx8vGrUqGEuj4+PV8uWLYu1T5QPV3pcBgUFFbgBOTs7W3/88Yd5/F2Jtm3bSpIOHjyoevXqFTkvyrdq1arJ3d1d8fHxTsvj4+MveRwGBQUVaX2gqIpzXF7Mw8NDN910kw4ePFgaEYErcqn/L319fTmLVAIoSZcQEBCggICAUtl3aGiogoKCFBsba5aipKQkbdmypUgj5KH8udLjMiwsTOfOndP27dvVqlUrSdLq1auVm5trFp8rsWvXLklyKvPAlfL09FSrVq0UGxurnj17SpJyc3MVGxurp556qtBtwsLCFBsbqxEjRpjLVq5cqbCwsGuQGOVBcY7Li+Xk5Oinn35St27dSjEpcHlhYWEFPiKB/y9LkNUjR5QFR48eNXbu3Gm88sorRqVKlYydO3caO3fuNJKTk811GjVqZCxdutR8PGXKFMPf39/4/PPPjR9//NG49957jdDQUCMtLc2Kt4Ay6K677jJuuukmY8uWLcZ3331nNGjQwHj44YfN53/77TejUaNGxpYtWwzDMIyDBw8aEydONLZt22YcOXLE+Pzzz426desat99+u1VvAWXA4sWLDbvdbixYsMDYs2ePMXjwYMPf39+Ii4szDMMw/vnPfxrPPfecuf7//d//GRUqVDDeeOMNY+/evcaECRMMDw8P46effrLqLaAMKupx+corrxgrVqwwDh06ZGzfvt146KGHDC8vL+Pnn3+26i2gDEpOTjZ/h5RkzJgxw9i5c6dx9OhRwzAM47nnnjP++c9/musfPnzYqFixojFmzBhj7969RnR0tOHu7m4sX77cqrdQplCSSsCAAQMMSQWmNWvWmOtIMmJiYszHubm5xvjx443AwEDDbrcbd9xxh7Fv375rHx5l1pkzZ4yHH37YqFSpkuHr62sMHDjQqbgfOXLE6Tg9duyYcfvttxtVqlQx7Ha7Ub9+fWPMmDFGYmKiRe8AZcVbb71l1KpVy/D09DRuueUWY/PmzeZzHTt2NAYMGOC0/ieffGI0bNjQ8PT0NJo2bWp89dVX1zgxyoOiHJcjRoww1w0MDDS6detm7Nixw4LUKMvWrFlT6O+T+cfigAEDjI4dOxbYpmXLloanp6dRt25dp981cXVshmEYlpzCAgAAAAAXxOh2AAAAAOCAkgQAAAAADihJAAAAAOCAkgQAAAAADihJAAAAAOCAkgQAAAAADihJAAAAAOCAkgQAAAAADihJAIBypVOnThoxYkSpvsbLL7+sli1bluprAABKDyUJAFAkkZGRstlsstls8vDwUGhoqMaOHav09HSro1216dOn67rrriv0vZw/f16+vr6aPXu2BckAANcSJQkAUGR33XWXTp48qcOHD2vmzJl65513NGHCBKtjmQzDUHZ2dpG3++c//6nU1FQtXbq0wHOffvqpMjMz9cgjj5RERACAC6MkAQCKzG63KygoSCEhIerZs6fCw8O1cuVK8/nc3FxFRUUpNDRU3t7eatGihT799FPz+datW+uNN94wH/fs2VMeHh5KSUmRJP3222+y2Ww6ePCgJOnDDz9U69atVblyZQUFBalv3746deqUuf3atWtls9n0zTffqFWrVrLb7fruu++Umpqq/v37q1KlSqpRo4amT59+2fdVvXp19ejRQ++//36B595//3317NlTVapU0bPPPquGDRuqYsWKqlu3rsaPH6+srKxL7rewS/x69uypyMhI83FGRoZGjx6t66+/Xj4+Pmrbtq3Wrl172bwAgNJBSQIAXJXdu3dr48aN8vT0NJdFRUXpgw8+0Lx58/Tzzz9r5MiReuSRR7Ru3TpJUseOHc0CYBiGNmzYIH9/f3333XeSpHXr1un6669X/fr1JUlZWVmaNGmSfvjhB3322Wf69ddfnQpGvueee05TpkzR3r171bx5c40ZM0br1q3T559/rm+//VZr167Vjh07Lvt+Bg0apNWrV+vo0aPmssOHD2v9+vUaNGiQJKly5cpasGCB9uzZozfffFPvvfeeZs6cWeyvoSQ99dRT2rRpkxYvXqwff/xRffr00V133aUDBw5c1X4BAEVXweoAAIC/n//973+qVKmSsrOzlZGRITc3N7399tuS8s6IvPbaa1q1apXCwsIkSXXr1tV3332nd955Rx07dlSnTp00f/585eTkaPfu3fL09NSDDz6otWvX6q677tLatWvVsWNH8/UeffRRc75u3bqaPXu22rRpo5SUFFWqVMl8buLEibrzzjslSSkpKZo/f74++ugj3XHHHZKkhQsXqmbNmpd9bxEREQoODlZMTIxefvllSdKCBQsUEhJi7ufFF180169Tp45Gjx6txYsXa+zYscX6eh47dkwxMTE6duyYgoODJUmjR4/W8uXLFRMTo9dee61Y+wUAFA8lCQBQZJ07d9bcuXOVmpqqmTNnqkKFCurdu7ck6eDBgzp//rxZVvJlZmbqpptukiR16NBBycnJ2rlzpzZu3GgWpylTpkjKO5M0ZswYc9vt27fr5Zdf1g8//KCzZ88qNzdXUl65aNKkible69atzflDhw4pMzNTbdu2NZdVqVJFjRo1uux7c3d314ABA7RgwQJNmDBBhmFo4cKFGjhwoNzc8i7A+PjjjzV79mwdOnRIKSkpys7Olq+vb5G/jvl++ukn5eTkqGHDhk7LMzIyVLVq1WLvFwBQPJQkAECR+fj4mJfCvf/++2rRooXmz5+vQYMGmfcVffXVV7r++uudtrPb7ZIkf39/tWjRQmvXrtWmTZt055136vbbb9eDDz6o/fv368CBA+aZpNTUVEVERCgiIkL/+c9/FBAQoGPHjikiIkKZmZkFcpWERx99VFFRUVq9erVyc3N1/PhxDRw4UJK0adMm9evXT6+88ooiIiLk5+enxYsXX/Z+Jzc3NxmG4bTM8R6mlJQUubu7a/v27XJ3d3daz/FMGQDg2qAkAQCuipubm55//nmNGjVKffv2VZMmTWS323Xs2DGnS+Yu1rFjR61Zs0bff/+9Jk+erCpVquiGG27Q5MmTVaNGDfOsyi+//KIzZ85oypQpCgkJkSRt27btL3PVq1dPHh4e2rJli2rVqiVJOnv2rPbv33/ZXPnbduzYUe+//74Mw1B4eLhq164tSdq4caNq166tF154wVzf8f6lwgQEBOjkyZPm4/zLDDt37ixJuummm5STk6NTp06pQ4cOf/neAACli4EbAABXrU+fPnJ3d1d0dLQqV66s0aNHa+TIkVq4cKEOHTqkHTt26K233tLChQvNbTp16qQVK1aoQoUKaty4sbnsP//5j1OJqVWrljw9PfXWW2/p8OHD+uKLLzRp0qS/zFSpUiUNGjRIY8aM0erVq7V7925FRkaal8z9lUGDBmnp0qVatmyZOWCDJDVo0EDHjh3T4sWLdejQIc2ePVvLli277L66dOmir776Sl999ZV++eUXPfnkkzp37pz5fMOGDdWvXz/1799fS5cu1ZEjR/T9998rKipKX3311RXlBQCUHEoSAOCqVahQQU899ZSmTZum1NRUTZo0SePHj1dUVJRuuOEG3XXXXfrqq68UGhpqbtOhQwfl5uY6FaJOnTopJydHnTp1MpcFBARowYIFWrJkiZo0aaIpU6Y4DR9+Oa+//ro6dOigHj16KDw8XO3bt1erVq2uaNvevXvLbrerYsWK6tmzp7n8nnvu0ciRI/XUU0+pZcuW2rhxo8aPH3/ZfT366KMaMGCA+vfvr44dO6pu3brmWaR8MTEx6t+/v5555hk1atRIPXv21NatW82zYACAa8dmXHyRNAAAAACUY5xJAgAAAAAHlCQAAAAAcEBJAgAAAAAHlCQAAAAAcEBJAgAAAAAHlCQAAAAAcEBJAgAAAAAHlCQAAAAAcEBJAgAAAAAHlCQAAAAAcEBJAgAAAAAH/x9djQzqsU6ftwAAAABJRU5ErkJggg==\n"
},
"metadata": {}
}
],
"source": [
"# ==========================================\n",
"# 0. SIMPLE AUTHENTICATION & FILE FETCH\n",
"# ==========================================\n",
"import os\n",
"import sys\n",
"import urllib.request\n",
"\n",
"# --- NEW: AUTO-FETCH FILES FOR COLAB ---\n",
"print(\"đ Fetching required dependencies...\")\n",
"repo_url = \"https://huggingface.co/spaces/Proteinrequired/enterprise-email-triage/resolve/main/\"\n",
"files_needed = [\"env.py\", \"dataset.json\", \"reward_system.py\"]\n",
"\n",
"for file in files_needed:\n",
" if not os.path.exists(file):\n",
" try:\n",
" print(f\"âŹď¸ Downloading {file}...\")\n",
" urllib.request.urlretrieve(repo_url + file, file)\n",
" except Exception as e:\n",
" print(f\"â ď¸ Could not download {file}. Error: {e}\")\n",
"print(\"â
All files ready!\\n\")\n",
"# ---------------------------------------\n",
"\n",
"!pip install huggingface_hub\n",
"from huggingface_hub import login\n",
"\n",
"# Grab the secret if it exists (Works in HF Spaces)\n",
"hf_token = os.environ.get(\"HF_TOKEN\")\n",
"\n",
"if hf_token:\n",
" # Silently log in so Unsloth can download the gated weights\n",
" login(token=hf_token.strip())\n",
" print(\"â
Authenticated via Environment Secret. Ready to load Llama-3.2.\")\n",
"\n",
"elif \"COLAB_RELEASE_TAG\" in os.environ:\n",
" # If in Colab, pop up a secure login widget for the judge\n",
" print(\"âď¸ Colab detected! Please log in to Hugging Face to download Llama-3.2:\")\n",
" from huggingface_hub import notebook_login\n",
" notebook_login()\n",
"\n",
"else:\n",
" # Failsafe for local machines\n",
" print(\"â ERROR: HF_TOKEN not found. Llama-3.2 download will fail.\")\n",
" sys.exit(1)\n",
"\n",
"# ==========================================\n",
"# 1. THE STABLE ENVIRONMENT INSTALL\n",
"# ==========================================\n",
"# (Commented out for local runs, judges will run these if necessary)\n",
"import os\n",
"os.system('pip install \"torch>=2.4.0,<2.11.0\" torchvision torchaudio')\n",
"os.system('pip install unsloth unsloth_zoo')\n",
"os.system('pip install \"trl==0.22.0\" peft accelerate bitsandbytes openenv-core datasets matplotlib pandas')\n",
"\n",
"import re\n",
"import json\n",
"import torch\n",
"import matplotlib.pyplot as plt\n",
"from tqdm import tqdm\n",
"from datasets import Dataset\n",
"from unsloth import FastLanguageModel\n",
"from trl import SFTTrainer\n",
"from transformers import TrainingArguments\n",
"\n",
"# Import the environment we just ensured exists\n",
"from env import EnterpriseEmailEnv\n",
"\n",
"# ==========================================\n",
"# 2. LOAD THE FAST 3B MODEL\n",
"# ==========================================\n",
"print(\"Loading Unsloth 3B Model...\")\n",
"model, tokenizer = FastLanguageModel.from_pretrained(\n",
" model_name = \"unsloth/Llama-3.2-3B-Instruct-bnb-4bit\",\n",
" max_seq_length = 512,\n",
" dtype = None,\n",
" load_in_4bit = True,\n",
" token = hf_token, # Explicitly passing the token here\n",
")\n",
"\n",
"# Apply LoRA adapters\n",
"model = FastLanguageModel.get_peft_model(\n",
" model,\n",
" r = 16,\n",
" target_modules = [\"q_proj\", \"k_proj\", \"v_proj\", \"o_proj\", \"gate_proj\", \"up_proj\", \"down_proj\"],\n",
" lora_alpha = 16,\n",
" lora_dropout = 0,\n",
" bias = \"none\",\n",
" use_gradient_checkpointing = \"unsloth\",\n",
" random_state = 3407,\n",
")\n",
"\n",
"# ==========================================\n",
"# 3. GENERATE ROLLOUTS (BULLETPROOF PARSER)\n",
"# ==========================================\n",
"print(\"Initializing OpenEnv...\")\n",
"env = EnterpriseEmailEnv()\n",
"\n",
"def format_observation_to_prompt(obs):\n",
" current_email = obs.get('current_email', {})\n",
" email_id = current_email.get('email_id', 'UNKNOWN_ID')\n",
" sender = current_email.get('sender', 'Unknown')\n",
" subject = current_email.get('subject', 'No Subject')\n",
" body = current_email.get('body', '')[:1000]\n",
"\n",
" prompt = f\"\"\"<|begin_of_text|><|start_header_id|>system<|end_header_id|>\n",
"You are a Corporate Email Triage Agent. You must respond ONLY with a JSON object.\n",
"### AVAILABLE TOOLS:\n",
"1. {{\"tool\": \"route_to_human\", \"arguments\": {{\"email_id\": \"{email_id}\", \"department\": \"IT/Support/HR\"}}}}\n",
" *RULE: Use this for VIPs, Angry customers, Server Outages, or Sensitive HR issues.*\n",
"2. {{\"tool\": \"auto_reply\", \"arguments\": {{\"email_id\": \"{email_id}\", \"message\": \"REPLY_TEXT\"}}}}\n",
" *RULE: Use this for routine tasks like password resets or feature requests.*\n",
"3. {{\"tool\": \"ask_for_clarification\", \"arguments\": {{\"email_id\": \"{email_id}\"}}}}\n",
" *RULE: Use this only if the email is confusing or missing data.*\n",
"Always use the correct Email ID: {email_id}<|eot_id|><|start_header_id|>user<|end_header_id|>\n",
"Email ID: {email_id}\n",
"From: {sender}\n",
"Subject: {subject}\n",
"Body: {body}<|eot_id|><|start_header_id|>assistant<|end_header_id|>\"\"\"\n",
" return prompt\n",
"\n",
"def collect_rollouts(env, model, tokenizer, num_episodes=30):\n",
" rollout_data = []\n",
" FastLanguageModel.for_inference(model)\n",
"\n",
" for episode in tqdm(range(num_episodes), desc=\"Collecting rollouts\"):\n",
" obs = env.reset()\n",
" episode_data = []\n",
"\n",
" while not env.current_step >= env.max_steps and len(env.processed_emails) < len(env.emails):\n",
" prompt = format_observation_to_prompt(obs)\n",
" inputs = tokenizer(prompt, return_tensors=\"pt\", padding=True, truncation=True, max_length=2048).to(model.device)\n",
"\n",
" with torch.no_grad():\n",
" outputs = model.generate(\n",
" **inputs,\n",
" max_new_tokens=300,\n",
" temperature=0.1,\n",
" do_sample=True,\n",
" pad_token_id=tokenizer.eos_token_id,\n",
" )\n",
"\n",
" generated_text = tokenizer.decode(outputs[0][inputs.input_ids.shape[-1]:], skip_special_tokens=True)\n",
"\n",
" start_idx = generated_text.find('{')\n",
" end_idx = generated_text.rfind('}') + 1\n",
"\n",
" if start_idx != -1 and end_idx != 0:\n",
" clean_json = generated_text[start_idx:end_idx]\n",
" try:\n",
" action = json.loads(clean_json)\n",
" if \"tool\" not in action or \"arguments\" not in action:\n",
" action = {\"tool\": \"ask_for_clarification\", \"arguments\": {\"email_id\": obs['current_email']['email_id']}}\n",
" except:\n",
" action = {\"tool\": \"ask_for_clarification\", \"arguments\": {\"email_id\": obs['current_email']['email_id']}}\n",
" else:\n",
" action = {\"tool\": \"ask_for_clarification\", \"arguments\": {\"email_id\": obs['current_email']['email_id']}}\n",
"\n",
" next_obs, reward, done, info = env.step(action)\n",
"\n",
" episode_data.append({\n",
" \"prompt\": prompt,\n",
" \"action\": action,\n",
" \"reward\": reward,\n",
" \"observation\": next_obs\n",
" })\n",
"\n",
" print(f\"Step {env.current_step}: {action['tool']} -> Reward: {reward:+.2f} | Total: {env.total_reward:+.2f}\")\n",
" obs = next_obs\n",
" if done: break\n",
"\n",
" rollout_data.extend(episode_data)\n",
"\n",
" FastLanguageModel.for_training(model)\n",
" return rollout_data\n",
"\n",
"print(\"Collecting rollouts (playing the game)...\")\n",
"rollout_data = collect_rollouts(env, model, tokenizer, num_episodes=30)\n",
"print(f\"Collected {len(rollout_data)} transitions\")\n",
"\n",
"# ==========================================\n",
"# 4. PREPARE BEHAVIORAL CLONING DATASET\n",
"# ==========================================\n",
"print(\"Filtering for successful behaviors...\")\n",
"winning_rollouts = [item for item in rollout_data if item[\"reward\"] > 0]\n",
"print(f\"Found {len(winning_rollouts)} highly successful actions to train on!\")\n",
"\n",
"sft_dataset_dict = {\n",
" \"text\": [item[\"prompt\"] + json.dumps(item[\"action\"]) + tokenizer.eos_token for item in winning_rollouts]\n",
"}\n",
"sft_dataset = Dataset.from_dict(sft_dataset_dict)\n",
"\n",
"# ==========================================\n",
"# 5. INITIALIZE SFT TRAINER\n",
"# ==========================================\n",
"print(\"Configuring SFT Trainer...\")\n",
"sft_config = TrainingArguments(\n",
" output_dir=\"email-triage-lora-final\",\n",
" per_device_train_batch_size=4,\n",
" gradient_accumulation_steps=4,\n",
" learning_rate=2e-4,\n",
" logging_steps=1,\n",
" max_steps=60,\n",
" optim=\"adamw_8bit\",\n",
" fp16=not torch.cuda.is_bf16_supported(),\n",
" bf16=torch.cuda.is_bf16_supported(),\n",
")\n",
"\n",
"sft_trainer = SFTTrainer(\n",
" model=model,\n",
" tokenizer=tokenizer,\n",
" train_dataset=sft_dataset,\n",
" dataset_text_field=\"text\",\n",
" max_seq_length=512,\n",
" args=sft_config,\n",
")\n",
"\n",
"# ==========================================\n",
"# 6. EXECUTE TRAINING & SAVE DELIVERABLES\n",
"# ==========================================\n",
"print(\"Starting Behavioral Cloning Training...\")\n",
"sft_trainer.train()\n",
"\n",
"print(\"Training completed! Saving LoRA adapters...\")\n",
"model.save_pretrained(\"email-triage-lora-final\")\n",
"tokenizer.save_pretrained(\"email-triage-lora-final\")\n",
"print(\"SUCCESS: Model weights saved locally!\")\n",
"\n",
"# ==========================================\n",
"# 7. GENERATE HACKATHON EVIDENCE (PLOTS)\n",
"# ==========================================\n",
"print(\"Generating validation plots...\")\n",
"\n",
"# Plot 1: Training Loss\n",
"try:\n",
" history = sft_trainer.state.log_history\n",
" steps = [x['step'] for x in history if 'loss' in x]\n",
" loss = [x['loss'] for x in history if 'loss' in x]\n",
"\n",
" if loss:\n",
" plt.figure(figsize=(10, 5))\n",
" plt.plot(steps, loss, color='#1f77b4', linewidth=2, label='Training Loss')\n",
" plt.title('Agent Training Loss: Enterprise Email Triage')\n",
" plt.xlabel('Step')\n",
" plt.ylabel('Loss')\n",
" plt.grid(True, linestyle='--', alpha=0.6)\n",
" plt.legend()\n",
" plt.savefig('training_loss.png')\n",
" print(\"â
Saved training_loss.png\")\n",
"except Exception as e:\n",
" print(f\"â ď¸ Could not generate loss curve: {e}\")\n",
"\n",
"# Plot 2: Reward Distribution\n",
"try:\n",
" rewards = [item['reward'] for item in rollout_data]\n",
" if rewards:\n",
" plt.figure(figsize=(10, 5))\n",
" plt.hist(rewards, bins=10, color='green', alpha=0.7, edgecolor='black')\n",
" plt.title('Expert Rollout Reward Distribution')\n",
" plt.xlabel('Reward Value')\n",
" plt.ylabel('Frequency')\n",
" plt.axvline(0, color='red', linestyle='--')\n",
" plt.savefig('reward_curve.png')\n",
" print(\"â
Saved reward_curve.png\")\n",
"except Exception as e:\n",
" print(f\"â ď¸ Could not generate reward curve: {e}\")\n",
"\n",
"print(\"đ ALL TASKS COMPLETE. Script is ready for judging!\")"
]
}
]
}