前端进阶之旅前端进阶之旅
基础篇
进阶篇
高频篇
精选篇
手写篇
面经篇
AI 篇
原理篇
每日一题
小程序题库
知识卡片
  • 场景篇按分类整理的大前端场景考点
  • 历年面经按年份追踪真实考点
  • 算法题库NEW在线编码即时判题
  • 专项自测100 题快速查漏
  • 前端基础
    • HTTP从报文一路讲到 HTTPS
    • 浏览器渲染、事件循环、进程
    • 计算机基础Linux、网络、操作系统
  • 进阶专项
    • 设计模式23 种模式怎么用
    • 前端系统进阶学习大型项目工程化
    • 前端综合文章长期沉淀的实践文
  • 工程与工具
    • Node学习指南从环境搭建到服务端
    • NPM工作流script、依赖与发布
    • Docker容器化部署上手
    • Canvas图形与动画实战
  • 路线与导图
    • 思维导图知识点全景图
    • 学习路线按图索骥不跑偏
  • 动态
    • 公众号动态公众号历史文章
    • 博客动态站长的技术博客
    • 开发者导航常用工具与文档站
  • AI 助手随时提问,即时解析
  • AI 模拟面试模拟真实面试 + 报告
  • AI 知识地图串起全站知识点
  • AI 定制路线按你的简历现排
AI 热点
旧版
基础篇
进阶篇
高频篇
精选篇
手写篇
面经篇
AI 篇
原理篇
每日一题
小程序题库
知识卡片
  • 场景篇按分类整理的大前端场景考点
  • 历年面经按年份追踪真实考点
  • 算法题库NEW在线编码即时判题
  • 专项自测100 题快速查漏
  • 前端基础
    • HTTP从报文一路讲到 HTTPS
    • 浏览器渲染、事件循环、进程
    • 计算机基础Linux、网络、操作系统
  • 进阶专项
    • 设计模式23 种模式怎么用
    • 前端系统进阶学习大型项目工程化
    • 前端综合文章长期沉淀的实践文
  • 工程与工具
    • Node学习指南从环境搭建到服务端
    • NPM工作流script、依赖与发布
    • Docker容器化部署上手
    • Canvas图形与动画实战
  • 路线与导图
    • 思维导图知识点全景图
    • 学习路线按图索骥不跑偏
  • 动态
    • 公众号动态公众号历史文章
    • 博客动态站长的技术博客
    • 开发者导航常用工具与文档站
  • AI 助手随时提问,即时解析
  • AI 模拟面试模拟真实面试 + 报告
  • AI 知识地图串起全站知识点
  • AI 定制路线按你的简历现排
AI 热点
旧版
返回 AI 情报前线
All News · 全部资讯9786
  • AWS 开源 2B 决策模型,专做选项判断
  • AI 代码审查太吵,会让真问题被忽略
  • Gemini 视频转仿真演示打通机器人训练
  • RAG 检索不准,先评测嵌入模型
  • 实测 agent-hooks:演示不等于兼容认证
  • 让 Claude Code 直接查询 Grafana 排障
  • Copilot 正式接入 Gemini 4 Argon
  • AI 写码的回报取决于审查与反馈
  • 128GB 苹果芯片 Mac 的 oMLX 部署调优
  • CodeAct 用可执行代码组织 Agent 行动
  • 实测 agent-hooks 在执行前拦截超额退款
  • 用 Python 与 Claude 搭建文本清洗流水线
  • 长任务 Agent 如何保存和恢复工作状态
  • 谷歌旗舰 Argon 开放全球 API 接入
  • GitHub 用上下文模型改进密钥扫描
  • 自动化管理 Bedrock 跨账号定价授权
  • AI Studio个人应用可直接经Play安装
  • 企业问答如何选型:检索增强还是微调
  • 日志与搜索结果如何成为提示注入入口
  • Gemini CLI 自动化为何受终端环境影响
  • Gemini 夜间优化二十万行 Python 项目
  • Gemini 4 Argon 将物理推理接入机器人开发
  • n8n 接入 Gemini 4,串联 MCP 与智能体
  • 自然语言安全查询如何降低成本与延迟
  • DeepMind 发布 Gemini 4 Argon 前沿模型
  • Gemini 4 付费上线,API 限时半价
  • Gemini 4 Argon统一百万Token额度
  • Gemini 4 发布,宣称提升编程与复杂推理
  • Google 向开发者开放 Gemini 4 Argon
  • 用 Slack 智能助手打通 IT 支持流程
  • Grok 4.7 智能体如何平衡推理成本
  • MoE 内核优化提升 H200 推理性能
  • SparseEngine 统一接入十五种稀疏注意力
  • 小模型提示测试:输出格式比文风更关键
  • 用运行状态自动推动编程 Agent 完成任务
  • 微调指标持平,却漏掉更多关键样本
  • 用大模型提取工程图纸中的控制点位
  • 用提交钩子约束编程 Agent 的调用
  • BitNet 提供低比特模型本地推理框架
  • Open WebUI 统一管理本地与云端模型
  • Agent 安全应落实到工具授权层
  • 用拒收日志定位 LLM 工作流故障
  • 已加载 42 / 9786
8.0
热点
AI SCORE
技术实践2026-10-14 02:31

用 Python 与 Claude 搭建文本清洗流水线

dev.to · AI#数据清洗#Claude#自动化
Editor brief · 编辑速览

通过 n8n 编排 Python 与 Claude,将评论、工单和日志清洗并提取为包含分类、情绪及紧急程度的 JSON。方案加入正则与关键词回退机制,在 API 或 webhook 不可用时维持基础处理能力。

文章思维导图
Knowledge map
拖拽缩放
Full translation

完整中文译文

本项目展示了如何构建一条异步自动化流水线:使用 Python 脚本处理非结构化文本数据(例如客户评价、支持工单或原始文本日志),通过 n8n 编排流程,并借助 Claude 3.5 Sonnet(Anthropic)增强处理能力。

这套方案将人工文本分类的工作量减少了 90%,输出干净、结构化的 JSON 数据,可直接写入数据库或供下游分析仪表盘使用。

自动文本规范化:清理空白字符,处理特殊字符,并验证数据结构。

AI 驱动的实体与情感提取:利用 Claude 3.5 Sonnet 对反馈进行分类,判断情感倾向(Positive、Negative、Neutral),并评估紧急程度(High、Medium、Low)。

基于规则的回退引擎:当 API 或 webhook 无法访问时,使用本地正则表达式和关键词解析,保障服务的高可用性。

n8n 工作流集成:将不同的数据接入渠道直接连接到 LLM 处理节点。

🛠️ 架构与技术栈

编程语言:Python 3.10+(pandas、requests、python-dotenv)

编排工具:n8n(自托管或 n8n Cloud)

LLM 引擎:通过 Anthropic API 使用 Claude 3.5 Sonnet / Claude 3 Haiku

数据格式:JSON、CSV、Markdown

版本控制:Git / GitHub

[ 非结构化数据(CSV/JSON) ] │ ▼ [ Python 预处理 ] │ ▼ [ 入站 Webhook(n8n) ] │ ▼ [ 处理与推理(Claude AI) ] │ ▼ [ 结构化输出(干净的 JSON) ]

本地环境已安装 Python 3.10+。

一个正在运行的 n8n 实例。

一个 Anthropic API key(ANTHROPIC_API_KEY)。

已配置的 Python 虚拟环境(venv)。

💻 第 1 步:使用 Python 提取和预处理数据

下面的脚本读取包含原始客户反馈的 CSV 文件,执行基础文本规范化(去除特殊字符和空白字符),然后将数据发送到 n8n webhook。

import pandas as pd
import requests
import json
import re

WEBHOOK_URL = "https://your-n8n-instance.cloud/webhook/process-data"

def clean_text(text: str) -> str:
    """Sanitizes text by stripping line breaks, tab characters, and extra spaces."""
    if not isinstance(text, str):
        return ""
    text = re.sub(r'[\r\n\t]+', ' ', text)
    text = re.sub(r'\s+', ' ', text)
    return text.strip()

def process_and_send(file_path: str):
    """Loads CSV data, cleans input strings, and posts payload to n8n webhook."""
    df = pd.read_csv(file_path)

    # Assuming input column is named 'feedback'
    df['clean_feedback'] = df['feedback'].apply(clean_text)

    payload = {
        "source": "customer_feedback_batch",
        "records": df[['id', 'clean_feedback']].to_dict(orient='records')
    }

    response = requests.post(
        WEBHOOK_URL, 
        headers={"Content-Type": "application/json"},
        data=json.dumps(payload)
    )

    if response.status_code == 200:
        print("✅ Data successfully transmitted to n8n.")
    else:
        print(f"❌ Transmission failed: {response.status_code} - {response.text}")

if __name__ == "__main__":
    process_and_send("input_data.csv")

⚙️ 第 2 步:配置 n8n 工作流

n8n 工作流由四个核心节点组成:

Webhook Node:监听 HTTP POST 请求,接收 Python 发送的数据。

Item Lists / Split Node:拆分 records 数组,独立处理每条文本。

HTTP Request / LangChain Node(Claude AI):使用严格要求 JSON 输出的 system prompt,将文本转发给 Anthropic API。

Respond to Webhook / Storage Node:汇总结构化输出。

用于 Claude AI 的 System Prompt:

You are a senior data analyst specializing in text classification.
Analyze the following customer feedback and return ONLY a valid JSON object adhering strictly to this schema:

{
  "sentiment": "POSITIVE" | "NEUTRAL" | "NEGATIVE",
  "category": "TECHNICAL_SUPPORT" | "BILLING" | "USABILITY" | "OTHER",
  "urgency_score": 1-5,
  "summary": "Concise single-sentence summary"
}

Feedback input: {{ $json.clean_feedback }}

📊 第 3 步:预期输出

自动化工作流返回的处理结果:

{
  "id": 1042,
  "original_text": "The app crashes every time I try to download my billing statement in PDF.",
  "analysis": {
    "sentiment": "NEGATIVE",
    "category": "TECHNICAL_SUPPORT",
    "urgency_score": 4,
    "summary": "Critical crash occurring during PDF billing statement downloads inside the mobile application."
  }
}

🧪 测试与错误处理

API 超时:如果 Claude API 的响应时间超过 10 秒,n8n 会触发失败自动重试策略,采用指数退避,最多尝试 3 次。

JSON 验证:如果 Claude 在 JSON 数据之外返回了意料之外的对话文本,Code 节点中的正则表达式会提取 {...} 括号包裹的内容,确保下游能够正常解析。

姓名:Marcela Zapata Vanegas

专长:技术写作、数据分析与 AI 自动化

GitHub:github.com/whoismarce

如需采取进一步措施,可以考虑屏蔽此人和/或举报滥用行为。

Original source

本文由 AI 翻译整理自 dev.to · AI,原文版权归原作者所有。

阅读英文原文
上一篇
实测 agent-hooks 在执行前拦截超额退款
下一篇
长任务 Agent 如何保存和恢复工作状态