Back to "DocSummarizer ' MS K1 年轻一点的MSSK2 聪明点的兄弟"

This is a viewer only at the moment see the article on how this works.

To update the preview hit Ctrl-Alt-R (or ⌘-Alt-R on Mac) or Enter to refresh. The Save icon lets you save the markdown file to disk

This is a preview from the server running through my markdig pipeline

AI C# Deep Research Knowledge Graph LLM Lucene RAG Time Boxed Tool

DocSummarizer ' MS K1 年轻一点的MSSK2 聪明点的兄弟

Thursday, 29 January 2026

没有深口袋的深度研究 @.

当“"”Dep Institute Research's " 降落在AID高级工具里时,我很好奇这是什么? “, 实际上是什么呢?”所以我把它拆开了。 当我理解到这个结构后, 我意识到I' 已经建造了大部分的.?

DoomSummarizer 利用相似的工作流程@,,但其设计优化了“"read {+} 减少<"}进程,使其多半具有确定性和局部性},,使用大语言模型{(LLMMS K6,主要用于合成_.}

在这一方法中,削减步骤的力度消除了需要大型, 昂贵模式以产生令人满意的结果的必要性。

包括多-源代码检索@,}实体提取_, 知识图表\ ,}和嵌入{- 基础排名*,}它们与清晰RAG和DocSummerizer系列分享

缺失的部分并非缺乏能力 @,, 而是理解如何有效运用这些现有元素@.什么?

在商业工具中, “,”““”“Deep Research”“””通常是指一种工作模式。

重要

请注意计划研究方法@,是否多-step search @/browsing}MS K3}在很多源头中讀 *{((通常在網上) <+}你上传的>/}连接文件),}然後寫一份更長的報告 引用<.

此值的一大部分是改进输入“:”的拉动, 使其在新产品中比任何型号@-+#信号源都高 #’+#培训数据切除“MS K4_off date @,}(证据)<,>和减少模型转换的可能性.{

例如 @: OpenAI 深层研究, 双子深层研究,和 双重深层研究 “( ”也称为““ 研究模式 ” ” 在他们的UIQ/ docs @). }

DoomSummarizer 遵循相同的工作流程@, @ but it’_%s 设计完成, 因此大部分的“ “” 读@MS K3} 减少 “ ”” 的工作是确定性的和本地的 @,} 而LLM主要用于合成 •.}

如果降级的步数是坚挺的 , 你不需要一个大的’ 昂贵的模型来取得好的结果吗?

之间 更清晰 和DocSummarizer系列,我已经拥有了大部分的建筑块 ': moto\ - source recreaking ,\ 实体提取>,\ 知识图形@,\ 嵌入-\ 以排名'.#

丢失的碎片是 @' @t 能力@.}它就是 管弦“.”你如何接收所有这些信号 并把它们结合到某种与一个小型号“?”一致的东西?

由末日滚动 , 命名为 .* 因为它是末日卷轴 所以您不必按末日翻滚 MSSK3 指向您的源头*,* 设置一个旋律\ MS K6}获得合成=. *

但是这篇文章是关于这个工具的“.”和“It's '”的内容。

释放GitHub

这是 部分#5 调制解压缩器序列@. @

如果您想要第一个基础文件“ :” : @ info/ plain

这也是 时框工具.


[-=YTET -伊甸园字幕组=- 翻译:

核心Idea=:}减少的RAG

标准 RAG 已使用语义检索@ : @ 块文档\ ,} 嵌入它们 @ MS K2, 并获取最相似的区块的顶部@ MISK3Qk@ MPK4}

痛苦是最后一步: 你最终还是把一堆吵闹的',"重叠块扔进一个LLM, 要求它调和重复的,"重量来源," . 并保持一条连贯的线"MS K4" 这管用, 但是它把你推向大环境窗口和昂贵的模式"MSC6"

如果你做了更多的工作 之前 LLM看到任何东西 ?

这个图案就是这个模式 : 在生成前减少“.” 使用原始文件,并明确将其减少到基本信号“:” 嵌入“MS K2” 级别 ,” 突出部分 “,” 实体概况“MSC5” 当LLM看到任何东西时 “MS K6” 辛勤工作完成后

flowchart TD
    subgraph REDUCE["REDUCE: Distil to Signals"]
        Q[Query] --> Decompose[Composite Decomposition]
        Decompose --> S1[Subquery 1]
        Decompose --> S2[Subquery 2]
        S1 & S2 --> Fetch[Multi-Source Fetch]
        Fetch --> Embed[ONNX Embed Each Item]
        Embed --> Rank[6-Signal RRF Fusion]
        Rank --> TextRank[TextRank Extraction]
        TextRank --> NER[Entity Extraction]
        NER --> Profile[Entity Profile Vectors]
        Profile --> Segments[Salient Segment Extraction]
    end

    subgraph SYNTH["SYNTHESIZE"]
        Segments --> Standard["Standard Path - 1 LLM Call"]
        Segments --> LongForm["Long-Form Path - N+3 LLM Calls"]
    end

    style REDUCE fill:#1a1a2e,color:#e0e0e0
    style SYNTH fill:#162447,color:#e0e0e0

降低的阶段是确定性=:嵌入,排名 ,实体提取_,TextRank},段评分=MS K5没有LLM调用吗?.

合成是唯一的LLM step. 对于标准查询来说,减少的信号足够干净 一通呼叫 对于长@ - for longQMSK1_form documents MS K2}一个寄件器计划结构和主模型生成的区块, 以平行的 @( please**{\fn黑体\fs22\bord1\shad0\3aHBE\4aH00\fscx67\fscy66\2cHFFFFFF\3cH808080}N+3** 调用N区-).+

有关此模式的更多详情@,}请查看 减少的RAG.

从查询到来源的地图阶段@:

查询需要成为搜索动作@. @%

本地小型监控模式 @(0.6B 在我的情况下@, JSON mode,°C温度#0.1) 将原始查询解释成结构化的意向{,}然后由YAML-驱动的来源路由器将该意图转换为具体的抓取_.}

flowchart TD
    Q["User Query"] --> Sentinel["Sentinel: JSON Interpretation - categories, intent, entities, - temporal hints, tone"]
    Sentinel --> Router["Source Router - YAML category → source mapping"]
    Router --> S1["gnews:AI safety"]
    Router --> S2["search:AI regulation"]
    Router --> S3["bbc:technology"]
    Router --> S4["reddit • hn"]
    S1 & S2 & S3 & S4 --> Fetch["Parallel Fetch - circuit breaking + rate limiting"]
    Fetch --> Merge["Merge + Deduplicate - → reduce phase"]

    style Sentinel fill:#1e3a5f,color:#e0e0e0
    style Router fill:#0d3b2e,color:#e0e0e0

监控器提取结构化字段@: @%

  • 主题类别 @(# 有自信的权重@)}
  • 质询意图 @(news,QAMS K2研究@,比较 @, howto})
  • 时间敏感度: @(#破碎@/_今天#/}星期:){
  • 命名实体
  • 对于复质问题, :已解组合的子queries {(}fn方正黑体简体\fs18\b1\bord1\shad1\3cH2F2F3F}

源选择 在六个阶段发生 :

  1. 公开来源@: @% 用户说 "from HackerNews"hn 直接进去
  2. 查询: @Sentinel@'}最理想的搜索條目 變成了「MSSK2」 符合資格的 API 呼叫 「({DuckDuckGo,Brave,}谷歌新聞RSQ)}
  3. 类别路由由 YAML config.}提供RSS feed 主题权重地图, 政策反馈
  4. 浓缩研究: researchdeep_dive 增加 arxiv
  5. 致富实体@:_NER的命名实体 自己去查询自己的信息@"OpenAI"}#→ gnews:OpenAI)
  6. 底层多样性:} 如果小于 @3}源选择,}默认填充

与 per-}来源电路破解@.}同步获取的源标识符

Vibes 在点击任何 API . 之前修改搜索条件 --vibe doom 查询前缀 “"”与“..."”中的问题有关。@, 重塑在任何排名发生之前会回来的东西 #.#

如果您想要回弹性比特的背景@ ,\ 查看 使用 Polly 重试 (路断路器)和 排队系统中的后压 ( 速率限制和后压 ).

解开查询

多数搜索系统都将新的 Internal 安全规则视为“?"”,

监控器分解化合物查询“:”

{
  "is_composite": true,
  "subqueries": [
    "What's new in AI safety?",
    "What are the latest AI regulations?"
  ]
}

有趣的选择是,接下来会发生什么? “. ” 每个子查询都有自己的ONX嵌入的“(se”。 ONNX:}本地运行 ML 模型当评分文章时 , 我接受 最大余弦相近性 在所有子拼贴嵌入中 @ , @ not the busic=. @

为什么最大=? 一篇完美解答 @"_AAI Security@"应该被惩罚? 任何 您问题的一部分 @ , @ it suggests@ MS K1} 替代的, @ 平均=\ ,} # 奖励那些模糊地触碰了一切的粗俗文章 @ MPK4 @

引信使用异种信号

我有6个排名的信号 . 它们有完全不同的规模

flowchart LR
    subgraph Signals
        BM25[BM25 - Keyword Match]
        Fresh[Freshness - 48h Half-Life]
        Auth[Authority - HN/Reddit Score]
        QSim[Query Similarity - Cosine]
        Vibe[Vibe Alignment - Cosine]
        Qual[Quality - Clickbait Detector]
    end

    subgraph RRF[RRF Fusion]
        direction TB
        R[Rank Each Signal - Independently]
        F["score = Σ weight × 1/(60 + rank)"]
    end

    BM25 & Fresh & Auth & QSim & Vibe & Qual --> R --> F

    style RRF fill:#1e3a5f,color:#e0e0e0

HN点指向千兆赫. 孔径相似度为 @-1 新鲜度衰减指数=%. 你可以安全地将这些相加和成*.

这里的关键信号是 BM25} 横跨多个字段的 BMZ(BM_BM25FMS K3}如果您想要 BM{25,}的背景, 请查看 DocSummarizer 部件 *\ 3 {.

相互排名融合 (Cormack 和 al., @ @ MS K2通过忽略原始分数来解决这个问题@:每个信号列项目独立=,}然后您将它合并起来 列内: score = Σ weight × 1/(k + rank) MSKO 与 k=60).

如果您想要全背景的 RRF, part @ 3 覆盖它@.}这里是扭曲 适应查询类型哨兵侦测到意图 , 和计分器重塑自己

  • 时间线查询 @("}今天发生的一切 ∮?")∮ 曲柄清新,质量下降
  • 解析器查询 @("} 量子计算如何工作?") 做相反的MS K2 深度事项比新奇更重要
  • 围捕和比较有他们自己的调控剖面图

维比为检索维度

开始于一个笑话 @. @ 现在它#'}是我最喜欢的功能@.

@ "vibe"是{'没有提示性措辞@.It'}a 第一级- 级排名信号 嵌入回收管道@: @%

flowchart LR
    V["--vibe doom"] --> Expand["Query Expansion - 'concerning risks issues in...'"]
    V --> Embed["Vibe Embedding - 'vulnerability breach layoffs - recession crisis warning...'"]
    Embed --> Score["Cosine Similarity - per article"]
    Score --> RRF["RRF Signal - weight: 0.4"]

    style V fill:#8b0000,color:#e0e0e0

当你设置一个氛围时 发生了三件事情

  1. 查询扩展 - 搜尋會以心情 - 相宜的限定符前置
  2. 虚拟嵌入中 - 代表文本被嵌入为 @ MS K1\dim 目标
  3. 排名信号 @- 文章评分,

自定义感应效果相同@ . @ --vibe "contemplative philosophical"-}您的文字既成为查询前缀,也成为排序目标.}这个系统与自定义的'没有区别 它只是嵌入您给它的任何内容

实体配置,非实体计数

这里的' @%s a mistake I first_:}计算文档中共享的实体=.}

两篇文章都提到 @"_California}":

  1. 加州办事处宣布成立安全小组
  2. @"#California杏仁农面临干旱 #"#

共享实体计数@: @ @ @ 1. @ 因此相关Q!}显然错误 @.

修正的目的是将实体视为矢量=% ,}而不是字符串=.

这是 限制的模糊模式@:_NER模式提议实体@,}但确定权重决定什么重要

每个文件都得到一个 加权实体概况 (a 384-dim 矢量编码 减去 实体的出现和它们的独特性

weight = TF × IDF × confidence × type_weight
profile = L2_normalize(Σ entity_embedding × weight)
flowchart TD
    subgraph Doc1["Article: OpenAI Safety Team"]
        E1["OpenAI (ORG) - IDF: high - weight: 2.1"]
        E2["California (LOC) - IDF: low - weight: 0.3"]
        E3["Safety Team (MISC) - IDF: high - weight: 1.8"]
    end

    subgraph Doc2["Article: Almond Farming"]
        E4["California (LOC) - IDF: low - weight: 0.3"]
        E5["Almond Farmers (MISC) - IDF: high - weight: 1.9"]
        E6["Drought (MISC) - IDF: medium - weight: 1.2"]
    end

    Doc1 --> P1["Profile Vector - Dominated by OpenAI + Safety"]
    Doc2 --> P2["Profile Vector - Dominated by Farming + Drought"]
    P1 -. "low similarity" .- P2

    style Doc1 fill:#1a1a2e,color:#e0e0e0
    style Doc2 fill:#2d1a2e,color:#e0e0e0

@"_California"}以国防军为主的关键是 .}{MSK01#MSK1}(在文章的吨数中出现*-}低度以色列国防军},弱小信号{.{posible sign *"*OpenAIMSNSKQK7}是不同的高度的USDRZK9}

聪明的部份 : 饱和 TF“. ”而不是原始提及计数“, ”我使用 1 + log(mentions)@._Q_BARBAR_一个实体在长篇文章中提到“50}('})多次,

语义图发现

实体概况是 @'}不只是用于理解文档@.}它们='re a 检索尺寸“. ” 每个多普伦%🥱t's实体配置文件都以 HNSW 图“ (DuckDB}#'s VSS 延伸域=), 启用 OZ(log Nñ) 发现关键字搜索会完全错失的语义相关文章@.}

如果您想要更多关于 HNSW 和 DuckDB 的详细信息, 请查看 图图RAG 部分 *2: 最低可视图形.

flowchart TD
    subgraph Retrieval["Three-Layer Retrieval (UNION)"]
        L1["Lucene FTS - keyword matches"]
        L2["Embedding HNSW - semantic similarity"]
        L3["Entity Profile HNSW - entity fingerprint match"]
        L1 & L2 & L3 --> Union["Union of all candidates"]
    end

    subgraph Enrich["Post-RRF Enrichment"]
        Top["Top 5 Ranked Items"] --> Agg["Aggregate Profile - mean of entity profiles"]
        Agg --> Graph["HNSW Search - min similarity: 0.30"]
        Graph --> Related["+3 Related Articles - scored below existing items"]
    end

    Union --> RRF["RRF Fusion"] --> Enrich

    style Retrieval fill:#1a1a2e,color:#e0e0e0
    style Enrich fill:#0d3b2e,color:#e0e0e0

这在两个阶段起作用 :

检索期间@: @ @% laginel 在寄件人从查询 < , > 中提取 < MPK1> 实体时 , 使用相同的 TF}{×} IMS4} 公式@ ._ 此搜索 HNSW 索引中带有类似实体指纹的物品 MS K5} * 最小相似的 _0.25.} 关于 " OpenAI 安全问题的一篇文章@" 表面 即使它从未提及确切的查询术语\ MEK9 因为它的实体配置“ MSKO10” 由高端的 MS- K11 & IDF "* OpentAI MSQ13}\ k14 MSC15\ security # MSG16}

排位后: 排名前端的5项目中,其实体概况已平均成一个总矢量□.。 对于关键字和嵌入层完全遗漏了. 创称文章得分略低于排位最低的项目MS K4,并按所发现的标记 *"*via实体 *"**@.}这抓住了新闻文章提到的主要消息来源,

使用Union=:Lucene Keyword的三层引信匹配“∪嵌入HNSW”匹配“MSC2实体配置文件 HNSW match.联盟有意扩大范围,超过交叉点@. 它捕捉到任何单一信号都可能浮现.RF聚变的项目

后退路径 @ ( @ for corpora 没有实体剖面图@ MS K1}使用 SQL 实体co- @ acurence 计数 @ MPK3 @HAVING shared_count >= 2“). ”它管用,但“'”和“Os Os ( N²) ”代替了“OZ( log Nó). ” --backfill-entity-profiles 将现有的公司迁移到 HNSW 路径@. @%

标准合成=: 1 LLM 呼叫

这是正常路径 @ . @ scroll "AI safety and regulation" 选中此项@ . @% 在缩小阶段后将您的源代码切入到排序@ I, dedudiplated,}实体 @ MS K3 profiled seclue@ MPK4}合成为单一调用@:}

flowchart TD
    subgraph REDUCE["Reduce Phase (ALL DETERMINISTIC)"]
        Items[Fetched Items] --> Embed[ONNX Embed All Items]
        Embed --> RRF[6-Signal RRF Fusion]
        RRF --> TR[TextRank Compression]
        TR --> Seg[Segment Extraction + Salience Scoring]
        Seg --> Dedup[Deduplication + Relevance Floor]
    end

    subgraph SYNTH["Synthesis (1 LLM CALL)"]
        Dedup --> Rerank["Semantic Re-Rank - by query similarity"]
        Rerank --> Budget["Smart Evidence Budgeting - redistribute unused chars"]
        Budget --> Gen["Single LLM Call - with curated evidence"]
        Gen --> Output[Final Summary]
    end

    style REDUCE fill:#0d3b2e,color:#e0e0e0
    style SYNTH fill:#1e3a5f,color:#e0e0e0

减让阶段是辛勤工作的时候 当LLM看到任何东西时 它会收到:

  • 仅顶端项目@ :_ 最佳项目中的“ 30%” 相关下层@ MS K2s 得分 @ MPK3 URL-drediced
  • 来源多样性@ : 盖在每个网域的 & MS K1\ 项, 用于补全查询
  • 语义性re-级:}项目重新-}按与查询嵌入相似的余弦排序
  • 智能实证预算编制@:_ 短项目将未使用的字符预算捐赠给长的项目@,}所以证据空间是#'}没有浪费
  • 结构证据区块: [E1] Title | topic | relevance 内容已缩短到预算

一个LLM调用". that' 来支付 削减的RAG@:# 选择@,_ 排名 @ ,% dedudition},和预算编制都发生在LLM看到什么之前

长-Form PipelineMS K1受约束的平行一代

长-Form (--template blog-article,})是另外一种野兽 MS K1 你' 正在生成一个来自数十个来源的多@-剖面文档。 您需要各区间的一致性, 而无需昂贵的LLM压缩电话 =.

答案是 限制的模糊背景拖动@.}这些确定性机制 保持了交叉的-}部门一致性,同时允许平行一代人.}

flowchart TD
    subgraph Phase1["Phase 1: Evidence Preparation (DETERMINISTIC)"]
        Articles[Top 20 Articles] --> Segments[Chunk into Segments]
        Segments --> Salience[Score Salience per Segment]
        Salience --> EmbedSeg[Embed Each Segment]
    end

    subgraph Phase2["Phase 2: Document Planning (1 SENTINEL CALL)"]
        EmbedSeg --> Summary[Build Evidence Summary]
        Summary --> Sentinel["Sentinel: Generate Outline - with theme keywords per section"]
        Sentinel --> EmbedThemes[Embed Section Themes]
    end

    subgraph Phase3["Phase 3: Evidence Assignment (DETERMINISTIC)"]
        EmbedThemes --> Assign["Score: 60% theme similarity - + 25% salience + 15% relevance"]
        Assign --> Dedup[Cross-Section Deduplication]
        Dedup --> Gate["Quality Gates - • Min salience 0.35 - • Min theme sim 0.45 - • Max 2 per source per section"]
    end

    subgraph Phase4["Phase 4: Section Generation (N+2 LLM CALLS)"]
        Gate --> Intro["Intro (sequential)"]
        Intro --> Body["N Body Sections (parallel) - max 3 concurrent"]
        Body --> Conclusion["Conclusion (sequential)"]
    end

    subgraph Phase5["Phase 5: Validation (DETERMINISTIC)"]
        Conclusion --> Validate[Citation Validation - URL + Entity Grounding]
    end

    subgraph Phase6["Phase 6: Assembly (DETERMINISTIC)"]
        Validate --> Assemble[Final Document Assembly]
    end

    style Phase1 fill:#0d3b2e,color:#e0e0e0
    style Phase2 fill:#1e3a5f,color:#e0e0e0
    style Phase3 fill:#0d3b2e,color:#e0e0e0
    style Phase4 fill:#1e3a5f,color:#e0e0e0
    style Phase5 fill:#0d3b2e,color:#e0e0e0
    style Phase6 fill:#0d3b2e,color:#e0e0e0

计数LLM 调用: 1 (_sentinel大纲)}MS K2 1 @(#intro@)} +# N 内 -=YTET -伊甸园字幕组=- 翻译: 1 ( -结论 -) _= {\fn黑体\fs22\bord1\shad0\3aHBE\4aH00\fscx67\fscy66\2cHFFFFFF\3cH808080}N+3六个阶段中的四个是决定性的

受限制的模糊环境拖拉

平行区段生成的问题是一致性 . 如果各区位不知道其他区块是怎么说的 你就会重复和流传\ , 通常的方法就是相继代 MS K4,这"'慢且废弃上下文窗口\ .}

取代, 每一部分都得到 a 环境受限情况 {\fn黑体\fs22\bord1\shad0\3aHBE\4aH00\fscx67\fscy66\2cHFFFFFF\3cH808080}然后'Qs建立起来

flowchart LR
    subgraph Context["Per-Section Context (ALL DETERMINISTIC)"]
        RS["Running Summary - 1400 char budget - recent 2 sections: full - older: heading only"]
        NP["Negative Prompts - 'Do NOT discuss: X, Y, Z' - from covered concepts"]
        EC["Entity Continuity - re-introduce entities - last seen 2+ sections ago"]
        Props["Propositions - ~15 atomic facts - per section"]
        Evidence["Curated Evidence - max 12 segments - quality-gated"]
    end

    Context --> LLM["LLM generates - with full awareness - of document state"]

    style Context fill:#1a1a2e,color:#e0e0e0
  • 运行中摘要“:”在每一节之后,“,” 上方的“MS K2” 字元“Salience evidence section ” @(200}查尔斯・马斯卡4 被记录为‘.’ 最新版《2 》 片段获得完整摘要@; 旧版部分获得标题“#+ ” 第一句“. ” 总预算 = : 字符 •1400 MAK12 没有LM summmarization".}
  • 负速率“:”所覆盖的概念被摘录为“( propernouns @,}技术术语,}标题关键词{,}最大按#).}后部分获得<:} @"#不要讨论这些议题,
  • 实体的连续性“:”中未提及的实体在“2+”部分被标注为「-」和“Introduction”或“MS K3 ”活动实体。 最近提到的“MSSK4”被追踪到‘.’ LLM得到指导 •: *@"_Re-}(若相关) :}实体 1}{(}最后一次提到 <:}部分:#2)"}
  • 漂流探测@ : @ @ 在每一部分生成@ MS K1 @ 首个 1000} 字符被嵌入, 并且与 plan+'%s 主题进行对比 嵌入\ . @ 如果相近性降低到 @ I0.35 @ 连续各节@ MPK7 @ 主题嵌入从第一个 #2# 区重新校准 *

在平行模式“,”中,Intro 生成第一个 “(”设置了基线“MS K2”机体部分,同时运行“(”至“MSC4” SemaphoreSlim 每一个都排除了内向主题,但互不相容...")," 而结论是最后一个"MS K2" 不包括所有东西"=)."

序列模式给予更紧密的一致性@(each 节将所有先前的概念合并排除,但对于大文档来说,平行是~3x

减少的RAG之心

每个章节都需要证据 , 但不是 任何 每个区段都有复合分数 : 60%主题相似 @(cosine 距离区域@'}主题嵌入#),} M25% 显著 @(#该部分内容如何? 15%文章关联性 这个评分完全是决定性的 . 没有LLM决定什么是相关的

然后是大门

  • 礼堂地板 低端的-品質區段從未達到LLM
  • 主题相似最低标准 {\fn黑体\fs22\bord1\shad0\3aHBE\4aH00\fscx67\fscy66\2cHFFFFFF\3cH808080}
  • Crossó- 区划 @(0.80@ comsine @ ):}同样的事实已经出现两次了
  • 来源上限 (2 §): 沒有單一的源支配
  • 科的作用意识@:_Intro sections 惩罚技术细节@(-0.3);}后来的章节奖励它#(+0.15)
  • 查询凝固门 (0.30): 证据必须和原始查询有关, 而不仅仅是部分主题

LLM 目标字数根据证据质量调整. 坚固的证据 @( @salience @ @s≥}#0.6,} @sIMK4}来源@,}{*4+}片段 200)}♪→}完整单词计数 *.弱点证据=Z({\saliense @sak K11{z0.45,spirent)}→}_}MPK14〞这防止了在证据不足时产生幻觉

实际中提要

在证据到达LLM ,之前 它被原子化成 Dense-X检索纸每个部分被打破 分为六类原子事实 索偿 * 一般性事实陈述* 引用引号 @(_ 直接来自源@),} 统计统计 ( 数和量度), 定义定义的定义 ("X是Y"),{ 进程 {\fn黑体\fs22\bord1\shad0\3aHBE\4aH00\fscx67\fscy66\2cHFFFFFF\3cH808080} 列入实体名称的事实 “(”重点针对一个特定实体“).”

“~15” 提议=,}使用语义相似性 @(not字符串匹配). 将每一节的“MSKO}提案”改为“MSk0 proposes@MSK 1 ” 。 LLM 接收按源{,}分类的结构化圆点,而不是原始段落_.

当LLM写下一节,时 削减阶段已经给了它"MS K1"

  • 清晰的标题和主题
  • 缩放证据区段 @ (@ lequality @ MPK1_ gated+,}( 已切换) @ I)
  • -=YTET -伊甸园字幕组=- 翻译:
  • 前几节已经涵盖的内容的运行中摘要
  • 消极促使什么 重复
  • 实体连续性指导

一个小模型可以做出色的工作 使用这种预兆- programing.

TextRankM: 确定性总结

当文章太长 证据管道,我需要压缩它们.}但是我想用一个LLM电话来概括=.>

TextRank {(}米哈塞亚& TarauMS K2 2004) 它有决定性的吗?

flowchart LR
    Text[Article Text] --> Split[Split into Sentences]
    Split --> EmbedS[Embed Each Sentence]
    EmbedS --> Graph["Build Similarity Graph - (cosine > 0.15 = edge)"]
    Graph --> PR["PageRank - (20 iterations, d=0.85)"]
    PR --> Select["Select Top-K - in Original Order"]

    style Graph fill:#1e3a5f,color:#e0e0e0

每个句子都有一个嵌入的“.”和“0.15”上的相近之处, 成为图表边缘@.PageRank发现最多的 中央中心 这些是最能代表文档的句子。

关键细节@: @% 选中的句子被返回 按原始文件顺序排列. 这保留了叙事流程. 你得到一个一致的总结, 不是一袋随机的重要句子_.

以毫秒.}°C的相近性通过 SIMD@-+Q加速运行 TensorPrimitives (System.Numerics.Tensors“) (AVX2, AVX□-512,或ARM近地物体,在运行时选中的“).”

One -Hop 链接

文章提到其他条款, 这些提及常常包含最佳证据: 新闻文章总结的最佳来源@-}

DoomSummarizer 跟随链接@,}但有选择性地 @. – 每个候选链接都得分:

link_score = 0.7 × query_relevance(anchor_context) + 0.3 × segment_salience

片段显著结合的地方 @: @%

  • 职位位置 (60%) - 颠倒金字塔 : 前几段重要得多
  • 物质 (40%)-}段落长度与信息密度

在相关楼层以下的链接 @(0.15) 被跳过@. 系统沿循新闻反向金字塔黑字塔#:}重要连接往往在早期出现在井中-写文章_.

含有内容杂交的缓存结果和 ETags @ .} 第二次运行是快速@ MS K1 见 回应 Caching @,ETags,和有条件请求.

建立本地知识库

但您可以完全跳过网路 .

crawl 将网站输入本地知识库@. @ 它从种子 URL=,}(尊重深度和页数限制)中,

doomsummarizer crawl https://docs.example.com --name example-docs --depth 3 --max-pages 200

全部内容@: @ 完整内容 @ , @ ONNX 嵌入% I, @ 实体配置 @ MPK3 @ SQLite FTS5}关键索引 (-} text search),}情绪和主题分数 @}通过嵌入锚=,# 没有 LLMZMS K10} 递增-_crawls send If-None-Match / If-Modified-Since 在没有 ETag 支持的服务器上返回 HTTP {304}和跳过后处理. CHA\ ,}\ SHA=256}*内容 hashhes catch plus

曾经完全在离线下爬过,查询 :

doomsummarizer scroll "how does authentication work?" --name example-docs

缩略 --name 本地 KB 而不是网络源@. @% 同三-_Slayer recreditionfire:}FTSQMZ5}完整的-,}嵌入 HNSW 搜索的HNS

没有外部服务@,No Docker @,}没有 API 键#.}一个数百页的爬行知识库,以几兆字节和毫秒时间进行查询。

将它结合在一起

doomsummarizer scroll "AI safety and regulation" --vibe doom --debug

Composite query detected: 2 subqueries
  • What's new in AI safety?
  • What are the latest AI regulations?

Searching...
├─ Lucene: 18 keyword matches (regulation^3, safety^2)
├─ Embedding: 12 semantic matches (max-sim across 2 subqueries)
├─ RRF fusion: 22 candidates, 6 signals
├─ Entity HNSW: +3 related via entity profiles
├─ TextRank: compressed 4 long articles
└─ Final: 12 items

Long-form: Phase 1 - 187 segments from 12 articles
Long-form: Phase 2 - "AI Safety Landscape" - 5 sections
Long-form: Phase 3 - Evidence assigned (cross-section dedup: 8 removed)
Long-form: Phase 4 - Generating sections...

产生效果的理念

这些是洞察力 . 带他们去使用 在你自己的系统里

  1. 在产生之前减少@: 标准路径需要 只要@1LLM调用,因为输油管 所有重型起重起重的确定性#. 减少的RAG 是“:嵌入”的图案,PageRank, PageRankMS K2 超自然=,,高质量的门可以产生如此干净的投入,甚至小型模型合成好@.。
  2. Sentinel - 驱动源路由@ : @ a small model 将查询解释成结构化的意向@, @ 然后YAML-}驱动路由选择并同步 *-#QQQqualized @~10}来源. 监控器便宜到可以调用每一个查询@MS K6}
  3. 复类查询最大相同“: ” Don't 平均分数“,采取最匹配的 . 文章钉定你问题的一部分比半个"-吻合所有东西"\ .
  4. 组合队列 @,# 未得分:RRF允许您将信号与不相容的缩略语连接,
  5. 以嵌入为嵌入: 任何文字都可以是一个检索维度@. 嵌入它 @, 与RRF. 重量相比的评分*,
  6. 作为矢量的实体配置“: USD- 重量级实体嵌入”“, 不是实体字符串计数’. Rare 实体在配置中占据主导地位,
  7. 限制模糊的上下文拖动: 确定性环境管理 启用平行区段生成@.运行摘要 @,负加速度 @MS K2实体连续性 @,和漂移探测保持一致性而不使用 LLM 压缩呼叫@MS K4
  8. 尽可能确定“:”在六个长的“-”阶段中,4个是确定性’, 4个文本Rank 取代LLM 概括=. 证据分配代替LL M 选择@.

资源资源资源 资源和资源资源资源

相关条款

logo

© 2026 Scott Galloway — Unlicense — All content and source code on this site is free to use, copy, modify, and sell.