使用运行在 VPS 上的 LLM 实现个性化电子邮件营销活动的自动化生成
本文将一步一步地教你如何在 VPS 上使用 LLM 实现个性化电子邮件自动化。.

使用运行在 VPS 上的 LLM 实现个性化电子邮件营销活动的自动化生成

本文将探讨如何在虚拟专用服务器 (VPS) 上使用语言模型 (LLM) 自动生成个性化电子邮件营销活动。您将学习如何部署 LLM、生成目标明确的电子邮件,以及如何通过元设置和安全策略提高营销活动转化率。.
0 股票
0
0
0
0

如何在VPS上使用LLM实现个性化电子邮件营销活动的自动化?

本技术性分步指南展示了如何在 VPS 或云服务器上部署 LLM,生成个性化电子邮件文本,并通过正确配置 MTA 和 DNS 记录,安全可靠地大规模运行发送活动。.

整体架构——基于 VPS 运行的 LLM 实现个性化电子邮件营销活动自动化

典型的架构包括以下组件,每个组件在生成、排队和发送电子邮件方面都发挥着特定作用:

  • LLM推理服务器(基于VPS/GPU云平台) — 实施该模型以生成个性化内容。.
  • 应用程序 API(FastAPI/Flask) — 数据库、LLM 和发送队列之间的接口。.
  • 消息队列和工作进程(Redis + Celery 或 RabbitMQ) — 后台发送和定价管理。.
  • MTA 或 SMTP 中继(Postfix/Haraka 或 Mailgun/Sendgrid 等外部服务) — 实际发送电子邮件。.
  • 监控和日志记录(Prometheus + Grafana + ELK) 以及反弹管理。.
  • DNS 记录:专用 IP 的 SPF、DKIM、DMARC 和 PTR。.

在VPS或云服务器上部署的优势:

  • 对数据和模型拥有完全控制权 — 对隐私和合规性至关重要。.
  • 使用 GPU 云的能力 用于推断大型模型。.
  • IP分配和预热管理 为了提高交付效率。.
  • 地理分布 利用 85 个以上位置来降低延迟。.

前提条件和服务器选择

硬件和位置选择

适用于大型机型(7B/13B+) 建议使用配备 16–48 GB 显存的服务器 GPU(例如 A100/RTX 3090/4090)。对于较小或量化模型,例如: LLama-2-7B q4_0 你可以使用配备 32GB 以上内存的 CPU。.

地点: 为了提高本地收件箱的送达率,来自同一地理区域的 IP 地址可能有所帮助;但对于整体送达率而言,IP 地址封锁及其历史记录更为重要。.

软件

建议的软件组件:

  • Docker、Docker Compose 或 Kubernetes(用于扩展)。.
  • 文本生成推理 (TGI) 或 vLLM 用于推理;更轻量级的路径,如 GGML/llama.cpp,适用于 CPU 服务器。.
  • API 使用 FastAPI,队列使用 Celery + Redis,发送使用 Postfix/Haraka 或 SMTP 中继。.

实际操作——循序渐进

基本安装(以Ubuntu为例)

在 Ubuntu 上安装 Docker 的说明:

sudo apt update
sudo apt install -y docker.io docker-compose
sudo systemctl enable --now docker

LLM + API + Redis 的 Docker Compose 示例

一个简单的版本,它运行 TGI 作为推理程序和一个 FastAPI 应用程序:

version: "3.8"
services:
  tgi:
    image: ghcr.io/oobabooga/text-generation-inference:latest
    ports:
      - "8080:8080"
    volumes:
      - ./models:/models
    environment:
      - MODEL_ID=/models/your-model
    deploy:
      resources:
        reservations:
          devices:
            - capabilities: [gpu]
  api:
    image: yourrepo/email-llm-api:latest
    build: ./api
    ports:
      - "8000:8000"
    environment:
      - TGI_URL=http://tgi:8080
      - REDIS_URL=redis://redis:6379
    depends_on:
      - tgi
      - redis
  redis:
    image: redis:6
    ports:
      - "6379:6379"

简单 API 示例(Python + FastAPI)— LLM 调用和格式化

以下是使用 TGI 生成内容并将其排队在后台发送的示例代码片段:

from fastapi import FastAPI, BackgroundTasks
import requests, smtplib
from jinja2 import Template

app = FastAPI()

def send_email(smtp_host, smtp_port, user, password, to, subject, body):
    import smtplib
    from email.mime.text import MIMEText
    msg = MIMEText(body, "html")
    msg["Subject"] = subject
    msg["From"] = user
    msg["To"] = to
    with smtplib.SMTP(smtp_host, smtp_port) as s:
        s.starttls()
        s.login(user, password)
        s.sendmail(user, [to], msg.as_string())

@app.post("/generate-and-send")
def generate_and_send(payload: dict, background_tasks: BackgroundTasks):
    tgi_resp = requests.post("http://tgi:8080/generate", json={
        "prompt": f"Create a personalized marketing email for {payload['name']} about {payload['product']}",
        "max_new_tokens": 200
    }).json()
    email_body = tgi_resp["generated_text"]
    template = Template(email_body)
    final = template.render(**payload)
    background_tasks.add_task(send_email, "smtp.local", 587, "[email protected]", "smtp-pass", payload["email"], "پیشنهاد ویژه", final)
    return {"status": "queued"}

电子邮件设置和送达率

SPF、DKIM、DMARC

示例记录和关键步骤:

  • 防晒系数: DNS 中的 TXT 记录及其示例值:
    "v=spf1 ip4:YOUR.IP.ADD.RESS include:spf.yourrelay.com -all"
  • DKIM: 使用 OpenDKIM。密钥生成:
    opendkim-genkey -t -s mail -d example.com
  • DMARC: 示例记录:
    _dmarc.example.com TXT "v=DMARC1; p=quarantine; rua=mailto:[email protected]; ruf=mailto:[email protected]; pct=100"

PTR、专用IP和热身赛

PTR(反向 DNS) 它应该返回电子邮件主机名。.

热身: 使用专用 IP 和预热程序:最初发送有限的数量(例如每天 50-200 封电子邮件),然后逐渐增加以避免被屏蔽。.

速率限制和排队

Postfix 速率和连接限制配置示例:

smtpd_client_message_rate_limit = 100
smtpd_client_connection_count_limit = 10

对于大型活动,通常最好使用可信的 SMTP 中继,并让应用程序端仅根据提供商的限制来控制发送队列。.

安全和隐私

TLS: 始终使用 STARTTLS 或 SMTPS 发送 SMTP 请求。Postfix 的 main.cf 文件中:

smtpd_tls_cert_file=/etc/letsencrypt/live/example.com/fullchain.pem
smtpd_tls_key_file=/etc/letsencrypt/live/example.com/privkey.pem

密钥和令牌存储: 使用 Vault 或 Secret Manager。.

敏感数据加密: 在 PostgreSQL 中,您可以使用 pgcrypto 或字段级加密。.

监控、退信处理和指标

弹跳处理: 通过 VERP 或特定邮箱收到退信是处理和更新数据库中状态的必要条件。.

关键绩效指标: 送达率、打开率、点击率、跳出率、垃圾邮件投诉。.

系统监控: Prometheus 用于 CPU/GPU/VRAM,Grafana 仪表板用于延迟推断、队列长度和成功/失败指标。.

可扩展性和模型优化

利用GPU云和量化

对于大型模型,建议使用 GPU 云。量化(4 位/8 位)以及使用 vLLM 或 Triton 等技术可以减少 4-10 倍的内存占用,并提高吞吐量。.

缓存产品和提示模板

为了降低每次模型调用的成本,缓存重复的文本部分,并使用提示模板和安全方法来替换 PII 字段。.

比较不同地点并推荐推广活动

  • 本地受众: 如果大多数接收者位于同一国家/大洲,则同一地区的 VPS 可以降低延迟,有时还可以提高互操作性。.
  • 向主要邮件服务提供商(Gmail、Yahoo)发送邮件: 比地理位置更重要的是 IP 地址封锁历史记录和 DNS 设置。.
  • 抵御攻击: 在遭受攻击期间,使用反 DDoS 服务器和 BGP 网络对于保证服务连续性至关重要。.

实施清单(分步指南)

  1. 根据型号选择位置和服务器类型(GPU 或 CPU)。.
  2. 设置 VPS 并安装 Docker/Docker Compose。.
  3. 部署 LLM 推理服务器 (TGI/vLLM) 和 API。.
  4. 队列配置(Redis + Celery)和工作进程。.
  5. 设置有效的 MTA 或选择有效的 SMTP 中继。.
  6. 生成 DKIM 密钥并添加 SPF、DKIM、DMARC 记录。.
  7. 使用 certbot 设置 TLS 并设置 PTR。.
  8. 按计划进行 IP 预热(7-14 天)。.
  9. 主动监控和反弹处理。.
  10. A/B测试和KPI衡量。.

针对不同团队的实用技巧

  • 对于 DevOps: 使用 IaC(Terraform 或 Ansible)进行网络和 DNS 部署,并使用容器注册表存储镜像。.
  • 用于市场营销: 利用投放和互动指标来设置提示和细分目标。.
  • 出于安全考虑: 使用 IP 允许列表和速率限制来限制对 LLM API 的访问。.

结论

基于 VPS 的 LLM 个性化邮件营销活动自动化方案,融合了语言模型、队列架构和邮件基础设施的强大功能。通过从 85 多个全球服务器位置中选择合适的服务器,利用 GPU 服务器进行推理,并优化 SPF/DKIM/DMARC 等安全策略,可以显著提高邮件打开率和转化率,同时降低风险。.

如果您需要查看详细配置(CPU/GPU、位置、专用 IP 和预热计划),您可以利用服务中提供的专业托管和配置选项,或者咨询技术团队。.

常见问题解答

您可能也喜欢