{
  "name": "Chat with GitHub issues using OpenAI and Redis vector search",
  "nodes": [
    {
      "id": "7c2856a9-5487-4fa2-aaa8-27730b91d1a6",
      "name": "When clicking ‘Execute workflow’",
      "type": "n8n-nodes-base.manualTrigger",
      "position": [
        64,
        736
      ]
    },
    {
      "id": "9dc70257-42ec-43e9-99bf-78b9173bb0c9",
      "name": "Embeddings OpenAI",
      "type": "@n8n/n8n-nodes-langchain.embeddingsOpenAi",
      "position": [
        528,
        944
      ]
    },
    {
      "id": "b7bfb31e-057e-434c-b6ea-89f70e8d1c9e",
      "name": "Default Data Loader",
      "type": "@n8n/n8n-nodes-langchain.documentDefaultDataLoader",
      "position": [
        768,
        944
      ]
    },
    {
      "id": "89a686e3-dd9d-43be-b5b9-f4412096295d",
      "name": "When chat message received",
      "type": "@n8n/n8n-nodes-langchain.chatTrigger",
      "position": [
        64,
        1328
      ]
    },
    {
      "id": "1760c33a-c541-4f93-8715-a89e0d99d303",
      "name": "OpenAI Chat Model",
      "type": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
      "position": [
        96,
        1536
      ]
    },
    {
      "id": "6105777c-9f2e-413f-9fcd-f3ef48bc2adf",
      "name": "Redis Chat Memory",
      "type": "@n8n/n8n-nodes-langchain.memoryRedisChat",
      "position": [
        288,
        1536
      ]
    },
    {
      "id": "76d85316-db73-4829-849d-134785f96b6e",
      "name": "Embeddings OpenAI1",
      "type": "@n8n/n8n-nodes-langchain.embeddingsOpenAi",
      "position": [
        560,
        1696
      ]
    },
    {
      "id": "24920f0d-25c5-4e3e-994e-813134411b97",
      "name": "Sticky Note6",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -64,
        576
      ],
      "parameters": {
        "width": 1000,
        "height": 540,
        "content": "## 1. Data Ingestion Workflow\n[Read more about the Redis Vector Store node](https://docs.n8n.io/integrations/builtin/cluster-nodes/root-nodes/n8n-nodes-langchain.vectorstoreredis/)\n\nMake sure you repl"
      }
    },
    {
      "id": "9e6a5465-6ab7-4109-b73e-5a1e1940cc17",
      "name": "Sticky Note7",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -672,
        576
      ],
      "parameters": {
        "width": 460,
        "height": 1088,
        "content": "## Try It Out!\n### This n8n template creates a Retrieval-Augmented Generation (RAG) system for exploring GitHub repository issues.\n\n### How It Works\nFirst, run the ingestion flow to populate the vecto"
      }
    },
    {
      "id": "6d69e1bf-aa29-478c-8f54-ed5a3808b38a",
      "name": "Sticky Note8",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -672,
        1696
      ],
      "parameters": {
        "width": 460,
        "height": 140,
        "content": "### GitHub Rate Limits\nUnauthenticated access to the GitHub REST API is imposed with the strictest [rate limits](https://docs.github.com/en/rest/using-the-rest-api/rate-limits-for-the-rest-api?apiVers"
      }
    },
    {
      "id": "26c500fc-5491-45bc-a107-76cdf65af64e",
      "name": "Sticky Note",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -64,
        1168
      ],
      "parameters": {
        "width": 1000,
        "height": 668,
        "content": "## 2. Chat Interface Workflow\n[Read more about the Redis Chat Memory node](https://docs.n8n.io/integrations/builtin/cluster-nodes/sub-nodes/n8n-nodes-langchain.memoryredischat/)\n\nThe same vector store"
      }
    },
    {
      "id": "19efedc2-c85a-4434-bf9f-7944db9cb351",
      "name": "Fetch issues from GitHub",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        352,
        736
      ]
    },
    {
      "id": "fde8b45c-5f20-4fff-a231-cf5459c30160",
      "name": "Vectorize and store in Redis",
      "type": "@n8n/n8n-nodes-langchain.vectorStoreRedis",
      "position": [
        624,
        736
      ]
    },
    {
      "id": "89f97818-1bb9-4cb6-8f42-8936bcc2217d",
      "name": "AI Agent using RAG",
      "type": "@n8n/n8n-nodes-langchain.agent",
      "position": [
        320,
        1328
      ]
    },
    {
      "id": "d5b62fcf-0b06-4487-98fc-f97844753eb5",
      "name": "Augment with results from Redis",
      "type": "@n8n/n8n-nodes-langchain.vectorStoreRedis",
      "position": [
        464,
        1536
      ]
    }
  ],
  "connections": {
    "Embeddings OpenAI": {
      "ai_embedding": [
        [
          {
            "node": "Vectorize and store in Redis",
            "type": "ai_embedding",
            "index": 0
          }
        ]
      ]
    },
    "OpenAI Chat Model": {
      "ai_languageModel": [
        [
          {
            "node": "AI Agent using RAG",
            "type": "ai_languageModel",
            "index": 0
          }
        ]
      ]
    },
    "Redis Chat Memory": {
      "ai_memory": [
        [
          {
            "node": "AI Agent using RAG",
            "type": "ai_memory",
            "index": 0
          }
        ]
      ]
    },
    "Embeddings OpenAI1": {
      "ai_embedding": [
        [
          {
            "node": "Augment with results from Redis",
            "type": "ai_embedding",
            "index": 0
          }
        ]
      ]
    },
    "Default Data Loader": {
      "ai_document": [
        [
          {
            "node": "Vectorize and store in Redis",
            "type": "ai_document",
            "index": 0
          }
        ]
      ]
    },
    "Fetch issues from GitHub": {
      "main": [
        [
          {
            "node": "Vectorize and store in Redis",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "When chat message received": {
      "main": [
        [
          {
            "node": "AI Agent using RAG",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Augment with results from Redis": {
      "ai_tool": [
        [
          {
            "node": "AI Agent using RAG",
            "type": "ai_tool",
            "index": 0
          }
        ]
      ]
    },
    "When clicking ‘Execute workflow’": {
      "main": [
        [
          {
            "node": "Fetch issues from GitHub",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  }
}