Make.com 连接器 - Entity Enricher 文档

Make.com 连接器

只需在任意场景中放入一个 Make 模块,映射上一步骤中的实体,即可获得结构化、经模式校验、多模型融合的 JSON 对象——并在单次 LLM 调用中生成 40 种语言的多语言输出。15 个原生模块,支持动态下拉列表和感知套餐限额的错误处理,专为 Make 的按操作计费模式设计。

专为 Make 设计

Entity Enricher 已提供一个可消费 Server-Sent Events 流的 n8n 连接器。Make 模块无法原生消费 SSE——每个模块都是一次原子 HTTP 调用。为了将富集作为单次 Make 操作来支持,后端提供了专用的 POST /api/single/enrich/sync 端点,它在服务器端封装流式流程,并在一次响应中返回最终的融合结果。

n8n connector
POST /enrich/stream → job_id
GET /llm/stream/{id}
GET /llm/stream/{id}
... (events)
[final bundle out]
Make.com connector
POST /enrich/sync
(server awaits internally)
[final bundle out]

一次处理完成多语言富集

语言 字段中选择多个语言,Entity Enricher 便会在单次 LLM 调用中以所有选定的语言填充每个多语言属性——而非按语言逐次进行 N 次往返调用。40 种语言覆盖主要的欧洲、亚洲、中东和非洲市场。

使用 languages = ["en", "fr", "de", "ja"] 进行一次充实实体调用的结果:

{
  "names": {
    "primary": {
      "en": "Aspirin",
      "fr": "Aspirine",
      "de": "Aspirin",
      "ja": "アスピリン"
    }
  },
  "indications": {
    "en": "Pain, fever, inflammation; antiplatelet therapy.",
    "fr": "Douleur, fièvre, inflammation ; antiagrégant plaquettaire.",
    "de": "Schmerz, Fieber, Entzündung; Thrombozytenaggregationshemmer.",
    "ja": "痛み、発熱、炎症;抗血小板療法。"
  }
}

下游的 Make 模块可以直接映射任何语言:{{enrichEntity.result.names.primary.fr}}。“语言”下拉菜单会显示完整的 40 种语言列表;当您组织的配置限制了可选语言数量时,会显示套餐限制提示。

Make 模块:显示 40 种支持语言的多选下拉框

安装

Make 应用的源码位于 TOT-Concept 公开仓库(从 Entity Enricher 单体仓库同步)。在该应用上架 Make 市场之前,可通过 Developer Hub 侧载:

  1. 以开发者身份登录您的 Make 组织。
  2. 前往 应用 → 创建新应用 → 自定义应用
  3. 可以将 make-app-entity-enricher/ 目录以 .zip 形式上传,或将每个 .json / .imljson 文件粘贴到编辑器中对应的标签页。
  4. 添加连接——可以是使用来自 Entity Enricher → 设置 → API 密钥的密钥的 API 密钥连接(格式为 ent_XXXXXXXXXXXX,会自动针对 /api/enrichment/options 进行测试),也可以是 OAuth 2.0 连接:登录 Entity Enricher 并点击授权。
Make:API Key 连接设置表单

动态下拉菜单

Make 模块中每个可选字段都由一个 RPC 填充,该 RPC 会在配置时调用 Entity Enricher API。已固定的 schema 会优先显示(标有 📌),模型标签包含每百万令牌的定价,套餐受限的 organization 在达到配额时会看到提示。

Make 模块:架构下拉框已展开,置顶的架构显示在顶部

前置条件

API 密钥在 Entity Enricher 中创建组织访问密钥。请参阅API 密钥文档。为服务间集成使用组织访问密钥(具有其自己的角色)。
基础 URL你的 Entity Enricher 实例的 URL——默认为 https://entityenricher.ai。仅在自托管部署时才需覆盖。
OAuth 2.0(备选)无需使用 API 密钥,选择 Entity Enricher OAuth 2.0 连接类型即可:登录 Entity Enricher 并点击授权——无需复制密钥。该连接以你的名义、按你自己的角色运行,并可随时在 API 密钥 → 已连接应用 下撤销。对于持久化的服务间场景,仍推荐使用 API 密钥。

实体富化实战演示

中心模块通过动态下拉菜单公开其输入字段:schema、模型(多选)、语言(多选)、策略、可选的分类与仲裁模型、网络搜索、响应 schema、严格结构化输出、超时以及元数据开关。可通过 Entity data 字段映射来自任何前置模块的实体。

当选择 2 个及以上模型时,结果会在服务器端自动融合。Make 输出面板会显示 is_fused: truesource_models 列表,以及统计一致字段和冲突字段的 fusion 摘要:

Make 输出面板:多模型融合的数据丰富结果
输出包中还包含什么
  • identity_merges —— 本次运行每一次复用由不同词语生成的既有身份的记录,并附上促成该复用的相似度(当由精确编码或 token 匹配决定时为空,因为未测量相似度)。
  • entity_keys —— 实际存储的键列值,使下游模块无需猜测即可定位它刚刚创建的那一行。
  • 数据库写入状态会如实报告部分写入,而不是笼统地报成功,并附带 skipped_itemskey_collisions
  • 在记录上:retries 取代了旧的 attempts 字段——这是一次破坏性重命名,请更新所有映射过该字段的场景。

可用模块

7 个类别下共 15 个模块。搜索类模块为每条结果输出一个 bundle(数据包),供下游的 Iterator/Aggregator 链使用;操作类模块只输出单个 bundle。

类别模块描述
EnrichmentEnrich Entity单次调用增强,支持多模型融合。返回最终融合结果(或最佳单模型结果)。分类警告时自动取消。
SchemasList Schemas为每个已保存的 schema 返回一个 Make bundle,可用于 Iterator/Aggregator 链。
SchemasGet Schema Details完整模式内容,包括专业领域、属性和搜索键。
SchemasGenerate Sample通过一次阻塞调用生成某个实体类型的 1..N 个真实样本 JSON 对象——模式编写的入口。第一个样本定义字段集,其余样本为同字段的实例变体。
SchemasGenerate Schema根据同一实体类型的 1..N 个样本对象生成并自动保存一个 JSON 模式——字段取并集,某些样本中缺失的字段设为可空,以实际观测到的值作为示例。
RecordsList Records使用筛选条件(类型、成功状态、自由文本)搜索过往的 enrichment record。
RecordsGet Record检索单个 enrichment 结果,包含完整的每个 prompt 指标。
RecordsInject Records into Database将已存储(或经过转换)的增强结果发送到其模式的数据库同步。先按该模式已发布的契约重新校验,再通过准入关卡。
FusionMerge Results重新合并多个增强结果,可选择使用不同的 LLM 仲裁者。
AttachmentsUpload Attachment上传一个文件(作为来自上游模块的 buffer 映射,例如 HTTP ▸ Get a File),并返回其附件 ID 以用于 Enrich Entity。
AttachmentsDelete Attachment按 ID 删除附件——便捷的丰富后清理步骤。
Database SyncList Database Syncs返回某个模式的数据库同步,及其待处理增量数量。
Database SyncFetch Database Deltas返回某个数据库同步的下一个 FIFO 窗口的 SQL 增量。启用 Claim 后,这些行会被租用并且必须确认;否则该读取操作可重放。
Database SyncAcknowledge Database Deltas确认截至某个 ID 的已应用增量——释放租约,并根据同步选项清除已投递的副本。
ConfigurationGet Options可用的模型、语言、策略,以及该组织的套餐额度限制。

Database Sync 模块通过定时场景驱动数据库同步的增量数据流:Fetch Database Deltas 租用下一个 SQL 窗口,由数据库或 HTTP 模块执行,再由 Acknowledge Database Deltas 确认(将 Fetch 的 Next Cursor 映射到 Acknowledge)。

多实体工作流:迭代器模式

Make 场景按操作计费。Make 应用没有移植 n8n 连接器的批量丰富模块,而是使用 Make 内置的 Iterator + Enrich Entity。每次迭代相互独立,失败不会连锁蔓延,计费也精确反映实际处理的内容。

[trigger: array of entities]
[Make: Iterator] (splits into N bundles)
[this app: Enrich Entity] (one operation per entity)
[Make: Aggregator] (recombines, optionally with skip-on-error)
[downstream: upsert to CRM / database]

主要特性

支持 40 种语言的多语言

单次 Enrich Entity 调用即可填充所有选定语言的每个多语言属性——在一次 LLM 过程中生成,而非 N 次连续往返。可直接映射任意语言:{{result.names.primary.fr}}。

单次调用扩充

专用的 POST /api/single/enrich/sync 端点在服务器端封装了流式流程。一次 Make 操作 = 一个 bundle。无需轮询,也无需双模块模式。

默认简单模式

“实体丰富”模块打开时仅包含实体数据、schema、语言和网络搜索——Entity Enricher 会自动使用您组织的最佳模型运行。模型、附件、策略以及分类/仲裁选项位于 Make 的“显示高级设置”开关之后。

动态下拉菜单 (RPC)

配置时由 10 个 RPC 获取架构、数据库同步、模型、语言、策略、分类/仲裁模型、响应架构和结构化输出选项——置顶的架构优先显示,模型标签中包含价格信息。

多模型自动融合

选择 2 个以上模型,结果会自动融合。输出包中包含 is_fused、source_models[] 以及 fusion: {agreed_fields, conflicted_fields, total_fields, method, arbitration_model} 摘要。

预检 Classification

可选的廉价分类器模型会在增强运行前验证实体是否与 schema 预期的类型匹配。不匹配时会生成带类型的 DataError,而不是幻觉数据。

套餐限额与额度提示

HTTP 402 错误(套餐限制或 credit 不足)会转换为类型化的 Make OutOfMoneyError。该消息会回显后端的可读详情(credit 耗尽时附带账单充值 URL),并附加一个机器可读的代码——可在 scenario 错误处理器中根据该代码分支处理,以提醒人工、回退到更便宜的 model 或暂停。

网络搜索下拉锁定

Web 搜索下拉菜单读取 parameters.models,当所选 model 均未声明 supports_web_search 时会自动禁用。

无 batch 模块

Make 场景按操作计费。多实体工作流使用 Make 内置的 Iterator + Enrich Entity,可实现精细的按实体错误处理和精确计费。

可配置超时

每次调用默认超时 300 秒,范围限定为 [10, 900]。若任务未能及时完成,将在服务器端自动取消,并返回类型化的 ConnectionError。

错误契约

后端可能返回的每种状态都会映射为一个类型化的 Make 错误,这样 scenario 错误处理程序就能根据失败模式进行分支处理,而无需解析字符串。

Make 场景:针对 OutOfMoneyError 进行分支的错误处理器
HTTPMake 错误类型触发时机
400DataError未找到 Schema、缺少搜索键、模型或语言无效。
401InvalidCredentialsAPI 密钥无效或缺失。
402OutOfMoneyError超出套餐限额或额度不足。Message = body.detail.detail(可读文本,insufficient_credits 会附带充值 URL)+ body.detail.code(机器可读)。根据 code 分支处理:insufficient_credits、model_limit_exceeded、language_limit_exceeded、concurrent_job_limit_reached、daily/weekly/monthly_prompt_limit_exceeded。
403AccessDeniedError角色或权限范围不足。
404InvalidConfigurationError未找到 Schema 或记录。
422DataError分类警告。body.detail.classification 携带 status、reasoning、confidence、entity_description。
429RateLimitError提供商速率限制(暂时性)。
499RuntimeError作业已取消。
502ConnectionError上游 LLM 提供商出错(例如上下文溢出)。
504ConnectionError已超过 timeout_seconds;任务已在服务器端自动取消。

从示例场景开始

应用内置六个可导入的场景蓝图——单条扩充、Iterator 批量模式、文档转扩充、图片转示例转模式、示例转模式,以及消费数据库同步的增量数据流。直接导入其中一个并换成你自己的连接,无需从零搭建模块。

工作流创意

CRM 富集在新增 HubSpot/Salesforce 联系人时触发,用公司数据进行增强,并更新 CRM 记录。
电子表格流水线从 Google Sheets 读取实体,使用 Iterator + Enrich Entity,并将结果写回新的工作表。
条件性重新仲裁先运行基于规则的融合;如果 conflicted_fields > 5,则通过 Merge Results 使用 LLM 仲裁者重新合并——无需重新运行代价高昂的充实。
套餐限额路由发生 OutOfMoneyError 时,在 Slack 中提醒相关人员,并暂停 scenario 直至配额周期重置。
定时刷新按 cron 计划(Make Schedule 触发器)运行,用最新模型重新充实过时记录。

后续步骤