最新n1n v2.0.1 正式上线!企业级大模型接口聚合平台 (LLM API Gateway),为您接入 500+ AI Models,价格低至 1 折,立即尝试

使用 Vapi 与 Shopify 构建多语言语音 AI 销售代理

作者
  • avatar
    姓名
    Nino
    职业
    Senior Tech Editor

在传统的电商运营中,人工电话客服与销售往往受限于人员成本、工作时间以及语言能力。随着实时语音处理与大语言模型(LLM)技术的突破,构建全自动、高智商的电话语音 AI 销售代理已成为可能。利用现代语音网关 Vapi、Shopify 电子商务数据库、n8n 低代码工作流引擎以及 n1n.ai 提供的极速大模型 API 接入,企业可以快速搭建一台能够自如应对多国语言、实时查询库存、解答商品疑问并辅助下单的电话 AI 销售机器人。

本教程将从系统架构设计、API 权限配置、n8n 工作流编写、多轮对话状态持久化到生产环境故障排查与延迟调优,全方位解析如何构建一套企业级多语言语音 AI 销售代理。

电商多语言语音 AI 销售代理的核心架构与工作原理

一套生产级别的语音 AI 销售系统需要将语音识别(STT)、业务逻辑编排、数据库查询、大语言模型推理(LLM)以及语音合成(TTS)解耦,形成异步事件驱动的工作流。系统整体运行逻辑如下:

  1. 语音接入与实时识别(Vapi):Vapi 接入电话线路或 WebRTC 音频流,执行实时语音识别,自动检测用户说话的 ISO 语言代码,并将转写文本打包为 JSON 提交给 Webhook。
  2. 自动化工作流编排(n8n):n8n Webhook 触发器接收请求,解析用户意图与语言标记,同时维护会话状态。
  3. 电商数据查询(Shopify GraphQL):n8n 提取关键词后向 Shopify 发起 GraphQL 查询,实时获取匹配商品的名称、价格、规格及库存状态。
  4. 多语言智能推理(统一 LLM API 网关):提示词、商品元数据及历史对话组合后,发送至大模型(如 OpenAI GPT-4 或 Claude 3.5 Sonnet)。通过 n1n.ai 统一接口接入,能有效保障在大并发下的低延迟响应,并严格输出对应语言的简短话术。
  5. 语音合成与流式回放(Google Cloud TTS & Vapi):大模型输出的文本被转换为高保真语音(MP3 流),通过 Vapi 实时播放给电话终端的用户。

系统核心组件技术选型与对照表

组件名称推荐技术 / 平台在系统中的核心职责成本与性能参考指标
语音网关Vapi电话线路接听、实时多语言 STT、语音流调度按通话分钟付费;端到端延迟 < 300ms
电商后台系统Shopify商品目录管理、库存查询、订单生成(GraphQL API)标准版 $39/月起;API 限流 40 req/s
工作流引擎n8nWebhook 接收、数据解析、API 节点协同Community 开源版免费或 n8n 云服务
LLM 推理 APIOpenAI GPT-4 / DeepSeek via n1n.ai动态语义理解、多语言话术生成与销售引导通过 n1n.ai 统一调用,优化 Token 吞吐与稳定性
语音合成 (TTS)Google Cloud Text-to-Speech文本转自然多语言语音(Neural / Polyglot 音色)Standard 每百万字 4.00/Neural每百万字4.00 / Neural 每百万字 16.00
会话持久化Supabase / PostgreSQL保存多轮对话上下文、购物车状态与通话日志免费层支持 500 MB 数据存储

预计整体开发部署时间:8 到 12 小时(视对 API 及 n8n 的熟练程度而定)。


第一步:配置 Vapi 语音应用与多语言网关

Vapi 充当整个系统的语音前台,原生支持超过 30 种语言的自动识别与切换,无需配置多套独立的语言处理管道。

  1. 登录 Vapi 控制台,点击 Voice Applications -> Create New Application
  2. 在应用设置页面,开启 Multilingual Speech-to-TextMultilingual Text-to-Speech 功能。
  3. 在语言列表中添加目标市场语言代码(例如 en-USes-ESfr-FRzh-CN)。
  4. 进入 Developer Settings 页面,复制 Vapi API Key 备用。
  5. 保持控制台打开,后续步骤中我们将填入 n8n 提供的 Webhook 回调地址。

第二步:创建 Shopify Custom App 并获取 GraphQL 访问权限

为了让 AI 销售代理能够读取商品价格与库存,我们需要在 Shopify 后台配置权限。

  1. 登录 Shopify 管理后台,依次点击 Apps -> Develop apps for your store
  2. 点击 Create an app,命名为 VoiceSalesBot
  3. 进入 Admin API Integration 页面,勾选以下权限作用域(Scopes):
    • read_products(查询商品目录与详情)
    • read_inventory(查询实时库存量)
    • write_orders(创建草稿订单)
  4. 点击 Install App,安全保存生成的 Admin API Access Token
  5. 记录你的 Shopify GraphQL 接口地址:https://YOUR-STORE-NAME.myshopify.com/admin/api/2023-10/graphql.json

第三步:搭建 n8n 自动化编排工作流

n8n 是连接各 API 模块的核心枢纽。我们将一步一步配置输入解析、数据查询、LLM 生成与 TTS 输出。

1. Webhook 配置与意图解析

在 n8n 中新建 Workflow,添加一个 HTTP Webhook 节点,请求方式设为 POST。在 Webhook 后紧跟一个 Set 节点(命名为 ExtractIntent),提取语音转写文本与语言标志:

{
  "nodes": [
    {
      "parameters": {
        "values": {
          "string": [
            {
              "name": "transcript",
              "value": "={{ $json[\"speech\"][\"transcript\"] }}"
            },
            {
              "name": "language",
              "value": "={{ $json[\"speech\"][\"language\"] || 'en-US' }}"
            },
            {
              "name": "callId",
              "value": "={{ $json[\"call\"][\"id\"] }}"
            }
          ]
        }
      },
      "name": "ExtractIntent",
      "type": "n8n-nodes-base.set",
      "typeVersion": 1
    }
  ]
}

2. 调用 Shopify GraphQL 查询实时数据

添加一个名为 FetchProduct 的 HTTP Request 节点,请求地址为 Shopify 的 GraphQL URL,请求头中携带 Authorization: Bearer YOUR_SHOPIFY_ADMIN_TOKEN

请求体 JSON payload 结构如下:

{
  "query": "query searchProducts($query: String!) { products(first: 3, query: $query) { edges { node { id title description variants(first: 1) { edges { node { id price availableForSale } } } } } } }",
  "variables": {
    "query": "{{ $json[\"transcript\"] }}"
  }
}

3. 通过 n1n.ai 统一接口调用大语言模型

为避免单一模型 API 触发 Rate Limit 限制,并确保极速响应,推荐通过 n1n.ai 接口聚合接入 OpenAI GPT-4 或 Claude 模型。配置 HTTP 请求节点指向 n1n.ai 的 OpenAI 兼容 Endpoint:

Prompt 系统指令需严格限制字数,以适应电话语音的简明交互:

{
  "model": "gpt-4-turbo",
  "messages": [
    {
      "role": "system",
      "content": "你是一名专业的线上商城电话 AI 销售助手。请使用语言代码 {{ $node[\"ExtractIntent\"].json[\"language\"] }} 回答客户。保持语气亲切自然,回答限制在 50 字以内。请根据以下商品数据回答:{{ JSON.stringify($node[\"FetchProduct\"].json[\"data\"][\"products\"]) }}"
    },
    {
      "role": "user",
      "content": "{{ $node[\"ExtractIntent\"].json[\"transcript\"] }}"
    }
  ],
  "temperature": 0.3
}

利用 n1n.ai 的 API 网关,开发者能够享受高可靠的负载均衡与高并发吞吐能力,避免因服务商抖动造成电话端出现长时间尴尬沉默。

4. 语音合成与 Vapi 响应回传

将大模型生成的文本传给 Google Cloud TTS HTTP 节点:

{
  "input": {
    "text": "{{ $json[\"choices\"][0][\"message\"][\"content\"] }}"
  },
  "voice": {
    "languageCode": "{{ $node[\"ExtractIntent\"].json[\"language\"] }}",
    "ssmlGender": "NEUTRAL"
  },
  "audioConfig": {
    "audioEncoding": "MP3"
  }
}

最后使用 n8n 的 Respond to Webhook 节点将合成的 MP3 链接或二进制数据回传给 Vapi,Vapi 将即时向用户播放回复语音。


使用 Supabase / PostgreSQL 实现多轮对话状态持久化

在语音销售场景中,单轮问答往往无法满足复杂的购物需求。例如用户第一句问 “这款黑色夹克多少钱?”,第二句接着问 “帮我把它加入购物车”。如果没有会话持久化,系统将丢失上下文。

ExtractIntent 节点后接入 Supabase / PostgreSQL 节点,以 callId 为主键记录会话状态:

-- 创建电话会话状态表
CREATE TABLE IF NOT EXISTS voice_sessions (
    call_id VARCHAR(100) PRIMARY KEY,
    language_code VARCHAR(10),
    last_product_id VARCHAR(100),
    conversation_history JSONB DEFAULT '[]'::jsonb,
    updated_at TIMESTAMP WITH TIME ZONE DEFAULT CURRENT_TIMESTAMP
);

在发起 LLM 请求前,通过 callId 从数据库读取历史对话记录 conversation_history,追加当前轮次的对话后一同送入大模型,即可轻松实现多轮连续对话上下文追踪。


运维、故障排查与防限流应对矩阵

当语音 AI 销售代理部署到生产环境面对真实客流时,系统可能面临各种边界异常。下表总结了常见故障模式及其工程化解决方案:

故障模式核心引发原因与现象生产级解决方案与修复策略
语言识别结果偏差用户说西班牙语但系统识别为英语ExtractIntent 节点中增加校验逻辑;若 Vapi 语言置信度低于 0.7,自动读取 Supabase 中上轮已确定的语言代码。
Shopify API 限流 (429)超过商店最高 40 次 GraphQL 请求/秒限制在 n8n 的 Shopify 请求节点前增加 Delay 延时节点(如 150ms),或在 Supabase/Redis 中对热门商品构建缓存。
LLM 超额或响应超时大模型 API 配额耗尽或服务抖动统一通过 n1n.ai 网关调用 API,利用其多路由自动容灾机制与高额度通道保障服务连贯性。
Google TTS 鉴权失效语音合成返回 401 Unauthorized在 n8n 中建立定时 Cron 节点,每 50 分钟自动刷新 Google OAuth2 Token 或改用 Service Account JSON 密钥签名。
Webhook 地址无法访问Vapi 提示 Webhook delivery failed确保 n8n 运行在具备固定公网 IP 和 SSL 证书的环境;生产环境建议配合 Nginx 负载均衡器。
通话并发导致成本失控高并发长通话消耗大量 Token 与语音时长在 Vapi 后台设置单次通话最大时长限制,并在 n8n 中通过 Function 节点核验当日预算后再发起 LLM 调用。

性能调优:将端到端延迟控制在 1.5 秒以内的工程 Pro Tips

对于电话语音交互,端到端延迟如果超过 2.0 秒,就会让用户产生明显的“机器滞后感”。为了将响应延迟压缩至 1.5 秒以内,可以采取以下调优措施:

  1. 热点商品本地化缓存:将商城前 50 名爆款商品的标题、价格与库存预加载至 Redis 或 Supabase,避免每次对话都实时查询 Shopify API。
  2. 流式 Token 处理 (Streaming):配置后端或 n8n 接收来自 n1n.ai 的流式输出,一旦大模型生成完整句子标点即可分句提交给 TTS,实现边生成边合成。
  3. SSML 语速微调:在提交给 Google Cloud TTS 的请求中加入 SSML 标记,将语速设置为 1.1 倍速,既能保持自然音色又能缩短语音回放耗时。
  4. 长连接保持 (Keep-Alive):在 n8n 与 API 服务商之间启用 HTTP 保持长连接,消除频繁进行 TLS 握手所消耗的时间。

完整测试与验证流程

  1. 在 Vapi 控制台中选择已配置的应用,点击 Dial Test Number(或使用 WebRTC 网页测试端)。
  2. 拨通电话并使用非英语进行测试,例如:“¿Tienen chaquetas de cuero disponibles y cuál es su precio?”(请问有皮革夹克吗?价格是多少?)
  3. 观察 n8n 的 Execution Log 运行日志:
    • ExtractIntent 正确识别语言为 es-ES
    • FetchProduct 成功从 Shopify 检索到皮革夹克信息。
    • LLM 统一接口生成简洁的西班牙语回答。
    • Google Cloud TTS 生成合成音频流。
  4. 确认电话端播放的声音清晰自然,回答准确无误且延迟极低。

总结与未来展望

结合 Vapi 的实时语音传输、Shopify 的商品数据支撑、n8n 的低代码编排以及 n1n.ai 稳定的多大模型 API 接入,企业能够以极低的门槛建立起 24 小时在线的多语言 AI 销售团队。无论是提升海外客群的转化率,还是降低人工客服的排班压力,语音 AI 销售代理都展现出了巨大的商业价值。

Get a free API key at n1n.ai