阅读视图

发现新文章,点击刷新页面。

AI概念解惑系列 - RAG

本文发布于掘金,转载请声明

随着最近几年AI在各个领域大放异彩,作为一个前端开发,我也对AI里的各种技术概念产生了浓厚的兴趣,希望能详细了解这些技术概念和背后的原理后,找寻和前端结合的一些思路。今天我们就来一起了解下AI领域常用到的一个技术——RAG(Retrieval-Augmented Generation),检索增强生成。

一、 开始之前

在开始介绍RAG之前,我们先来简单回顾一下大语言模型LLM的原理。

LLM通过预训练,让模型学习了全网公开的知识(网页、书籍、论文、代码等等),得到一堆“参数”,之后根据用户的输入来不断地预测下一个token应该是什么,最终得到输出。

这种训练好的模型,在通用领域有着比较好的表现。但是根据LLM的原理,我们也能发现它的一些不足:

  • 预训练”:由于是使用了旧的数据进行的训练,对于在训练之后产生新信息,LLM无法回答
  • 公开的知识”:LLM使用了公开的知识训练,对于一些非公开的内容,或者专业数据,LLM同样无法回答
  • 预测”:因为LLM本质上是一个“看前文、猜下文”的大规模统计生成器,所以对于它不知道的信息,在回答时往往会“胡说八道”,也就是常说的Hallucination,“幻觉

对于普通用户一些不要求实时性的通用性问题来说,上面这些不是什么大问题,但是一旦涉及到实时性、专业数据、企业内私有数据时,上面的问题就会严重影响用户体验。

为了解决这些问题,通常有下面两个手段:

  1. 微调大模型
  2. 手动给LLM添加额外知识,即外挂知识库

二、 微调 vs 外挂知识库

1. 微调Fine-tuning

所谓微调(Fine-tuning),就是在预训练模型的基础上,使用特定任务的数据(如私有数据、专业领域知识、最新的信息等)进行进一步训练,让模型在特定领域表现更好。

举个比较形象的例子,通过预训练得到的大模型,就是学习了小学到高中的通识教育的知识,学会语言、数学、常识、逻辑思维,知识面广但不够专业。

而微调阶段(Fine-tuning)类似于专业教育,就好像学习了专业领域课程、成为某个领域的专家。

即“通用模型 + 专业数据 + 针对性训练 = 专业模型”:

  • GPT + 代码数据 + 代码任务训练 = CodeGPT
  • GPT + 医学数据 + 医学任务训练 = MedicalGPT
  • GPT + 法律数据 + 法律任务训练 = LegalGPT

2. 外挂知识库

在和LLM交互时,我们可以通过一些特殊手段,从外部知识库检索相关信息提供给LLM,相当于给AI配个"外挂知识库",让它可以获取到专业领域知识、私有数据、实时信息等等。

而RAG就是比较常用的手段。

3. 对比

对比这两个不难发现,微调是内化知识到了模型参数中,最终的效果肯定是稍微好一些的。

但是考虑到微调下面这些点:

  • 需要大量的标注训练数据(需要对文档等进行数据清洗、标注等)
  • 较高的训练成本(比如训练需要较高的算力,有不小的经济成本和时间成本)
  • 较高的实现难度(需要AI领域的专业知识)
  • 无法保持数据是最新的(内化的知识需要重新训练才能更新)

对于个人或者中小型企业来说,通过RAG外挂知识库是一个更合适的选择:

  • 只需要结构化的文档
  • 不需要训练
  • 较低的实现难度(大多是工程方面的实现)
  • 知识库更新很方便(不需要重新训练,只需要重新向量化即可)

三、 RAG

那我们来看下RAG是什么,所谓 RAG(Retrieval-Augmented Generation) 检索增强生成,就是:

  1. 检索(Retrieval): 从外部知识库中检索相关信息
  2. 增强(Augmented): 将检索到的信息作为上下文
  3. 生成(Generation): 大模型基于检索内容生成回答

它的本质就是上面说的给LLM外挂一个知识库,而它的工作过程,简单来讲就是下面这样:

工作流程

而一个RAG完整工程的架构示意图,则如下所示:

架构示意图

看不懂?没关系,我们一步一步来讲解。

四、 向量和向量化

首先,最基础的一个概念,什么是向量(Vector)向量化(Vectorization/Embedding)

向量(Vector)

向量我们应该不陌生,我们最早应该在高中就学过了,就是一个同时具有数值和方向的量。相对应的,标量则只有数值,没有方向。

向量

向量通常用一个有序的数字数组来表示,比如:

  • 2维向量: [3, 4],可以理解为一个有x轴和y轴的平面直角坐标系,从原点指向[3, 4]这个坐标点的一个向量
  • 3维向量: [1, 2, 3],可以理解为一个有x、y、z三个轴的空间直角坐标系,从原点指向[1, 2, 3]这个坐标点的一个向量
  • 高维向量: [0.2, 0.5, 0.1, ..., 0.8],以此类推,在数学或者计算机领域,一个向量可以有任意多个维度, 比如有几百甚至上千维

而在AI领域,向量是原始数据的数值化表示,用来捕捉语义信息,比如

  • 文本“苹果很好吃”,可以用这样一个向量表示:[0.12, 0.34, 0.89, ..., 0.45]
  • 图片🍎,可以用这样一个向量表示:[0.23, 0.67, 0.12, ..., 0.91]

而具体是怎么把一串文本或者图片转换为向量的,就是向量化所做的工作了。

向量化(Vectorization/Embedding)

向量化,就是将非结构化原始数据(文本、图片、音频等)转换为向量的过程。

向量化

而为了将一个非结构化数据,变为向量,我们首先需要给这个数据定义好它的维度

世界上的所有数据,都可以根据它在某一项特点上的程度而打一个分,数值越高代表这个原始数据在这个特点上的特征越强烈。我们规定数值的范围是[-1, 1],1代表完全符合这个特征,-1代表拥有完全相反的特征。

例如下面这个二维的向量空间:

  • 横坐标代表情感极性,越靠近1代表越正向的情感,越靠近-1代表越负向的情感
  • 纵坐标代表内容类型,越靠近1代表越主观的观点评价,越靠近-1代表越客观的事实陈述

二维向量示例

上面的几个原始文本数据里:

  1. 这部电影太精彩了,演员表演完美
    • 横轴(情感):+0.9(强烈正面)
    • 纵轴(内容类型):+0.8(明显观点评价)
    • 坐标:[0.9, 0.8]
  2. 水的沸点是100摄氏度
    • 横轴(情感):0.0(完全中性)
    • 纵轴(内容类型):-0.9(纯粹事实)
    • 坐标:[0.0, -0.9]
  3. 这个产品质量很差,完全不符合预期
    • 横轴(情感):-0.8(明显负面)
    • 纵轴(内容类型):+0.7(个人评价)
    • 坐标:[-0.8, 0.7]
  4. 令人失望的是,数据显示销售额下降了20%"
    • 横轴(情感):-0.6(负面情绪)
    • 纵轴(内容类型):-0.3(偏向事实但带有主观色彩)
    • 坐标:[-0.6, -0.3]
  5. 数据表明用户流失率高达30%
    • 横轴(情感):-0.7(负面情绪)
    • 纵轴(内容类型):-0.8(事实陈述,且没有明显主观评价在里面)
    • 坐标:[-0.7, -0.8]
  6. 我们彩票中了500万
    • 横轴(情感):+0.9(正面)
    • 纵轴(内容类型):-0.8(事实陈述,且没有明显主观评价在里面)
    • 坐标:[0.9, -0.8]

可以看到,在我们对原始的文本数据从不同维度打分后会出现

  • 相似文本会聚集:比如所有正面评价都会集中在第一象限
  • 距离/夹角反映相似度:坐标距离/夹角越近,文本在情感和类型上越相似

我们的例子里只有两个维度,而在实际应用中可能有几百上千个维度,每个维度代表不同特征,这样的话就可以得到一个高维的向量空间,在向量空间内可以体现出不同数据之间或近或远的关系。

向量空间

另外,向量化除了叫做Vectorization外,也时候也会叫做Embedding,嵌入。这是因为向量化的过程,不只是将一个非结构化数据转为向量数字,更重要的是在这个过程中,将原始数据的语义信息嵌入到了向量空间中,使得语义关系被保留。

举个例子,通常情况下“国王King”和“王后Queen”常出现在相似的上下文中,“男人Man”和“女人Women”经常出现在相似的上下文中。

皇室词汇(King, Queen, Prince)之间的相似度整体大于它们与普通人词汇(Man, Women)的相似度。但是“国王King”和“男人Man”之间又有一些相似,“王后Queen”和“女人Women”之间有一些相似。

而将这四个单词进行向量化后,可能如下图所示:

语义嵌入

“国王King”、“王后Queen”、“男人Man”、“女人Women”的语义以及语义关系被嵌入了向量空间,做到了:

  1. 保持语义关系: 意思相近的词在向量空间中也靠近
  2. 支持语义运算: 实现了king - man + woman ≈ queen这种神奇的运算

如何向量化

向量化是一个很复杂的过程,通常都是使用模型来实现的,即“Embedding models”,比如OpenAI的text-embedding-ada-002(需要API密钥访问),或者也可以使用一些开源的模型。

通常一个模型向量化数据后的维度越高,在后续进行信息检索时就会越精准。

其实除了调用模型这一步之外,完整的向量化过程还有一些其他工作要做,整个过程大概如下:

  1. 读取文档

    • PDF → 提取文本
    • Word → 提取文本
    • Markdown → 读取内容
    • ...
  2. 清洗文本

    • 去除乱码
    • 统一格式
    • 去除无用内容(页眉页脚等)
  3. 把文本进行切割,即文本分块 (Chunking)

    为什么要分块?因为原始文档可能特别长,几千上万字,不方便后续进行向量化和检索。

    而分块的规则也有多种,比如根据标点符号分割,但是可能会存在有的块长度很长,有的又很短的情况;也可以根据固定长度分割,但是可能会导致一个完整的语义被切割到不同的块,每个块里的部分词变得毫无语义价值。

    所以RAG 分割一般用相同块大小 + 块重叠的办法,即所谓的滑动窗口分块,这和按长度截断来分割有点像。用这种办法,在一定程度上能避免文档原意被截断导致分出来的片段变得没价值,而且重叠块里有重复的信息,能让模型更好地理解文档内容。

    文本分块

  4. 使用某个模型进行向量化(Embedding)

    • BGE-base-zh (中文效果好)

    • all-MiniLM-L6-v2 (英文,轻量)

    • text-embedding-ada-002 (OpenAI,需联网)

      假设选择BGE-base-zh (中文),输出维度768维,模型大小约 400MB

  5. 将向量化后的数据存入向量数据库,构建索引(Indexing)

    普通的数据存储有数据库,那么向量的存储,也有专门的向量数据库,它是专为存储与检索高维嵌入向量而设计的数据库。支持基于相似度的检索并可结合元数据过滤,常用于语义搜索、推荐和 RAG。常见的数据库有:

    • Chroma
    • Milvus
    • Qdrant

    假设选择Chroma,那么它的每条记录的存储结构大概为:

    {
      "id": "doc_1_chunk_1",
      "vector": [0.23, 0.45, ..., 0.12],  // 768维向量
      "metadata": {
        "source": "系统架构文档.pdf",
        "chunk_index": 1,
        "text": "第一章 系统架构..."  // 原始文本
      }
    }
    

在做完上述的几个步骤之后,就算是完成了RAG的准备工作,即给LLM准备好了“外挂的知识库”。

知识库向量化过程

五、 RAG - R (Retrieval)

在准备好知识库之后,就可以和LLM进行问答了。那在提出问题后,如何让LLM知晓知识库的内容呢?答案就是RAG中的R,Retrieval检索

在上面的知识库的准备过程中,我们使用了某个Embedding Model进行了知识库的向量化,那么在用户提出问题Query之后,也需要使用相同的Embedding Model,对用户的输入Query进行相同的向量化。

在都进行了向量化之后,就可以开始在向量数据库中检索了,检索和用户的Query相似语义的向量。

相似度匹配

和普通数据库基于关键字的检索不同,向量数据库是基于语义的检索。那怎么判断两个向量的语义是否接近,常见的衡量标准有:

这三个的具体定义和区别如下所示:

算法 公式 定义 适用场景
余弦相似度(Cosine Similarity) cosine 余弦相似度通过测量两个向量的夹角的余弦值来度量它们之间的相似性。
仅反映方向一致性而与长度无关。
当你关心“语义方向/形状”而不想被向量长度影响。
典型应用场景有文本/图像嵌入检索、RAG 向量检索、语义去重、语义聚合。
欧氏L2(Euclidean L2/Square L2) L2 对两向量差的平方和开平方来度量几何距离(或向量自身长度),反映它们在空间中的直线距离。 当你你需要真正的几何距离(度量性质、三角不等式)时。
典型应用场景有K-means 聚类(目标是平方 L2)、最小二乘/MSE、几何邻近、部分 ANN 索引默认。
内积(Inner Product/Dot Product) Inner Product 将两个向量对应分量相乘后求和,得到同时受方向与长度影响的对齐程度(线性打分)。 典型应用场景有最大内积搜索(MIPS)、推荐召回、因子分解机/embedding 打分。

而在RAG语义搜索中,通常使用余弦相似度来计算两个向量是否相似,即通过判断两个向量的夹角大小,来判断两个向量的语义是否接近。还是以上面的这个图为例:

向量空间夹角

在这个向量空间里,Chicken和“鸡”的图片之间,向量的夹角很小,Dog和Wolf夹角很小,Banana和Apple夹角很小,Apple和Apple公司的Logo夹角很小。但是动物和水果之间的向量夹角就很大了,语义上相差很远。

为什么用余弦相似度?

因为文本长度不重要(一句话和一段话可能表达同一意思),我们只关心语义方向是否一致。

ANN

在上面的图中,我们还看到了一个叫做Approximate Nearest Neighbor(ANN)近似最近邻检索算法的东西,这个和余弦相似度有什么关系呢?

简单来讲:

  • ANN是“怎么快地找相似向量”(检索算法/索引)
  • 余弦相似度是“用什么标准衡量相似”(度量/打分)

在RAG中它们是配套使用的,用余弦相似度等度量定义“近邻”,再用ANN在大规模向量库上高效近似地找这些近邻。

完整过程

在完成检索后,通常会拿到Top-K最相关的几条数据。假设用户输入的问题是“如何配置HTTPS?”,那么过程大概如下:

  1. 用户提问:“如何配置HTTPS?”

  2. 用户问题向量化,使用和文档向量化时相同的Embedding Model

  3. 得到Query的向量

    query_vector = [0.31, 0.48, 0.73, ..., 0.15]  // 768维
    
  4. 在向量数据库中搜索

  5. 计算相似度 Chroma自动计算query_vector与所有向量数据库中向量的相似度

    • 向量1: [0.23, 0.45, ...] → 相似度 0.45
    • 向量2: [0.31, 0.52, ...] → 相似度 0.89 ⭐
    • 向量3: [0.12, 0.34, ...] → 相似度 0.32
    • ...
    • 向量8234: [0.29, 0.51, ...] → 相似度 0.91 ⭐⭐
    • 向量8235: [0.35, 0.48, ...] → 相似度 0.87 ⭐
    • ...
  6. 返回 Top-K 最相关的,假设我们设置 K=3,返回相似度最高的3个文本块

    结果:

    1. (相似度 0.91) "4.2 HTTPS配置步骤:首先需要申请SSL证书..."
    2. (相似度 0.89) "安全配置章节:HTTPS是保障网站安全的关键..."
    3. (相似度 0.87) "第五章 证书管理:SSL/TLS证书的申请与部署..."

六、 RAG - A (Augmented)

在得到Top-K相关的数据后,会把这几条结果的原始数据(每条数据的metadata中会有原始数据),和用户的Query,一起给LLM。为什么叫Augmented增强呢?

其实Augmented,就是一个Prompt Engineering提示词工程相关的工作,把Query和知识库中的相关数据,通过一些特殊的Prompt给到LLM,让LLM更好地回答问题。即通过清晰的结构 + 明确的指令,让模型知道该参考什么。例如,一个完整的增强后的提示词可能如下所示:

你是一个技术支持助手。请根据以下参考资料回答用户问题。

## 参考资料

### 文档1(相关度:91%)
来源:网络安全配置手册.pdf
内容:{检索到的文本块1}

### 文档2(相关度:89%)
来源:服务器部署指南.pdf  
内容:{检索到的文本块2}

### 文档3(相关度:87%)
来源:证书管理文档.pdf
内容:{检索到的文本块3}

## 回答要求
1. 必须基于上述参考资料
2. 如果资料不足,明确说明
3. 给出具体步骤
4. 标注信息来源

## 用户问题
如何配置HTTPS?

## 你的回答

七、 RAG - G (Generation)

最后一步的Generation生成,就和平时使用LLM没什么区别了,LLM会根据提示词,来回答问题并按照指定的格式来输出内容。即:

  1. 读取参考资料
  2. 理解用户问题
  3. 从资料中提取相关信息
  4. 组织成结构化回答
  5. 逐字生成输出

以上面的问题为例,LLM最终生成的内容可能如下所示:

根据参考资料,HTTPS配置步骤如下:

1. **申请SSL证书**
   - 可以通过Let's Encrypt获取免费证书
   - 或购买商业证书(来源:证书管理文档)

2. **安装证书**

   sudo cp cert.pem /etc/ssl/certs/
   sudo cp key.pem /etc/ssl/private/
   ...

3. ...

到这里,整个RAG的过程就算是结束了。

RAG流程

八、 完整RAG过程

现在把上面几个步骤结合起来:

私有的知识库
→ 文本分块Chunking
→ 向量化Embedding
→ 存储向量构建索引Indexing
→ 用户提问Query
→ 检索Retrieval
→ 增强Augmented
→ 生成Generation

之后就得到了最开始的这个架构示意图:

架构示意图

九、 FAQ

下面是一些常见的问题:

  1. RAG和传统的全文模糊搜索有什么区别?

    传统的模糊搜索是关键词匹配的,比如

    • 用户搜索:"如何做蛋糕"
    • 系统匹配:只能找到包含"蛋糕"字样的文档
    • 结果:❌ 找不到"烘焙教程"、"甜点制作"等相关内容

    而RAG最重要的一步就是把知识库做了向量化,是根据语义进行搜索的

    • 用户搜索:"如何做蛋糕"
    • 系统理解:用户想学习烘焙技能
    • 结果:✅ 找到"烘焙教程"、"甜点制作"、"面包制作"等相关内容
  2. 既然RAG里面还是要要通过构造提示词来把参考资料放入提示词,那这和“直接在问题里把参考文档也输入进去”有什么区别?

    这是因为我们要考虑成本和效率,一个知识库可能很大,成百上千个文档,数万数十万字,在实际操作的时候,要考虑到:

    • Token限制:GPT-4 最多128K tokens ≈ 10万字,知识库无法塞进去
    • 成本问题:即使能塞进去,128K tokens可能一次调用可能要几美元,成本激增
    • 效率低下:LLM要读完所有无关内容
    • 响应缓慢:处理海量文本需要很长时间 所以RAG中R检索这一步,就是在做过滤,它的本质就是把“无限大”的知识库变成“刚刚好”的上下文
  3. 在做向量化的时候,使用到的Embedding Model和LLM的Model有什么关联,为什么Embedding Model可以识别原始数据的语义?

    简单来讲,Embedding模型大语言模型,他们的基础架构是相似,但目标和训练方式不同。 两者都基于Transformer架构,即:

    • 多头自注意力机制 (Multi-Head Attention)
    • 前馈神经网络 (Feed-Forward)
    • 层归一化 (Layer Normalization)
    • 位置编码 (Positional Encoding)

    但是

    • Embedding Model:专门学习“理解和表示”,输出是向量
    • LLM:专门学习“生成文本”,输出是文字 完整的Transformer可以理解为Encoder编码器 + Decoder解码器。
    组成 作用
    Encoder编码器 理解输入,提取特征
    Decoder解码器 生成输出,逐字生成

Embedding模型主要用的是Encoder,大语言模型主要用Decoder。而Embedding模型之所以比LLM小很多(如BGE-base-zh只有400M),主要是因为它的任务相对简单(映射到向量空间),不需要生成能力,也就不需要记忆海量知识和复杂的推理能力。

十、 小结

这篇文章里,我们一起了解了一下RAG,以及这个技术如何通过外挂知识库解决大语言模型的三大局限:

  • 时效性不足(无法处理训练后新数据)
  • 私有数据缺失
  • 幻觉问题

它的核心机制包含三个阶段:

  • 基于语义的向量化检索
  • 结构化提示词增强上下文
  • 以及大模型的知识整合生成

这样就能实现低成本、易于维护的专业领域知识融合。相比微调方案, RAG无需训练标注数据且支持实时更新,适合用在企业知识库问答、实时政策解读这些场景里。

还有就是这篇文章(或者说《AI概念解惑》这个系列)更专注于概念解惑和原理解析,所以没有包含什么代码实操。

另外这也只是一个简单的原理解析,实际的RAG工程中可能还会包含很多其他的步骤,比如:

  • 文本分块时可能会同时使用语义分块+滑动窗口分块
  • Retrieval阶段可能不只是用向量相似度检索,会使用向量相似度+关键词(如BM25)的混合检索
    • 为什么?因为向量相似度只对语义敏感,对关键词不敏感,比如“Python 3.12”和“Python 3.13”的向量基本相同,但是用户可能是提问具体Python版本的问题
  • 在Retrieval检索后还可能存在一个Reranking重排的步骤
    • 对候选片段进行精细化打分和排序
  • 对于用户的问题Query可能会增加一个Query Rewriting
    • 是为了让问题更规范,比如从一个口语化的表达到一个规范化的表达
  • 使用多路检索(Multi-Path Retrieval)、上下文压缩(Context Compression)、自我反思(Self-Reflection)等手段进行优化
  • 引入RAG评分机制,对RAG的输出结果进行评估
  • ...

感兴趣的可以自行搜索了解。

希望这篇文章能帮助你理解RAG的核心原理和应用场景,如果这篇文章有什么问题,辛苦大家指正。

参考链接

百度电商MultiAgent视频生成系统

导读

随着人工智能技术的迅猛发展,AIGC(AI-Generated Content,人工智能生成内容)正逐步重塑内容创作行业的格局。尤其在视频内容领域,传统制作流程周期长、成本高、依赖人工创作,已难以满足日益增长的内容消费需求。AIGC技术的引入,为视频创作带来了前所未有的效率与可能性。AIGC工具在短视频应用率从22 年不足5%跃升到25年35%。电商场景下,越来越多的平台帮助商家进行AIGC商品视频的创作,帮助其提高商品转化率。基于上述两点,电商搜索在今年开始探索AIGC视频自动化生产方案,尝试基于视频自动化混剪,来满足搜索场景下日益增长的内容需求。

01 早期项目演进与问题

项目早期我们整体视频创作中基于大模型完成分镜脚本生成 + 分镜图片素材检索,其他视频元素(脚本脉络/视频标题/布局/音效/特效等)全部通过规则进行选择和生成。但整体后验效果不佳,通过后验分析我们发现了两个很大的问题:

  • 规则式方案导致视频整体模板化、同质性严重

  • 整体视频素材大部分由口播加静态图片素材组成,比较死板,吸引力弱。

为解决上述2类问题,我们进行了新一版迭代。主要升级点:

  • 规则式视频生成方案升级成 MultiAgent协同视频生成系统,最大化视频先后验指标为目标,动态调度视频元素。

  • 素材供给和类型更丰富(视频素材、泛图表),增加视频素材多维度优选能力,大幅提升高清视频素材的时长占比,显著增强视频吸引力。

02 MultiAgent视频生成系统

通过搭建MultiAgent协同视频生成系统,基于视频内容高效满足和视频画面丰富多样为优化目标,模拟人类视频制作流程,完成分镜脚本生成>多类型素材生成->大模型剪辑成片多轮推理。

2.1 分镜脚本生成Agent

分镜脚本生成在项目初期面临两大问题:

问题1:如何提升脚本准确率?

电商场景下品牌/品类/商品信息需要大量准确数据支撑 => 直接根据互联网语料生成准确率不到80%。

解法:脚本生成信息来源以电商高精知识图谱为主,第三方优质视频文案(B站视频等)为辅,保证核心主体信息准确的同时丰富故事细节,脚本可用率大大提升。如下是一个Case:

西门子是什么品牌


提到西门子,很多人第一反应是家里那台带液晶屏的冰箱,或是洗衣机上那个会发光的LOGO。

但你可能不知道,这个看似普通的家电品牌,背后藏着足以改变人类工业史的惊人故事。

1847年,当维尔纳·冯·西门子在柏林一间小作坊里敲打出第一台电报机时,没人能想到这家公司会成为工业界的隐形冠军。

最让人震撼的是西门子的重生能力。

二战期间80%工厂被炸毁,这个德国品牌却用短短五年就杀回巅峰。

就像他们1910年卖给中国石龙坝水电站的发电机——这台百岁高龄的工业活化石,至今还在云南吭哧吭哧运转。

这种近乎变态的耐久度,解释了为什么全球70%的高端燃气轮机市场都被西门子垄断。

但西门子真正的可怕之处在于无处不在。

你手机摄像头里的光学系统,医院CT机的核心部件,甚至造芯片用的UV光刻机,背后都是西门子的技术。

更夸张的是,历史上32位诺贝尔奖得主都依赖西门子显微镜做研究。

这种渗透到科技毛细血管的能力,让它在工业4.0时代依然稳坐神坛。

2024年最新财报暴露了这家老牌巨头的野心:单季度新订单223亿欧元,折合人民币超1700亿元。

更惊人的是研发投入——63亿欧元相当于每天烧掉1.7亿人民币搞创新。

从1872年进入中国交付首台电报机,到如今智能工厂解决方案遍布长三角,西门子用152年时间证明:真正的工业王者,从来都是闷声改变世界。

下次当你打开西门子冰箱取饮料时,不妨多看一眼那个蓝色LOGO。

它不仅是德国制造的品质象征,更是一台持续运转178年的超级印钞机——平均每1.5小时就能创造1个诺贝尔奖级别的技术突破,这样的品牌基因,恐怕连特斯拉都要喊声老师。


问题2:如何提升脚本吸引力?

通用大模型生成脚本冗长拖沓且AI感强 => 无法快速满足用户需求以及脚本吸引力不足。

问题2解法:构建优秀脚本脉络及风格集合,针对不同Query动态选择脚本脉络、风格,提高脚本吸引力。

风格2:历史叙事类风格


开头:

1.通过悬念钩子式开场,把观众带入好奇与期待的情绪,通过颠覆认知的事实陈述,带给观众强烈的入门吸引力。

主体文案

1.通过时间锚点与关键事件叙事,把观众带入到故事中,通过细节化描述,带给观众身临其境的代入感。

2. 通过数据具象化与生活类比,把观众带入真实可感的认知场景,通过技术术语降维解读,带给观众易懂的专业洞察。

3. 通过对比与隐喻强化冲突,把观众带入情感共鸣的高潮,通过辉煌与危机并行的结构,带给观众深度反思的平衡视角。

4.通过转折点戏剧化呈现,把观众带入叙事节奏的起伏中,通过第三方视角引用,带给观众客观可信的品牌背书。

5.通过金句收尾与主题升华,把观众带入余韵悠长的结尾氛围,通过历史寓言或隐喻,带给观众启发性的价值总结。

6. 通过语言节奏控制,把观众带入流畅紧凑的阅读体验,通过文化元素融合,带给观众多元化的审美共鸣。

结尾:添加和用户的互动


效果示例如下:

谁能想到,如今遍布全球的西门子帝国,最初竟诞生在德国柏林一家熟肉店的后院!(开头直接回答用户问题)

1847年,当维尔纳·冯·西门子脱下普鲁士军装,租下那间飘着烤猪肘香味的作坊时,连隔壁面包师傅都嘲笑这个整天摆弄电线的年轻人。

可就是这个被当作怪人的前炮兵军官,用一根电报线撬动了整个工业革命。

故事要从德国北部的小村庄伦特说起。1816年出生的维尔纳从小就有种特殊天赋——他能把拆散的怀表重新组装成会转动的钟,还能用勺子电解出银层给朋友做生日礼物。(通过细节化描述,带给观众身临其境的代入感)

这种对电的痴迷,最终让他在1847年创立了西门子-哈尔斯克公司。

注意,这家公司的第一个爆款产品不是冰箱也不是发电机,而是指针式电报机!

当时的欧洲正处在通信革命前夜。柏林至法兰克福的电报线路项目,让西门子赚到第一桶金。

但真正让公司腾飞的,是维尔纳三兄弟的全球布局战略:大哥坐镇柏林搞研发,二弟威廉攻克英国市场,三弟卡尔甚至把电线铺到了沙皇的冬宫。

到1879年柏林工业博览会上,西门子已经能骄傲地展示世界首辆电力列车——比爱迪生发明电灯还早两年!

如今178年过去,这个德国品牌早已超越国界。2024财年第一季度,西门子新订单额飙升至223亿欧元,在190个国家拥有32万员工。

从你家冰箱里的PT净味技术,到医院的核磁共振设备,甚至太空站的供电系统,那个曾在肉店后院闻着香味饿肚子的发明家,真的让全人类都通上了他的电。

不过最讽刺的是,当年维尔纳为省钱发明的电镀术,如今却成了西门子高端家电的标配工艺。

下次当你打开那台标着SIEMENS的冰箱时,别忘了里面藏着个德国工业史上最美味的创业故事——毕竟没有哪家世界500强,是从闻着烤猪肘香味开始的。

2.2 多类型素材生成

目前AIGC视频中,电商视频素材相比于通用场景素材,存在两点挑战:

  • 视频素材少

     原始视频少:业界通用视频素材对于电商信息,特别是长尾商品信息覆盖较少。

     可用视频少:在电商类视频中,对品牌商品等实体一致性要求极高,进一步加剧视频供给问题。

  • 传统视频检索准确率低:电商场景下对于品牌/商品实体一致性要求极高,传统通用视频检索系统在电商场域下实体理解效果差,检索准确率低,导致视频不可用。

针对上述两个挑战,我们提出了两步解决方案:

  • 泛图表生成,进一步增加差异化供给: 基于大模型代码生成能力,自动化构建30+个泛图表模板,并通过MCP形式对外开放;通过大模型规划能力,根据脚本选择最优图表模板并生成泛图表内容,端到端图表生成可用率达92%。

图表效果如下:

整体流程如下:

图片

  • 素材多维度优选:基于多模态视频理解大模型,从电商实体一致性,视频清晰度等多维度构建端到端优选能力,提升视频素材质量,视频粒度准确率大大提升。

    实体一致:基于Qwen2.5-VL-32B模型,对视频中实体细节进行多维度理解推理,尤其注重商品实体一致性。

图片

清晰度高:通过自研模型对视频清晰度划分清晰/普通/模糊三档,对模糊类视频进行过滤。

2.3 大模型剪辑成片

通过大模型多轮规划推理,进行素材/布局/动效/音效等多视频元素全局优选,完成最终视频剪辑并成片。整体流程如下:

图片

03 后续方向演进

  • 端到端剧本生成:

     现有问题:现有的2.0框架本质上与传统检索系统类似,存在多个子Agent模块前后依赖,这导致了不同链路目标不一致等问题,制约了视频效果的增长。

     解决方案:构建剧本生成Agent,基于大模型进行端到端的完整剧本生成。通过端到端的剧本撰写,视频的画面,脚本,BGM可以实现优化目标的统一化。

  • AIGC生成式视频:

     现有问题:目前视频是基于现有的视频素材打碎重组(混剪)而成的,在很多时候都面临供给不足的问题,而AIGC生成(文生图/视频)的方式能较好的解决这样的问题。

     目前困难:AIGC生成目前的可用率仍不足,会出现文字乱码,人物/实体错误,物理规律不遵循等问题,在电商商品场景下尤为明显,这些仍需要进一步去探索和尝试。

❌