96SEO 2026-08-13 12:12 0
RAG中文全称为检索提高生成是一种将信息检索技术与大语言模型深度结合的AI架构。
简单RAG 的主要原因是:先让大模型去指定知识库里“查阅资料”,再基于检索到的信息生成精准答案。其实,这种“先查后答”的模式既弥补了模型知识滞后的问题。也降低了幻觉产生的风险,

在公司内部往往有海量 PDF、Word、网页等文件。若每份文件都逐行切分并一次性转成向量。CPU/GPU 资源会被迅速消耗完,部署周期拉长。
* 固定长度切割可能把完整句子截断;* 句子级别切割粒度过细导致召回片段太小;* 语义化切割需要额外模型推理,成本上升。
* 余弦相似度阈值设置错误会召回无关片段;其实,* 向量维度过低无法捕捉细粒度语义;不过,* ANN 索引参数调优不足导致查询慢。
将其转化为数值向量,并将 “向量+原始文本” 一并存入向量数据库。
// 按固定字符数切割文本
function fixedLengthChunk {
if throw new Error;if throw new Error;const chunks =;let start = 0;其实,while {
let end = Math.min;// 尽可能在空格或标点处切断
if {
const separatorMatch = text.substring.match;if {
const separatorIndex = end - separatorMatch.length;怎么说呢,if {
end = separatorIndex;}
}
}
chunks.push);怎么说呢,start = end - overlap;if break,}
return chunks;}
// 按句子切割文本
function sentenceChunk {
const sentenceRegex = /++/g;const sentences = text.match ||;if return,const chunks =;const step = maxSentences - overlapSentences;for {
const endIdx = Math.min;const chunk = sentences.slice.join.trim;if chunks.push;if break,}
return chunks;老实说,}
import { pipeline } from '@huggingface/transformers';async function semanticChunking {
const { similarityThreshold=0.8,minChunkSize=200 }=options;const extractor=await pipeline;const sentences=text.match||;ifreturn sentences;const embeddings=await extractor;const embArray=embeddings.tolist;// 相邻句子余弦相似度
function cosine{let dot=0。
lA=0,lB=0,for{dot+=a*b;lA+=a*a,lB+=b*b;}return dot/*Math.sqrt);}
let current=];for{
let sim=cosine;if.length>=minChunkSize && sim
完成切块后将每个文本块送入同一条款式的嵌入模型转成数值向量:
import { pipeline } from '@huggingface/transformers';怎么说呢,async function vectorizeChunks{
const extractor=await pipeline;const result=await extractor;return result.tolist;其实,}
// 示例调用
const chunks=;const embeddings=await vectorizeChunks;其实,console.log;
批处理 + 分布式计算 使用 Spark 或 Dask 对巨型 PDF 批次进行并行拆分 && 嵌入推理。可显著降低单机时间,
混合检索 结合 BM25 与 ANN 的双路查询。一边保证精确匹配,一边提高召回覆盖率。
动态阈值自适应 使得无关片段被过滤。
增量更新机制 新增/修改文件仅重新计算该文件对应块,无需整体重建。
| 检索方式 | 主要原理 | 优缺点 |
|---|---|---|
| 向量检索 | 基于语义相似度。如余弦距离 | 能捕获词面之外的关联,但需 ANN 加速 |
| 字面匹配 | BM25 等关键词排序 | 精确但忽略同义词 |
javascript
// CosineSimilarity 示例
function cosineSimilarity{
let dotProduct=sum=>v*vecB));let normA=Math.sqrt));let normB=Math.sqrt));return dotProduct/;}
javascript
// BM25 实现简版
class BM25{
constructor{
this.k1=k1;this.b=b,其实,this.corpus=;话说回来,this.termFreqs=;不过,}
tokenize{return text.toLowerCase.split;}
addDocument{
this.corpus.push;this.termFreqs.push.reduce=>{m=+1;m++,return m},{}));}
score{ /* 简单加权 */ }
search{ /* 调用 score 并排序 */ }
}
javascript
class Reranker{
constructor{
this.model='Xenova/ms-marco-MiniLM-L--v2';this.reranker=null;}
async load{this.reranker=require.pipeline;说起来,}
async rerank{
await this.load;// batch 推理...
return candidates.sort=>b.score-a.score).slice;}}
信心评估基于重排序分数归一:
javascript
calculateConfidence{
let scores=scored.map;let min=Math.min,max=Math.max;return scored.map=>({...r。confidence:/,rank:i+1}));}
结果通过流式 API 返回给前端:
json
{
"rank"这方面,1,"content":"人工智能技术包括机器学习...","confidence":87。"source":"vector_db"
}
| 步骤 | 检查项 | 指导说明 |
|---|---|---|
| 文档更新 | 确认知识库是否已同步当前版本 | 避免因信息陈旧造成答案错误 |
| 切分策略 | 检验块大小和重叠是否合适 | 防止关键信息被截断 |
| 检索质量 | 验证 ANN/KNN 参数是否合适 | 保证高召回率且速度可控 |
| Prompt 工程 | 确认 System Prompt 是否引导正确理解上下文 | 降低幻觉风险 |
以上概述了 RAG 程序中从 文档向量化 → 检索 → 重排序 → 输出 的完整流程,并针对常见使用者痛点给出了解决思路。在实际工程实践中,还需关注:
如果您对上述内容有更深入需求或遇到具体难题,可以留言交流!
作为专业的SEO优化服务提供商,我们致力于通过科学、系统的搜索引擎优化策略,帮助企业在百度、Google等搜索引擎中获得更高的排名和流量。我们的服务涵盖网站结构优化、内容优化、技术SEO和链接建设等多个维度。
| 服务项目 | 基础套餐 | 标准套餐 | 高级定制 |
|---|---|---|---|
| 关键词优化数量 | 10-20个核心词 | 30-50个核心词+长尾词 | 80-150个全方位覆盖 |
| 内容优化 | 基础页面优化 | 全站内容优化+每月5篇原创 | 个性化内容策略+每月15篇原创 |
| 技术SEO | 基本技术检查 | 全面技术优化+移动适配 | 深度技术重构+性能优化 |
| 外链建设 | 每月5-10条 | 每月20-30条高质量外链 | 每月50+条多渠道外链 |
| 数据报告 | 月度基础报告 | 双周详细报告+分析 | 每周深度报告+策略调整 |
| 效果保障 | 3-6个月见效 | 2-4个月见效 | 1-3个月快速见效 |
我们的SEO优化服务遵循科学严谨的流程,确保每一步都基于数据分析和行业最佳实践:
全面检测网站技术问题、内容质量、竞争对手情况,制定个性化优化方案。
基于用户搜索意图和商业目标,制定全面的关键词矩阵和布局策略。
解决网站技术问题,优化网站结构,提升页面速度和移动端体验。
创作高质量原创内容,优化现有页面,建立内容更新机制。
获取高质量外部链接,建立品牌在线影响力,提升网站权威度。
持续监控排名、流量和转化数据,根据效果调整优化策略。
基于我们服务的客户数据统计,平均优化效果如下:
我们坚信,真正的SEO优化不仅仅是追求排名,而是通过提供优质内容、优化用户体验、建立网站权威,最终实现可持续的业务增长。我们的目标是与客户建立长期合作关系,共同成长。
Demand feedback