<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Chunking on YennJ12 Engineering Blog</title><link>https://yennj12.js.org/yennj12_blog_V4/tags/chunking/</link><description>Recent content in Chunking on YennJ12 Engineering Blog</description><generator>Hugo -- gohugo.io</generator><language>en-us</language><lastBuildDate>Sun, 31 May 2026 09:00:00 +0800</lastBuildDate><atom:link href="https://yennj12.js.org/yennj12_blog_V4/tags/chunking/feed.xml" rel="self" type="application/rss+xml"/><item><title>RAG 完全指南（二）：Chunking 策略與向量資料庫選型</title><link>https://yennj12.js.org/yennj12_blog_V4/posts/rag-series-part2-chunking-vectordb-zh/</link><pubDate>Sun, 17 May 2026 09:00:00 +0800</pubDate><guid>https://yennj12.js.org/yennj12_blog_V4/posts/rag-series-part2-chunking-vectordb-zh/</guid><description>前言 上一篇我們建立了一個最基本的 RAG pipeline。
但實際上，Chunking 策略和向量資料庫的選型會直接決定你的 RAG 系統品質。
這篇深入討論這兩個核心基礎建設。
Part 1：Chunking 策略 Chunking 是把長文件切成小片段的過程。切法不對，後面的搜尋再精準也救不了。
為什麼 Chunking 很重要？ 想像你有一篇 10,000 字的技術文章，如果直接整篇丟進去，問「Python 的優點是什麼」，向量搜尋要在 10,000 字的「語意海洋」裡找到準確答案，難度極高。
好的 Chunking 原則：
每個 chunk 應該是語意完整的單元（不要切斷句子、段落中間） 大小適中：太小 → 資訊不夠完整；太大 → 搜尋精準度下降 有適度重疊（overlap）：避免邊界上的資訊遺漏 策略 1：固定大小切塊（Fixed-Size Chunking） 最簡單的方法，按字元數或 token 數切割。
1from langchain_text_splitters import CharacterTextSplitter 2 3splitter = CharacterTextSplitter( 4 chunk_size=500, 5 chunk_overlap=50, 6 separator=&amp;#34;\n&amp;#34;, # 優先在換行處切割 7) 8 9text = &amp;#34;你的長文字...&amp;#34; 10chunks = splitter.split_text(text) 優點：簡單、可預測、實作快速
缺點：可能把語意相關的句子切開
適合：快速原型、結構單純的文件
策略 2：遞迴字元切塊（Recursive Character Chunking） 這是最常用的預設策略。它會依照優先順序嘗試不同分隔符： \n\n → \n → .</description></item><item><title>FDE 面試準備指南（五）：RAG 深度技術——Chunking、Embedding、向量資料庫與混合搜尋</title><link>https://yennj12.js.org/yennj12_blog_V4/posts/fde-interview-guide-part5-rag-deep-dive-zh/</link><pubDate>Sun, 31 May 2026 09:00:00 +0800</pubDate><guid>https://yennj12.js.org/yennj12_blog_V4/posts/fde-interview-guide-part5-rag-deep-dive-zh/</guid><description>第一篇講了 RAG 是什麼。
這篇講你在面試中被追問到第三層時，你能不能答上來。
面試官最喜歡的問法是：「那你為什麼這樣設計？有沒有考慮過別的方案？」
面試情境 面試官：「你的 RAG 系統 Chunking 怎麼設計的？為什麼？你的 Embedding 模型怎麼選的？如果純向量搜尋找不到正確答案，你怎麼改善？Context Window 滿了怎麼辦？」
這四個問題是 RAG 系統設計的完整追問鏈。每一層都要能說清楚選擇背後的 trade-off。
一、Chunking 策略：不是切越小越好 Chunking 是 RAG 最常被輕描淡寫的環節，但它直接決定你的檢索品質。
面試官問法通常是：
「你的 RAG 系統 Chunking 怎麼設計的？為什麼？」
Fixed-Size Chunking（固定大小切分） 最簡單的做法：每 N 個 token 切一塊，加上一點 overlap。
chunk_size = 512 chunk_overlap = 50 優點：
實作簡單 預測性高，每塊大小一致 Embedding 成本可控 缺點：
完全不管語意邊界 一個句子可能被切成兩半 段落邏輯可能斷裂 適用場景：
文件格式高度結構化（例如：財報、合約） 快速原型，先跑起來再優化 Semantic Chunking（語意切分） 根據語意相似度決定切分點。計算相鄰句子的 embedding 距離，距離突然變大的地方就是自然的段落邊界。
優點：
保留語意完整性 每塊的內聚度更高，向量品質更好 特別適合長文、報告、文章 缺點：
計算成本更高（每個句子都要先 embed） Chunk 大小不固定，向量 DB 設計要考慮 實作複雜度較高 工具： LangChain 的 SemanticChunker、llmsherpa</description></item></channel></rss>