8
n8n 中文网amn8n.com

05 EDI文件处理 - 已完成

高级

这是一个AI领域的自动化工作流,包含 20 个节点。主要使用 GoogleDrive, ManualTrigger, Agent, ExtractFromFile, LmChatOpenAi 等节点,结合人工智能技术实现智能自动化。 基于Sabre EDI、GPT-4和Pinecone RAG的AI驱动会计报告

前置要求
  • Google Drive API 凭证
  • OpenAI API Key
  • Pinecone API Key
工作流预览
可视化展示节点连接关系,支持缩放和平移
导出工作流
复制以下 JSON 配置到 n8n 导入,即可使用此工作流
{
  "id": "HWsEhnkLn4XfhWIc",
  "meta": {
    "instanceId": "92e36925b2d06addd7a010605535ce53ac105737436355f7e52e2980c726ed3d"
  },
  "name": "05 EDI 文件处理 - 已完成",
  "tags": [
    {
      "id": "oKGIn6U0wpeHShTN",
      "name": "working flow",
      "createdAt": "2025-06-02T06:27:44.762Z",
      "updatedAt": "2025-06-02T06:27:44.762Z"
    }
  ],
  "nodes": [
    {
      "id": "ac1d38b5-6177-4b36-9a23-c26889e94a78",
      "name": "当点击\"测试工作流\"时",
      "type": "n8n-nodes-base.manualTrigger",
      "position": [
        -280,
        1060
      ],
      "parameters": {},
      "typeVersion": 1
    },
    {
      "id": "2daa8cbd-acc8-4365-938b-b3caf49ad9ea",
      "name": "Pinecone 向量存储1",
      "type": "@n8n/n8n-nodes-langchain.vectorStorePinecone",
      "position": [
        540,
        100
      ],
      "parameters": {
        "mode": "insert",
        "options": {},
        "pineconeIndex": {
          "__rl": true,
          "mode": "list",
          "value": "package1536",
          "cachedResultName": "package1536"
        }
      },
      "credentials": {
        "pineconeApi": {
          "id": "HqCFDvnsq0D6wXpJ",
          "name": "PineconeApi account 2"
        }
      },
      "typeVersion": 1.1
    },
    {
      "id": "52f425bf-9269-43fc-a685-482ea5cf3e0c",
      "name": "OpenAI 嵌入1",
      "type": "@n8n/n8n-nodes-langchain.embeddingsOpenAi",
      "position": [
        440,
        360
      ],
      "parameters": {
        "options": {}
      },
      "credentials": {
        "openAiApi": {
          "id": "SCKN5KUziIpM8NB7",
          "name": "OpenAi account 5"
        }
      },
      "typeVersion": 1.2
    },
    {
      "id": "7ed2dc8d-60ef-4c65-935c-fca4e7502c06",
      "name": "默认数据加载器1",
      "type": "@n8n/n8n-nodes-langchain.documentDefaultDataLoader",
      "position": [
        600,
        360
      ],
      "parameters": {
        "options": {},
        "dataType": "binary"
      },
      "typeVersion": 1
    },
    {
      "id": "44ad4300-31f9-4e14-904a-de23f9a5b81c",
      "name": "递归字符文本分割器1",
      "type": "@n8n/n8n-nodes-langchain.textSplitterRecursiveCharacterTextSplitter",
      "position": [
        680,
        540
      ],
      "parameters": {
        "options": {},
        "chunkOverlap": 50
      },
      "typeVersion": 1
    },
    {
      "id": "f9512cb3-5b71-4a65-91eb-19f01130c459",
      "name": "Google Drive",
      "type": "n8n-nodes-base.googleDrive",
      "position": [
        120,
        100
      ],
      "parameters": {
        "filter": {
          "folderId": {
            "__rl": true,
            "mode": "list",
            "value": "1fuSiN8yukGRr27nigbt4oUsffIpzg_L7",
            "cachedResultUrl": "https://drive.google.com/drive/folders/1fuSiN8yukGRr27nigbt4oUsffIpzg_L7",
            "cachedResultName": "SabreEDIFileGuide"
          }
        },
        "options": {},
        "resource": "fileFolder",
        "returnAll": true
      },
      "credentials": {
        "googleDriveOAuth2Api": {
          "id": "RFbg76pQ49AUClT1",
          "name": "mohan.gopal001@gmail.com"
        }
      },
      "typeVersion": 3
    },
    {
      "id": "cc3a857b-9053-4fbf-aec0-91604a3cc608",
      "name": "Google Drive1",
      "type": "n8n-nodes-base.googleDrive",
      "position": [
        300,
        100
      ],
      "parameters": {
        "fileId": {
          "__rl": true,
          "mode": "id",
          "value": "={{ $json.id }}"
        },
        "options": {},
        "operation": "download"
      },
      "credentials": {
        "googleDriveOAuth2Api": {
          "id": "RFbg76pQ49AUClT1",
          "name": "mohan.gopal001@gmail.com"
        }
      },
      "typeVersion": 3
    },
    {
      "id": "cbdd35c6-8c8b-4eb4-910b-ef77cd440916",
      "name": "便签",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -320,
        -60
      ],
      "parameters": {
        "width": 1740,
        "height": 740,
        "content": "## 向量化 Sabre 接口用户记录 (IUR)"
      },
      "typeVersion": 1
    },
    {
      "id": "c25c8091-66ab-4ba9-88be-cc5870a88b98",
      "name": "OpenAI 聊天模型",
      "type": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
      "position": [
        500,
        1280
      ],
      "parameters": {
        "model": {
          "__rl": true,
          "mode": "list",
          "value": "gpt-4o-mini"
        },
        "options": {}
      },
      "credentials": {
        "openAiApi": {
          "id": "SCKN5KUziIpM8NB7",
          "name": "OpenAi account 5"
        }
      },
      "typeVersion": 1.2
    },
    {
      "id": "de06cb47-a14a-4c4a-8398-679bd4ed6e4f",
      "name": "Pinecone 向量存储",
      "type": "@n8n/n8n-nodes-langchain.vectorStorePinecone",
      "position": [
        660,
        1280
      ],
      "parameters": {
        "mode": "retrieve-as-tool",
        "options": {
          "pineconeNamespace": ""
        },
        "toolName": "PackageDetails",
        "pineconeIndex": {
          "__rl": true,
          "mode": "list",
          "value": "package1536",
          "cachedResultName": "package1536"
        },
        "toolDescription": "Return the Accounts Payable details reading the information from the input file. "
      },
      "credentials": {
        "pineconeApi": {
          "id": "HqCFDvnsq0D6wXpJ",
          "name": "PineconeApi account 2"
        }
      },
      "typeVersion": 1.1
    },
    {
      "id": "c06ce64d-e52d-4901-8d9b-78276315a43c",
      "name": "Embeddings OpenAI",
      "type": "@n8n/n8n-nodes-langchain.embeddingsOpenAi",
      "position": [
        680,
        1440
      ],
      "parameters": {
        "options": {}
      },
      "credentials": {
        "openAiApi": {
          "id": "SCKN5KUziIpM8NB7",
          "name": "OpenAi account 5"
        }
      },
      "typeVersion": 1.2
    },
    {
      "id": "17f220b8-51c3-4819-b14d-44acb827e9d1",
      "name": "从文件提取",
      "type": "n8n-nodes-base.extractFromFile",
      "position": [
        320,
        1060
      ],
      "parameters": {
        "options": {},
        "operation": "text"
      },
      "typeVersion": 1
    },
    {
      "id": "1a62d317-36fa-4cbf-991e-ae9fefc43da4",
      "name": "应收账款代理",
      "type": "@n8n/n8n-nodes-langchain.agent",
      "position": [
        540,
        1060
      ],
      "parameters": {
        "text": "=\nUse the incoming EDI files and generate Account Receivable Report by going throug each file, listing the account receivables for each PNR and the passenger data. \n {{ $json.data }}",
        "options": {
          "systemMessage": "##Role##\nYou are an Accounting and Finance Reporting Expert and you understand the incoming EDI file from which you extract data and compile Accounts Receivable (AR) Summary Report\n\nInstruction:\nRead the incoming EDI file and identify the accounting info and generate accounting receivable report. \nIf there are data that you don't understand, query the pinecone vector database where the complete guidelines is stored for the undersatnding. \nOutput just the table with the data. No need to give a dscription in the begining. \n\nGenerate report in the below tabular format that is extractable in JSON format: \n\n{\n  [\n    {\"passenger\": \"Sergei\", \"fare\": 414, \"tax\": 34.88, \"total\": 448.88}\n  ]\n}\nNote:\nNever ever create your own AR report if in doubt or missing data.\n"
        },
        "promptType": "define",
        "hasOutputParser": true
      },
      "typeVersion": 1.9
    },
    {
      "id": "f3d494ce-439e-4b74-96c7-b4aeea412b6b",
      "name": "便签1",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -320,
        720
      ],
      "parameters": {
        "width": 1740,
        "height": 860,
        "content": "## 来自 EDI 文件的报告"
      },
      "typeVersion": 1
    },
    {
      "id": "12e76ce9-9bf6-42ea-9059-252a1e39d50d",
      "name": "Google Drive:提取文件",
      "type": "n8n-nodes-base.googleDrive",
      "position": [
        -80,
        1060
      ],
      "parameters": {
        "filter": {
          "folderId": {
            "__rl": true,
            "mode": "list",
            "value": "172VdwV-JNLv0H7i7OXRMjYqIshg6ow1O",
            "cachedResultUrl": "https://drive.google.com/drive/folders/172VdwV-JNLv0H7i7OXRMjYqIshg6ow1O",
            "cachedResultName": "EDIFileForProcessing"
          }
        },
        "options": {},
        "resource": "fileFolder",
        "returnAll": true
      },
      "credentials": {
        "googleDriveOAuth2Api": {
          "id": "RFbg76pQ49AUClT1",
          "name": "mohan.gopal001@gmail.com"
        }
      },
      "typeVersion": 3
    },
    {
      "id": "a7f51cdc-614e-460a-8327-9cc20c61741a",
      "name": "Google Drive:下载文件内容",
      "type": "n8n-nodes-base.googleDrive",
      "position": [
        120,
        1060
      ],
      "parameters": {
        "fileId": {
          "__rl": true,
          "mode": "id",
          "value": "={{ $json.id }}"
        },
        "options": {},
        "operation": "download"
      },
      "credentials": {
        "googleDriveOAuth2Api": {
          "id": "RFbg76pQ49AUClT1",
          "name": "mohan.gopal001@gmail.com"
        }
      },
      "typeVersion": 3
    },
    {
      "id": "296bbaf6-a5fb-4be4-8e83-cb8d6a696b12",
      "name": "OpenAI 聊天模型1",
      "type": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
      "position": [
        960,
        1280
      ],
      "parameters": {
        "model": {
          "__rl": true,
          "mode": "list",
          "value": "gpt-4o-mini"
        },
        "options": {}
      },
      "credentials": {
        "openAiApi": {
          "id": "SCKN5KUziIpM8NB7",
          "name": "OpenAi account 5"
        }
      },
      "typeVersion": 1.2
    },
    {
      "id": "74f71aa2-dde2-4bb8-8142-dfe5bb0ca896",
      "name": "Pinecone 向量存储2",
      "type": "@n8n/n8n-nodes-langchain.vectorStorePinecone",
      "position": [
        1120,
        1280
      ],
      "parameters": {
        "mode": "retrieve-as-tool",
        "options": {
          "pineconeNamespace": ""
        },
        "toolName": "PackageDetails",
        "pineconeIndex": {
          "__rl": true,
          "mode": "list",
          "value": "package1536",
          "cachedResultName": "package1536"
        },
        "toolDescription": "Return the Tax Summary aligning to the input file"
      },
      "credentials": {
        "pineconeApi": {
          "id": "HqCFDvnsq0D6wXpJ",
          "name": "PineconeApi account 2"
        }
      },
      "typeVersion": 1.1
    },
    {
      "id": "5206c19e-bd8b-4e24-bf6d-225af26fdd48",
      "name": "嵌入 OpenAI2",
      "type": "@n8n/n8n-nodes-langchain.embeddingsOpenAi",
      "position": [
        1140,
        1440
      ],
      "parameters": {
        "options": {}
      },
      "credentials": {
        "openAiApi": {
          "id": "SCKN5KUziIpM8NB7",
          "name": "OpenAi account 5"
        }
      },
      "typeVersion": 1.2
    },
    {
      "id": "a1b109f9-3259-48d7-a426-c876d3aaf97e",
      "name": "税费和附加费报告",
      "type": "@n8n/n8n-nodes-langchain.agent",
      "position": [
        1000,
        1060
      ],
      "parameters": {
        "text": "=\nUse the incoming EDI files and generate Tax and Surcharges Report by going through each file, listing the tax surcharge report for each PNR and the passenger data. \n {{ $json.data }}",
        "options": {
          "systemMessage": "##Role##\nYou are an Accounting and Finance Reporting Expert and you understand the incoming EDI file from which you extract data and compile Tax and Surcharges Report\n\nInstruction:\nRead the incoming EDI file and identify the accounting info and generate accounting receivable report. \nIf there are data that you don't understand, query the pinecone vector database where the complete guidelines is stored for the undersatnding. \nOutput just the table with the data. No need to give a dscription in the begining. \n\nGenerate report in the below tabular format that is extractable in JSON format: \n\n [\n    {\"taxType\": \"JD\", \"amount\": 23.84}\n  ]\n\nNote:\nNever ever create your own Tax report if in doubt or missing data.\n"
        },
        "promptType": "define",
        "hasOutputParser": true
      },
      "typeVersion": 1.9
    }
  ],
  "active": false,
  "pinData": {},
  "settings": {
    "executionOrder": "v1"
  },
  "versionId": "c9cacda3-eb77-4755-a95b-fd7f97615d4d",
  "connections": {
    "Google Drive": {
      "main": [
        [
          {
            "node": "Google Drive1",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Google Drive1": {
      "main": [
        [
          {
            "node": "Pinecone Vector Store1",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Embeddings OpenAI": {
      "ai_embedding": [
        [
          {
            "node": "Pinecone Vector Store",
            "type": "ai_embedding",
            "index": 0
          }
        ]
      ]
    },
    "Extract from File": {
      "main": [
        [
          {
            "node": "Account Receivable Agent",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "OpenAI Chat Model": {
      "ai_languageModel": [
        [
          {
            "node": "Account Receivable Agent",
            "type": "ai_languageModel",
            "index": 0
          }
        ]
      ]
    },
    "Embeddings OpenAI1": {
      "ai_embedding": [
        [
          {
            "node": "Pinecone Vector Store1",
            "type": "ai_embedding",
            "index": 0
          }
        ]
      ]
    },
    "Embeddings OpenAI2": {
      "ai_embedding": [
        [
          {
            "node": "Pinecone Vector Store2",
            "type": "ai_embedding",
            "index": 0
          }
        ]
      ]
    },
    "OpenAI Chat Model1": {
      "ai_languageModel": [
        [
          {
            "node": "Tax and Surcharges Report",
            "type": "ai_languageModel",
            "index": 0
          }
        ]
      ]
    },
    "Default Data Loader1": {
      "ai_document": [
        [
          {
            "node": "Pinecone Vector Store1",
            "type": "ai_document",
            "index": 0
          }
        ]
      ]
    },
    "Pinecone Vector Store": {
      "ai_tool": [
        [
          {
            "node": "Account Receivable Agent",
            "type": "ai_tool",
            "index": 0
          }
        ]
      ]
    },
    "Pinecone Vector Store1": {
      "main": [
        []
      ]
    },
    "Pinecone Vector Store2": {
      "ai_tool": [
        [
          {
            "node": "Tax and Surcharges Report",
            "type": "ai_tool",
            "index": 0
          }
        ]
      ]
    },
    "Account Receivable Agent": {
      "main": [
        []
      ]
    },
    "Google Drive: extract files": {
      "main": [
        [
          {
            "node": "Google Drive: download file contents",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "When clicking ‘Test workflow’": {
      "main": [
        [
          {
            "node": "Google Drive: extract files",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Recursive Character Text Splitter1": {
      "ai_textSplitter": [
        [
          {
            "node": "Default Data Loader1",
            "type": "ai_textSplitter",
            "index": 0
          }
        ]
      ]
    },
    "Google Drive: download file contents": {
      "main": [
        [
          {
            "node": "Extract from File",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  }
}
常见问题

如何使用这个工作流?

复制上方的 JSON 配置代码,在您的 n8n 实例中创建新工作流并选择「从 JSON 导入」,粘贴配置后根据需要修改凭证设置即可。

这个工作流适合什么场景?

高级 - 人工智能

需要付费吗?

本工作流完全免费,您可以直接导入使用。但请注意,工作流中使用的第三方服务(如 OpenAI API)可能需要您自行付费。

工作流信息
难度等级
高级
节点数量20
分类1
节点类型10
难度说明

适合高级用户,包含 16+ 个节点的复杂工作流

作者
Mohan Gopal

Mohan Gopal

@mohan

B2B and B2C Travel App Consultant. Building AI Agent for Travel Solution.

外部链接
在 n8n.io 查看

分享此工作流