{
  "name": "04 \u2014 Yerel AI \u00d6zet (Ollama)",
  "nodes": [
    {
      "parameters": {
        "content": "## \ud83e\udde0 Yerel AI ile \u00f6zet (Ollama)\n\nMetni **internete g\u00f6ndermeden**, bilgisayar\u0131n\u0131zda \u00e7al\u0131\u015fan\nOllama modeliyle \u00f6zetler. Verileriniz makinenizden \u00e7\u0131kmaz.\n\n### Kurulum\n1. Kurulum klas\u00f6r\u00fcnde: `docker compose --profile ai up -d`\n2. Model indirin (tek seferlik, ~2 GB):\n   `docker exec -it ollama ollama pull qwen2.5:3b`\n3. Bu workflow'da **Execute workflow** deyin \u2014 \u00f6rnek metnin\n   \u00f6zeti son d\u00fc\u011f\u00fcmde g\u00f6r\u00fcn\u00fcr.\n\n### Uyarlama\n- **\u00d6rnek Metin** d\u00fc\u011f\u00fcm\u00fcn\u00fc kendi verinizle de\u011fi\u015ftirin; \u00f6rne\u011fin\n  02 numaral\u0131 \u00f6zet workflow'una bu iki d\u00fc\u011f\u00fcm\u00fc ekleyerek mail\n  \u00f6zetini AI'a yazd\u0131rabilirsiniz.\n- Model ad\u0131 HTTP d\u00fc\u011f\u00fcm\u00fcndeki g\u00f6vdede: `qwen2.5:3b` yerine\n  `llama3.2:3b`, `gemma2:2b` vb. deneyebilirsiniz.",
        "width": 440,
        "height": 520
      },
      "id": "3802ea5f-3edd-461c-92b7-fc60f8370123",
      "name": "Not 1l2y3",
      "type": "n8n-nodes-base.stickyNote",
      "typeVersion": 1,
      "position": [
        -480,
        60
      ]
    },
    {
      "parameters": {},
      "id": "6591b6a7-3b3d-4ddf-8414-aadd484bcc46",
      "name": "Elle \u00c7al\u0131\u015ft\u0131r",
      "type": "n8n-nodes-base.manualTrigger",
      "typeVersion": 1,
      "position": [
        40,
        320
      ]
    },
    {
      "parameters": {
        "jsCode": "// Denemek i\u00e7in \u00f6rnek metin \u2014 kendi veri kayna\u011f\u0131n\u0131zla de\u011fi\u015ftirin.\nconst metin = `Yar\u0131n saat 14:00'te proje de\u011ferlendirme toplant\u0131s\u0131 var; sunum dosyas\u0131n\u0131 \u00f6\u011flene kadar g\u00fcncellemem gerekiyor. Elektrik faturas\u0131n\u0131n son \u00f6deme g\u00fcn\u00fc cuma. Spor salonu \u00fcyeli\u011fi bu hafta sona eriyor, yenilemeyi unutma. Annemin do\u011fum g\u00fcn\u00fc i\u00e7in pazar g\u00fcn\u00fcne pasta sipari\u015fi verilecek.`;\nreturn [{ json: { metin } }];"
      },
      "id": "046812d6-333e-43cd-8dec-d8e0929d96ac",
      "name": "\u00d6rnek Metin",
      "type": "n8n-nodes-base.code",
      "typeVersion": 2,
      "position": [
        260,
        320
      ]
    },
    {
      "parameters": {
        "method": "POST",
        "url": "http://ollama:11434/api/generate",
        "sendBody": true,
        "specifyBody": "json",
        "jsonBody": "={{ JSON.stringify({ model: 'qwen2.5:3b', prompt: 'A\u015fa\u011f\u0131daki metni T\u00fcrk\u00e7e olarak en fazla 3 maddede \u00f6zetle:\\n\\n' + $json.metin, stream: false }) }}",
        "options": {
          "timeout": 300000
        }
      },
      "id": "e0afe7d0-db7d-461e-9cb9-1262ba8642ad",
      "name": "Ollama'ya Sor (Yerel AI)",
      "type": "n8n-nodes-base.httpRequest",
      "typeVersion": 4.2,
      "position": [
        480,
        320
      ]
    },
    {
      "parameters": {
        "jsCode": "// Ollama yan\u0131t\u0131ndan \u00f6zet metnini al\u0131r.\nreturn [{ json: { ozet: $input.first().json.response || '(yan\u0131t al\u0131namad\u0131)' } }];"
      },
      "id": "639d057d-dc33-46c2-9cfa-06cb52ea92e3",
      "name": "\u00d6zeti Al",
      "type": "n8n-nodes-base.code",
      "typeVersion": 2,
      "position": [
        700,
        320
      ]
    }
  ],
  "connections": {
    "Elle \u00c7al\u0131\u015ft\u0131r": {
      "main": [
        [
          {
            "node": "\u00d6rnek Metin",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "\u00d6rnek Metin": {
      "main": [
        [
          {
            "node": "Ollama'ya Sor (Yerel AI)",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Ollama'ya Sor (Yerel AI)": {
      "main": [
        [
          {
            "node": "\u00d6zeti Al",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  },
  "settings": {
    "executionOrder": "v1"
  }
}