本方案目标:

  • 从月度 2 万条(或百万级)工单文本中自动发现 10–30 个知识主题
  • 生成可读知识卡片(主题名称、典型描述、根因、推荐方案)
  • 每条结论附原始工单 ID,确保可追溯
  • LLM 调用次数固定,与样本量无关
  • 整体处理时间:2 万条数据小于 5 分钟

核心技术组合

  • Embedding:BGE-M3(1024 维)
  • 聚类:k-LLMmeans(GitHub: jairoadiazr/k-LLMmeans)
  • 向量存储:ClickHouse 原生 Array(Float32) + HNSW 索引
  • Agent 框架:LangGraph(封装为 KnowledgeMiningTool)

处理位置

  • Embedding 与 k-LLMmeans 聚类:全部在 Agent 侧(Python 进程)完成
  • ClickHouse:仅负责数据拉取、向量持久化存储及 HNSW 索引

向量存储设计(推荐独立表)

CREATE TABLE IF NOT EXISTS work_order_embeddings (
    order_id        String,
    dt              Date,
    embedding       Array(Float32),
    cluster_id      UInt32 DEFAULT 0,
    cluster_summary String
) ENGINE = MergeTree()
ORDER BY (dt, order_id);

ALTER TABLE work_order_embeddings
ADD INDEX embedding_hnsw embedding TYPE hnsw('L2Distance') GRANULARITY 1000;

系统架构图

输出层

Agent 侧 Python + LangGraph

ClickHouse 存储层

1.时间范围查询

2.拉取文本

3.生成向量

4.读取向量

5.LLM 生成质心

6.写入聚类结果

7.生成报告

宽表 wide_work_order_table 工单名 + 总结 + 聊天记录

向量表 work_order_embeddings embedding + HNSW索引

KnowledgeMiningTool

BGE-M3 Embedding sentence-transformers

k-LLMmeans 聚类引擎

LLM\nQwen2.5 / DeepSeek / Grok 仅生成质心总结

知识维度报告 Markdown/PDF 知识卡片 + 可追溯ID

处理流程图

用户输入时间范围

Agent 调用 ClickHouse 拉取工单文本数据

Agent 侧 BGE-M3 批量生成 Embedding 拼接工单名 + 总结 + 聊天记录

向量写入 ClickHouse work_order_embeddings 表 支持增量

Agent 侧 k-LLMmeans n_clusters=15~20 LLM 仅对质心调用 与样本量无关

聚类结果写回 ClickHouse cluster_id + cluster_summary

LLM 生成知识报告 每簇包含: 主题名称 占比 根因与方案 Top5 工单ID

知识维度报告完成 可存入知识库 RAG

主要优势

  • 聚类结果可解释且 100% 可追溯
  • 支持百万级扩展(分批 Embedding + 子采样)
  • LLM 调用次数固定,成本可控
  • 可直接集成现有 ClickHouse 宽表
Logo

Agent 垂直技术社区,欢迎活跃、内容共建。

更多推荐