Gmail 到 Vector Embeddings 使用 PGVector 和 Ollama

用于Gmail,通过自动化工作流程提取邮件内容,生成向量嵌入并存储到数据库中,实现高效的相似性搜索和数据管理。每分钟检查新邮件,支持批量处理和结构化存储,提升信息检索效率。

2025/7/8
20 个节点
复杂
手动复杂langchaingmailtriggersplitinbatchessplitoutnoop便签postgresqlgmail高级逻辑条件数据库数据
分类:
Communication & MessagingComplex WorkflowManual TriggeredData Processing & Analysis
集成服务:
LangChainGmailTriggerSplitInBatchesSplitOutNoOpSticky NotePostgreSQLGmail

适用人群

  • 企业主: 需要处理大量电子邮件并提取关键信息以进行分析。
    - 数据科学家: 希望将电子邮件内容转化为向量嵌入,以便进行相似性搜索和数据挖掘。
    - 开发者: 需要自动化电子邮件处理和存储到数据库的过程。
    - 研究人员: 需要分析电子邮件数据以获取见解和趋势。
  • 解决的问题

    该工作流自动化了电子邮件的提取和处理,解决了以下问题:
    - 人工操作繁琐: 通过自动化获取和处理电子邮件,节省了大量时间和精力。
    - 数据存储无序: 将电子邮件结构化存储到 PostgreSQL 数据库中,便于后续查询和分析。
    - 缺乏智能分析: 利用向量嵌入技术,使得对电子邮件内容的相似性搜索变得简单高效。

    工作流程

  • 手动触发: 用户通过手动触发开始工作流。
    2. 创建数据库表: 确保存在用于存储电子邮件元数据的表。
    3. 计算日期范围: 计算用户 Gmail 帐号创建日期到当前日期之间的每周时间段。
    4. 获取电子邮件批次: 从 Gmail 中提取在指定日期范围内的电子邮件。
    5. 提取电子邮件字段: 从获取的电子邮件中提取关键信息,如发件人、收件人、主题等。
    6. 存储结构化数据: 将提取的电子邮件元数据存储到 PostgreSQL 数据库中。
    7. 文本分割: 将电子邮件内容分割成小块,以便进行嵌入处理。
    8. 生成向量嵌入: 使用 Ollama 模型将文本转换为向量嵌入。
    9. 存储向量数据: 将生成的向量嵌入存储到 PostgreSQL 数据库中,便于后续的相似性查询。
  • 自定义指南

  • 修改 Gmail 账户创建日期: 在 Explode interval into weeks 节点中,编辑 whenDidICreateMyGmailAccount 的值以匹配您的 Gmail 账户创建日期。
    - 调整电子邮件筛选条件: 在 Gmail Trigger 节点中,您可以根据需要修改电子邮件筛选条件,如标签或接收时间。
    - 修改文本分割参数: 在 Recursive Character Text Splitter 节点中,可以调整 chunkSizechunkOverlap 参数,以适应不同长度的电子邮件内容。
    - 自定义数据库结构: 根据需要修改 Store structured 节点中的数据库表结构,以存储额外的电子邮件信息。