校对:Soup (中文 (Chinese Simplified))

校对:Soup

Wednesday, 12 November 2025

//

9 minute read

一. 导言导言 导言 导言 导言

因为这将是一个很长的系列“!” 。 如果你一直关注这个博客 “,” 你和' 会知道I''m有点着迷于寻找有趣的方法, 在实际应用中使用LOMs和[email protected],IMS K7+ve得到了一个新项目,

这是我自己编辑的A )Q MS K3Q 同一声音 同样的实用性 ,Q 一样

现代法律实践如何利用受过判例法培训的LLMs起草案情摘要? MSPZK1*}和合同_.}它们从零开始 '}系统引用了相关的先例-}系统参考了相关判例>,}根据过去的成功文件来推荐语言,并保持与既定模式的一致这'}正好是我们在这里做的WQ're building§,}但博客内容<.}

目标是创建一个 AY- 授权写作助理,该助手是 @:

  • 帮助以我固定风格起草新博客文章
  • 从过去的条款中建议相关内容供参考
  • 寻找类似的员额,以保持一致性
  • Auto - @ genererate 相关文章的内部链接
  • 类似博客“"GitHub Copilot”的动作。

这个系列将涵盖一个完整的建筑 检索增强的一代 @( @RAG)}@ 在 Windows 上运行的 C# 系统中,我们MS K2 将使用最新的方法和框架\ , 和 I' 解释每种新技术 当我们遇到它时

我的硬件设置@ ( @ 和最小的Specs @ MS K1} @

我的开发机器 :

  • GPU 图形-=YTET -伊甸园字幕组=- 翻译:
  • CPU CPCPU-=YTET -伊甸园字幕组=- 翻译:
  • 内存记录-=YTET -伊甸园字幕组=- 翻译:

这是我的特别安排 ,,但你 Don' 不需要这个硬件 以下为不同组件的最小值@: @%

GPU 加速@( @ 推荐@ ,_ 不需要@ MPK2

  • 最低-=YTET -伊甸园字幕组=- 翻译:
    • 以量化方式运行 & 7 @%B 参数模型
    • 体面嵌入型发电速度
  • 舒适: 12GB+VRAM MS K3 I.gMS K5RTX MSKO6 NSK7GB□,RT XTMK9Ti)
    • 运行更大的模型或质量更高的量化
  • 我设的圈套@: 16 GB(AMS K3 NSK4 能正常运行#13B模型吗?

CPU- 唯一替代

  • 最低:现代夸德-核心CPU
  • 建议建议@: @ @ 8+ @ 核心@ MS K2 @ 合理嵌入生成源@ I) @
  • 在 CPU\ - 上,每件事情都能工作。 只有 @ MS K1 稍慢一点。 @ MPK2 {
    • 嵌入式生成元件@ : @\ MS K1#x 慢
    • LLM 精度= : @ MS K1#x 慢
    • 仍然完全可用于一个写助手@! @%

记录和档案管理所需资源

  • 最低: NSK1GB 系统内存
    • CPU- @ 仅对 MPK1_B 模型的推断@ action
  • 舒适*: 32 GB*
    • 更有利于大型CPU模型
  • 我设的圈套-=YTET -伊甸园字幕组=- 翻译:

储存

  • SSSD sSD:推荐用于模型装载
  • 空间空间空间用于模型和矢量数据库的 : @~20GB

关于Intel/AMD NPUsMS K1

现代CPU现在包括专用的AI 加速器@: @%

  • 英特尔核心超 -=YTET -伊甸园字幕组=- 翻译:
  • 阿姆德·雷森·阿尔 -=YTET -伊甸园字幕组=- 翻译:
  • AMD Ryzen AI 马克斯 @ ( @ STrix Point@ MS K1} @ I- @ 一直到 < 50# 垃圾桶

重要的 :NPUs 仅指推论@! 您没有在 NPUs 上建立 " 或培训模型 运行中 对模型进行了云性 GPUs @(or 工作站@),}然后下载并部署到 NCPS进行推断=.

正在运行 NPUs 模式的当前状态 @ ( @ as to writing\ MS K1}

  • @✅ @:_On -device inference@,}电池效率 @(poptops @MS K5#
  • 用于我们的⚠#Limited for our used @:_Immature *.\NET}/ONNX运行支持
  • @❌ @ 尚未准备好% : @ this project='}主路徑

为什么不为此序列设置 NPUs @ ? @%

  1. 软件生态系统I:CUDA拥有15+成熟年 *,NPU在 @.NET的支持是新生的。
  2. 模型兼容性大部分GGUF模型的目标都是CUDA/}CPU=,}NPU-}优化模型是罕见的
  3. 文件文件文件文件文档文件文件的文件文件文件会议文件文件文件,文件文件文献文件文件/文件文件资料文件文件文文件文件归档文件文件:文件文件记录文件文件、文件文件提供文件文件文号文件文件(文件文件 Do文件文件存档文件文件 文件文件文件和文件文件证件文件文件文件中文件文件Do文件文件档案文件文件C#的NPU开发资源有限
  4. 业绩表现 实绩目前我们的工作量比离散的GPU慢
  5. 直接洗钱支助: 仍在实验LLM推理

您能否使用 NPUs 进行推断@ ? @ 是 @ MS K1 @ 但是 @ MPK2}

  • 所需要求 直接洗钱 在 ONNX 运行时间
  • 模型必须使用 OONNX 格式@(not GGUF)
  • C# 支援是实验性的
  • CUDA目前表现不佳

如何尝试 NPU 推导@ ( @ advanced 用户@ MPK1

# Use DirectML execution provider (supports NPU)
dotnet add package Microsoft.ML.OnnxRuntime.DirectML

# In code:
var sessionOptions = new SessionOptions();
sessionOptions.AppendExecutionProvider("DML"); // DirectML
var session = new InferenceSession("model.onnx", sessionOptions);

今后审议曾经的: NONX 运行时间 和 直接洗钱 它们成熟的 NPU 支持 @ ( @ 可能@ MS K1} 这些将会成为可替代发酵的可行选项 @ MPK2 @

底底线: I' 會顯示 GPU}- 加速路徑@, 但會注意到 CPU- 只有其它的選擇

我们所建造的

最后的系统将包含几个组件 :

  1. 标记下调吸收管道 @- 处理所有博客posts@, 以智能方式将它们填满并生成嵌入
  2. 矢量数据库 - 仓库嵌入并能够对类似内容进行语义搜索
  3. Windows 客户程序 - 桌面写作助手 UI 与编辑器和建议板
  4. LLM 整合 - 本地 GPU- 为内容生成加速推导
  5. 创建链接 @-Auto-_suggest 内部链接和有关职位的引用
  6. 样式一致性引擎 “-”从现有职位学习模式,以保持声音和结构。

@"_GitHub 校对:Portnoy {\fn黑体\fs22\bord1\shad0\3aHBE\4aH00\fscx67\fscy66\2cHFFFFFF\3cH808080}

为什么律师GPT "??

现代律师事务所使用在广大判例法图书馆接受培训的LLMs,帮助起草法律文件。 当撰写一项动议时,

  • 参考相关先例和以往成功论据
  • 推荐以前有效的语言模式
  • 与法律写法标准保持一致
  • 自动切出源

当我开始为“...",” 写入「"」/添加实体框架时,

  • 寻找我先前的 EF-}有关职位
  • 建议结构图案 I'}以前使用过
  • 提供来自过去文章的相关代码片断
  • 自动- @ generation 链接到相关员额
  • 保持我的写作风格和技术深度

与通用的人工智能写作助手不同 我们的系统基于过去的实际内容 因此它赢得了'

系列概览

未来几周,

部分@1 @ @% ( @ this post *):_ 导言 _&}架构

We'+#Ill 确定我们建造的建筑, 为什么是,+

部分@2:GPU 设置 @&CUDA 在 CQ#

正在为 GPU @ - @ acalled AI 工作量设置窗口@ MS K1}安裝 CUDA 哥大, CHUNDN 二进, 以及测试 C# 能够实际看到并使用您的 GPU}.

“3: 理解嵌入器”部分

深度潜入嵌入器实际上是什么 @ , @ 如何使语义搜索@ MS K1\ @ 并选择正确的矢量数据库 : @ MPK2spourer}%: @ we'}可能使用 解冻 或 pgvictor 变量).

建立接收管道

正在处理标记文件@, @ 智能散列策略 @ (} 您可以在段落上分割 ' @ t 并生成我们所有内容的嵌入Q.

窗口客户端

选择正确的框架 @(#WPPF WPF, 瓦隆,或 MAUI MIU@?), 建造UI, 并让真正愉快地使用#.

6:地方LLM整合部分

本地使用运行模型 NONX 运行时间, 卡拉马 或其它方法.}充分利用A{4000!}

内容生成 *&}快速工程

@-# 语义搜索相关内容@,_上下文窗口管理@MS K2}写作援助的即时工程=%,}并产生一致的建议.}

生产部署

自动-链接到相关文章@,样式一致性检查 @,代码片断建议_,,并使系统实际用于每日写入@MS K4

为什么拉卡马斯科0

在我们潜入建筑之前... ,... ...让我们来谈谈为什么RAG"("检索子孙增加"...

罚款问题@- @Tinning

@"#为什么所有博客上不只精细地写下“-tune an LLM”?

  1. 成本:=&}复杂度 在计算和努力中 )都非常昂贵
  2. 静态 @-每个新的博客文章都意味着再培训。
  3. 黑盒 很难理解什么是模式,
  4. 幻觉 无法保证模特儿能编造出一些东西
  5. 无引用 @ -Can'}无法轻易追踪来源的回复

RAG 如何解决这个问题

RAG 将两个世界中最好的s:}LLMS的力量和精确的搜索结合起来 来创建上下文MS K1}#AWARE 内容生成_.}

流动是:

  1. 用户开始使用 ASP=.NET Core@...")}建立 AST API
  2. 系统在音义上发现与过去文章相似
  3. 将相关块块作为 LLM 的上下文输入系统
  4. LLM 生成基于过去内容的建议@/ @csession
  5. 系统提供参考源员额的建议

意思是:

  • @✅ @ always up@-_to% -}更新的($只要在您写时重现-#index新文章 #)#
  • ✅ 根據你的实际寫作 ( 保持一致性)
  • @✅_可追踪@(}知道哪些过去的文章影响着建议吗?
  • 且不为每个新职位提供昂贵的再培训,
  • ✅弹性(can交换LMS或调整搜索策略MS K2
  • @✅@ 隐私 @ -# preservation @ I( @ 一切在本地运行 #) @

系统架构

让我把关键部件分解一下 我们的' 将会是建筑中的:

graph TB
    A[Markdown Files] -->|Ingest| B[Chunking Service]
    B -->|Text Chunks| C[Embedding Model]
    C -->|Vectors| D[Vector Database]

    E[User Writing] -->|Current Draft| F[Windows Client]
    F -->|Embed Context| C
    C -->|Query Vector| D
    D -->|Similar Content| G[Context Builder]

    G -->|Relevant Past Articles| H[Prompt Engineer]
    H -->|Prompt + Context| I[Local LLM]
    I -->|Generated Suggestions| J[Link Generator]
    J -->|Suggestions + Citations| F

    F -->|Display| K[Editor with Suggestions]

    class C,I embedding
    class D,K output

    classDef embedding stroke:#333,stroke-width:4px
    classDef output stroke:#333,stroke-width:4px

1. 标记摄入管道

此元件:

  • 从博客目录读取标记文件
  • 提取元数据@(\ title @, 分类},}日期{,}字数=)}
  • 智能分割内容@ ( @ preservation 代码区块以重新使用\ )%
  • 说明结构图案 @(#我如何组织文章@)#
  • 用于生成引用的音轨源信息

关键挑战: Chunking 策略很重要, 非常小, 您失去了上下文@ MS K2 太大了, 您浪费 LLM' 上下文窗口\ . 我们需要具有语义意义的块 {-} 完整的想法或部分_ ,} 不是任意的段落破解}MSC7}

2.嵌入模型

嵌入式是使语义搜索工作的魔法@. 一个嵌入型号用文字将其转换为高Q-维向矢量 @(array of numbers ),它能捕捉语义意指#.}

类似的概念最终在矢量空间中导致“"”和“"”等同概念,即使它们使用不同的单词@.}

例如:

  • @"database migration@"和{"}更新 DB schema"}将会有类似的嵌入
  • “"cat" 和“"kitten"}会更接近于 @"cad" 以及 @MS K6database@"

技术选择“:”我们“'”可能使用其中之一“MSC2”

  • 句子“-” 在 C#) 中运行时间@ action: inmenu
  • OpenAI' 嵌入模型的模型 @ (_via API})
  • BGE 模型 @(_state@-_of\ -_the#-}开放源码=)

3.矢量数据库

矢量数据库存储嵌入并允许快速相似的搜索@. @ why you ' re writing about @" Docker fropose_",}当您在撰写关于“%SK2”的文章时, 它发现 K 在语义上与过去内容最相近的 K {-}不只是关键字匹配,Q}而是概念上的关联材料.}

技术选择-=YTET -伊甸园字幕组=- 翻译:

  • 解冻 @-modal@,}以 Rust, 寫成的精美 CMS K3_ 用戶端%sK4
  • pgvictor 变量 - PostgreSQL (weMS K2re 已使用 postgres @!)@
  • 断断 @ -_ 另外一个可靠选项, 有良好的@.+NET支持
  • 色谱 在Python Lands 中流行的-@,}在C#中不那么普遍

I'm 倾斜到 Qdrant 的简单和性能@,或 pgvector 将一切保存在 Postgres @.}

4.Windows客户端

我们需要一个良好的 UI 来与 AI 协助书写“ . 考虑分裂” “-” 编辑器提供建议“ .” 选项“: ”

WPF Z(窗口演示基金会 )

  • -=YTET -伊甸园字幕组=- 翻译:
  • ✅本地视窗性能
  • ❌ Windows @-
  • ❌ 看起来像日期 除非你投资 UI 库

瓦隆

  • @ ✅_ cross @ I-_ platform @ *(# XAML% MS K3} basic_ )
  • -=YTET 翻译:
  • 类似WPF的✅
  • 小型生态系统

MAUI ( multi-平台 AppUI)

  • @ ✅_ 十字路口@ MS K1_ 平台
    • ✅ 微软 * @ MS K1} 后退*
  • 还在成熟
  • @ ❌ @ 更多移动@ MS K1 @ 聚焦

从Windows -\ 聚焦点和我想要稳定的东西\ I,\ I'\ 倾斜到 WPF 与 现代WPF UI 或 瓦隆 用于此 cross @ - @platform 潜能值@.}%

5.当地LLM整合

这里就是 A4000+GPU 亮光@.+Z) 我们想要在本地运行 LLM 用于 < : >

  • 发送到 APIs ) 的隐私数据@( @no data
  • 速度@(}本地的推断是快速的 @)
  • @(_no API收费%)
  • 控件 @( @ we choose the model_)}控制器 @ MSKO @ 我们选择模型@ msk1 @

技术备选办法:

NONX 运行时间

  • 将模型转换成 ONNX 格式
  • 优秀 GPU加速度
  • C# 本地支援
  • 并不是所有的模型都转换良好

卡拉马 装有

  • Có++库与C#绑定 {(}拉马沙尔普)
  • CUDA支助
  • 广域模型支持 @(Llama,Mistral},等+.)
  • 非常积极的发展

火炬Sharp

  • 用于 @.+NET 的 PyTork 装订
  • 最灵活
  • 更深的学习曲线

I'倾斜着 拉马沙尔普 其成熟和易于使用,与流行型号

6. 上下文窗口管理 @& 即时工程

LLMs的上下文窗口有限 : @(e.g., 4K,}{8KKK6K32K代币_).我们需要:

  • 从矢量搜索中获取最相关的过去内容 {(}%top K
  • 将当前草稿安装到上下文窗口中
  • 书面协助的迅速结构
  • 为所产生建议留空空间

这比这听起来更狡猾 比它听起来. We'" 探索策略,比如"MS K2"

  • 基于您当前写入的内容的动态 K 选择
  • Re- 排序按关联性回收的块块
  • 智能压缩环境
  • 多@-_% 照片来自过去的文章,

“7.”链接“&”插座世代

每个块需要元数据@: @%

  • 源文件/}post
  • 原始文件中的位置
  • 发布日期
  • 类别类别类别
  • 使用的代码片断

当 LLM 生成建议时 @ , @ 我们自动创建源站点的标记链接, 并识别可重复使用的代码模式@ MS K1}

是什么使得这个不同的?}

外头有许多RAG教程@,}但这个系列将会不同 @:

  1. C#第一個 大部分RAG例子都在Python@.中,
  2. 視窗 @ &% GPU 在 Windows 上利用 NVIDIA CUDA 不是 Linux @/#WSL
  3. 准备生产 @- @ 不只是证明@ -_ of @ MS K2 @ concept,} 而实际可用的代码
  4. 域@- @ 具体 @- 优化博客写作援助@, 非通用内容生成
  5. 深入解释 @-_We'}实际上解释决定背后的#"*为什么?

We'll 使用技术

在这里,'}科技堆叠 I'}计划=:}

核心框架

  • # .NET @9# 写作时的(Zlest@)
  • C# □13 现代语言特写

AI/ML图书馆

矢量数据库

UI 框架

  • WPPF WPF 与 现代WPF 或 瓦隆 - 现代桌面UI

辅助工具

GPU 堆栈

业绩考量

不同的硬件设置将具有不同的能力@: @%

与“8+GB VRAM”

  • 模型大小: 7B 参数模型
  • 批次处理:进程嵌入小批次
  • 记忆管理需要仔细监测 VRAM
  • 工作良好: 写作助理, 嵌入生成

与 @12_GB+}VRAM *(Comfortable{)}一同制作

  • 模型大小:{7B有更高质量的量度}(MS K36)
  • 批次处理用于更快输送量的大型批次
  • 也可以运行: 一些具有侵略性量化的13B模型

与 @16+GB%++VRAM#(@我的设置@)}

  • 模型大小: MS K1B-13B 参数模型舒适
  • 批次处理* MSPK0 整批* *, 最起码的限制
  • 快速推断: Sub-第二次回复时间
  • 客厅:可以实验不同的模型

CPU- 唯有{( K2

  • 每样东西都有效慢一点
  • 内嵌: @ MS K1x 比 GPU 慢
  • LLM 推断: @ MS K1x 比 GPU 慢
  • 仍然可用一个耐心的写作助理 !

发展方法

We'将逐步建立这个 递增=:

  1. 以最简单的组件开始 @ ( markdown 正在读@ MS K1 browding @ MPK2
  2. 添加嵌入生成器@( @% 在进入本地端@ )% 之前, 可以先从 API}-_% based
  3. 启动矢量搜索工作
  4. 构建基本 UI
  5. 综合LLM
  6. 波兰语并优化

每一部分都可自行部署和测试 没有大的-Bang融合噩梦

什么是' 下一步 @?

内 部分@2:GPU 设置 @&CUDA 在 CQ#,+'+GPU GPU的设置

  • 在 Windows 上安装 CUDA 和 cudNN
  • 建立发展环境
  • 写入一个用于校验 GPU 访问的简单 C# 程序
  • 用 ONNX 进行基本推断测试
  • 确定我们的A4000 来了解我们能做些什么

这似乎是基本的@ ,, 但正确获取 GPU 堆叠是关键 @ MS K1 I' 浪费了时间来调试问题, 导致版本错配或丢失 DLLs.}

为何如此重要

不仅是一个很酷的项目 @,}这个方法有真正的应用程序@:#

  • 技术文件 技术文献 - 保持大型 doc 各组的一致风格
  • 法律实践 参考判例法判例的起草摘要
  • 内容营销 保持各队的品牌声音
  • 学术写作 与过去的论文和研究保持一致
  • 个人知识管理 - 您自己的文具助理

We'}将涵盖的原则适用于任何领域,只要您有现有内容并且需要保持一致性,同时创建新的材料.}

结论结论

协助以过去的文章作为参考材料起草博客内容, 就像律师使用在案例法上受过训练的LLMs@.}(We')

这是一个玩具项目 \ -\ \ we'\ 正在建造一些真正有用的东西 对于任何定期写作并希望保持一致性的人来说

在接下来的部分 我们' 会和CUDA,GPUS, 一起弄脏我们的手 确保我们的发展环境准备好迎接未来的挑战

并准备了解嵌入的矢量数据库 , 组合策略 MS K3 即时工程=, 以及现代人工智能系统所有其他令人愉快的复杂性

系列导航

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

如果您想要获得一个首创@, @ 这里有些资源 I'# # 将在此序列中引用\ :}

回头见 部分#2!

Finding related posts...
logo

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