使用Qdrant、Gemini和OpenAI构建自动引用的RAG系统

该工作流实现了一个检索增强生成(RAG)系统,该系统能够:

  • 将向量化文档存储在Qdrant中,
  • 根据用户输入检索相关内容,
  • 使用Google Gemini生成AI回答,
  • 自动引用文档来源(来自Google Drive)。

工作流步骤

  1. 创建Qdrant集合
    通过REST API节点在Qdrant中创建新集合,指定向量大小(1536)和余弦相似度。

  2. 从Google Drive加载文件
    工作流列出Google Drive文件夹中的所有文件,将其下载为纯文本,并逐个处理。

  3. 文本预处理与嵌入

    • 文档被分割成块(500字符,重叠50字符)。
    • 使用OpenAI嵌入(假设为text-embedding-3-small)创建嵌入。
    • 每个块附加元数据(文件名和ID)。
  4. 存储到Qdrant
    所有向量及元数据被插入到Qdrant集合中。

  5. 聊天输入与检索

    • 收到聊天消息时,问题被嵌入并与Qdrant匹配。
    • 检索前5个相关文档块。
    • 使用Gemini模型基于这些来源生成回答。
  6. 来源聚合与响应

    • 文件ID和名称去重。

    • AI回答与引用的文档列表(文件名)结合。

    • 最终输出:

      AI回答
      来源:["文档1", "文档2"]
      

主要优势

  • 端到端自动化:从文档摄取到聊天响应生成,全程自动化,无需手动步骤。
  • 可扩展知识库:只需将文件添加到Google Drive文件夹即可轻松扩展。
  • 可追溯回答:每个回答包含其来源文件,提高透明度和可信度。
  • 模块化设计:每个步骤(嵌入、存储、检索、响应)独立且可重用。
  • 多供应商AI:结合OpenAI(用于嵌入)和Google Gemini(用于聊天),优化性能和灵活性。
  • 安全且可定制:使用API凭证,可配置块大小、集合名称等。

工作原理

  1. 文档处理与向量化

    • 工作流从指定的Google Drive文件夹检索文档。
    • 每个文件被下载、分割成块(使用递归文本分割器),并通过OpenAI转换为嵌入。
    • 嵌入及元数据(文件ID和名称)存储在Qdrant向量数据库的negozio-emporio-verde集合中。
  2. 查询处理与响应生成

    • 当用户提交聊天消息时,工作流:
      • 使用OpenAI嵌入查询。
      • 从Qdrant检索前5个相关文档块。
      • 使用Google Gemini基于检索到的上下文生成响应。
      • 从检索到的块中聚合并去重源文件名。
    • 最终输出包括AI生成的响应和源文档列表(例如来源:["FAQ.pdf", "Policy.txt"])。

设置步骤

  1. 配置Qdrant集合

    • “创建集合”HTTP节点中替换QDRANTURLCOLLECTION,以初始化Qdrant集合:
      • 向量大小:1536(OpenAI嵌入维度)。
      • 距离度量:余弦
    • 确保“清除集合”节点配置为在需要时重置集合。
  2. Google Drive与OpenAI集成

    • 将Google Drive节点链接到目标文件夹(本例中为Test Negozio)。
    • 验证OpenAI和Google Gemini API凭证在各自节点中正确设置。
  3. 元数据与输出定制

    • 如果需要其他元数据字段,调整“聚合”“响应”节点。
    • 修改“输出”节点以格式化响应(例如将来源:{{...}}改为您喜欢的样式)。
  4. 测试

    • 手动触发工作流以测试文档摄取。
    • 使用聊天界面验证响应是否包含准确的来源归属。

注意:部署前将占位符值(如QDRANTURL)替换为实际端点。


需要帮助定制?

联系我获取咨询和支持,或在Linkedin上添加我。

(0)
上一篇 2天前
下一篇 2天前

更多相关内容

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