使用AI代理与Supabase存储中的文件对话

使用AI代理与Supabase存储中的文件对话

视频指南

我准备了一个详细指南,解释如何设置和实施这个场景,使您能够使用n8n与存储在Supabase中的文档进行对话。

Youtube Thumbnail

Youtube链接

适合人群

这个工作流程非常适合研究人员、分析师、企业主或任何管理大量文档的人。对于那些需要从存储在Supabase中的文本密集型文件中快速检索上下文信息,而不需要Google Drive等额外服务的人来说尤其有益。

解决的问题

从大型文档库中手动检索和分析特定信息既耗时又低效。这个工作流程通过向量化文档并启用AI驱动的交互来自动化这一过程,使得从上传的文件中查询和检索基于上下文的信息变得容易。

工作流程功能

该工作流程将Supabase与AI驱动的聊天机器人集成,以处理、存储和查询文本和PDF文件。步骤包括:

  • 获取和比较文件以避免重复处理。
  • 处理文件下载并根据文件类型提取内容。
  • 将文档转换为向量化数据以进行上下文信息检索。
  • 从Supabase向量存储中存储和查询向量化数据。
  1. 文件提取和处理:自动化处理多种文件格式(如PDF、文本文件),并提取文档内容。
  2. 向量化嵌入创建:为处理后的数据生成嵌入,以支持AI驱动的交互。
  3. 动态数据查询:允许用户使用聊天机器人以对话方式查询其文档库。

设置

N8N工作流程

  1. 从Supabase获取文件列表

    • 使用Supabase从指定的存储桶中检索存储的文件列表。
    • 添加逻辑以管理Supabase返回的空文件夹占位符,避免错误处理。
  2. 比较和过滤文件

    • 汇总从存储中检索的文件,并将其与Supabasefiles表中的现有列表进行比较。
    • 排除重复项并跳过占位符文件,确保仅处理未处理的文件。
  3. 处理文件下载

    • 使用详细的存储配置下载新文件,支持公共/私有访问。
    • 调整存储设置和GET请求以匹配您的Supabase设置。
  4. 文件类型处理

    • 使用Switch节点针对特定文件类型(如PDF或文本文件)。
    • 使用相关工具处理内容:
      • 对于PDF,提取嵌入内容。
      • 对于文本文件,直接处理文本数据。
  5. 内容分块

    • 使用Text Splitter节点将大文本数据分解为较小的块。
    • 定义块大小(默认:500个标记)和重叠以保留块之间的必要上下文。
  6. 向量嵌入创建

    • 使用OpenAI的嵌入工具为处理后的内容生成向量化嵌入。
    • 确保包含元数据(如文件ID)以便轻松检索数据。
  7. 存储向量化数据

    • 将向量化信息保存到专用的Supabase向量存储中。
    • 使用Supabase提供的默认模式和表以简化设置。
  8. AI聊天机器人集成

    • 添加聊天机器人节点以处理用户输入并检索相关文档块。
    • 使用文件ID等元数据进行有针对性的查询,尤其是在涉及多个文档时。

测试

  • 将示例文件上传到您的Supabase存储桶。
  • 验证文件是否成功处理并存储在向量存储中。
  • 使用聊天机器人询问有关文档的简单对话问题(例如,“第1章关于罗马帝国说了什么?”)。
  • 测试检索结果的准确性和上下文相关性。
(0)
上一篇 5天前
下一篇 5天前

更多相关内容

从零掌握 AI + MCP/Responses API 的自动化设计,节省90%的时间和成本,成为AI自动化专家。学会 n8n、Coze、Dify 接入全球领先 AI应用生态,打造属于你的 AI智能工作流。