
{"id":9562,"date":"2026-06-23T03:02:36","date_gmt":"2026-06-22T19:02:36","guid":{"rendered":"https:\/\/infernews.com\/blog\/sproutrag-is-a-retrieval-augmented-generation-stack-built-for-structured-multi-g\/"},"modified":"2026-06-23T03:02:54","modified_gmt":"2026-06-22T19:02:54","slug":"sproutrag-is-a-retrieval-augmented-generation-stack-built-for-structured-multi-g","status":"publish","type":"post","link":"https:\/\/infernews.com\/blog\/sproutrag-is-a-retrieval-augmented-generation-stack-built-for-structured-multi-g\/","title":{"rendered":"SproutRAG\uff1a\u9577\u6587 RAG \u6aa2\u7d22\u7684\u65b0\u53d6\u5411"},"content":{"rendered":"\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" src=\"https:\/\/infernews.com\/blog\/wp-content\/uploads\/2026\/06\/pasted-dbfaedbc5b1e.jpg\" alt=\"SproutRAG\"\/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">\u73fe\u6642\u4e0d\u5c11 RAG\uff08Retrieval-Augmented Generation\uff09\u505a\u6cd5\uff0c\u901a\u5e38\u5728\u300c\u7d30\u7c92\u5ea6 chunk \u6e96\u78ba\u4f46\u96f6\u788e\u300d\u8207\u300c\u5927\u6bb5\u5167\u5bb9\u9023\u8cab\u4f46\u5608\u96dc\u300d\u4e4b\u9593\u53d6\u6368\uff1b\u6709\u4e9b\u65b9\u6cd5\u9760 LLM-guided chunking\u3001single-level context expansion\uff0c\u6216 hierarchical summarization \u53bb\u88dc\u6551\uff0c\u4f46\u4ee3\u50f9\u662f\u8981\u984d\u5916 LLM \u547c\u53eb\u3001\u53ea\u652f\u63f4\u55ae\u4e00\u5c64\u7d1a\u64f4\u5c55\uff0c\u6216\u8005\u5728\u6458\u8981\u904e\u7a0b\u6d41\u5931\u8cc7\u8a0a\u3002SproutRAG \u63d0\u51fa\u7684\u65b9\u5411\uff0c\u662f\u7528 attention-guided hierarchical RAG framework\uff0c\u628a\u53e5\u5b50\u9010\u6b65\u7d44\u6210\u8a9e\u610f\u9023\u8cab\u7684\u591a\u5c64\u7d50\u69cb\uff0c\u518d\u505a multi-granularity retrieval\u3002<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u9019\u662f\u4e00\u500b RAG \u5de5\u5177\uff0f\u6846\u67b6\uff0c\u91cd\u9ede\u4e0d\u662f\u55ae\u7368\u4e00\u500b\u6a21\u578b\uff0c\u800c\u662f\u628a\u7d22\u5f15\u3001\u6aa2\u7d22\u3001reranking\u3001\u7b54\u6848\u751f\u6210\u8207\u8a55\u6e2c\u4e32\u6210\u5b8c\u6574\u6d41\u7a0b\uff0c\u8655\u7406\u9577\u6587\u4ef6\u554f\u7b54\u4e2d\u300c\u8b49\u64da\u8981\u5920\u6e96\u53c8\u8981\u4fdd\u7559\u4e0a\u4e0b\u6587\u300d\u7684\u554f\u984c\u3002\u5b83\u7528 YAML \u6216 JSON config \u9a45\u52d5 CLI\uff0c\u6bcf\u4e00\u6b65\u5404\u6709\u8a2d\u5b9a\uff0c\u8f38\u51fa\u7d71\u4e00\u662f JSON\uff0c\u5c0d\u63a5\u4e0b\u6e38\u5de5\u5177\u548c\u4fdd\u7559\u53ef\u91cd\u73fe\u7d00\u9304\u90fd\u5e7e\u65b9\u4fbf\u3002<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u90e8\u7f72\u548c\u6e2c\u8a66\u601d\u8def\u7b97\u6e05\u695a\uff1a\u5148\u6e96\u5099 JSONL \u6587\u4ef6\uff0c\u4e4b\u5f8c\u5206\u958b\u5efa\u7acb index\u3001\u57f7\u884c retrieve\u3001\u518d answer\uff1b\u82e5\u8981\u7814\u7a76\u6548\u679c\uff0c\u9084\u53ef train \u548c evaluate\u3002\u9644\u52a0\u5957\u4ef6\u5206\u5225\u5c0d\u61c9 PyYAML\u3001ROUGE-L\u3001METEOR\u3001BERTScore \u53ca spaCy\uff0c\u53cd\u6620\u9019\u500b\u9805\u76ee\u9664\u4e86\u751f\u6210\uff0c\u4e5f\u5f88\u8457\u91cd\u6aa2\u7d22\u8207\u7b54\u6848\u54c1\u8cea\u7684\u91cf\u5316\u6bd4\u8f03\u3002<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u548c\u5e38\u898b flat retrieval \u76f8\u6bd4\uff0cSproutRAG \u8f03\u503c\u5f97\u7559\u610f\u7684\u662f hierarchical attention-based indexing \u52a0\u4e0a hierarchical beam search\uff1a\u5b83\u4e0d\u662f\u53ea\u6488\u55ae\u4e00\u7c92\u5ea6\u7247\u6bb5\uff0c\u800c\u662f\u6cbf\u6a39\u72c0\u7d50\u69cb\u627e\u4e0d\u540c\u5927\u5c0f\u7684\u5019\u9078\u8b49\u64da\u3002\u8ad6\u6587\u8cc7\u6599\u6307\u51fa\uff0c\u5b83\u5728\u56db\u500b benchmark \u7684 information efficiency\uff08IE\uff09\u5e73\u5747\u6bd4\u6700\u5f37 baseline \u9ad8 6.1%\uff0c\u4f46\u76ee\u524d\u516c\u958b\u8aaa\u660e\u672a\u898b\u592a\u591a\u8cc7\u6e90\u6d88\u8017\u8207\u5927\u578b\u90e8\u7f72\u7d30\u7bc0\uff0c\u8a13\u7df4\u90e8\u5206\u4ea6\u63d0\u5230 MS MARCO \u53ea\u5148\u8f09\u5165 v2.1 train split \u7684\u9996 30k \u7b46\u6a23\u672c\uff0c\u4ee3\u8868\u73fe\u968e\u6bb5\u8f03\u9069\u5408\u7814\u7a76\u3001\u8a55\u6e2c\u8207\u6d41\u7a0b\u9a57\u8b49\u3002<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u9069\u5408\u9700\u8981\u8655\u7406\u9577\u6587\u4ef6\u7684 RAG \u9805\u76ee\uff0c\u4f8b\u5982\u6cd5\u5f8b\u3001\u79d1\u7814\u3001\u77e5\u8b58\u5eab\u554f\u7b54<\/li>\n\n\n\n<li>\u914d\u7f6e\u6a94\u4e3b\u5c0e\u6d41\u7a0b\uff0c\u65b9\u4fbf\u7248\u672c\u63a7\u5236\u3001\u91cd\u73fe\u5be6\u9a57\u8207\u6bd4\u8f03\u4e0d\u540c\u8a2d\u5b9a<\/li>\n\n\n\n<li>\u652f\u63f4 optional reranking \u8207\u751f\u6210\u8a55\u6e2c\uff0c\u4e0d\u53ea\u662f\u55ae\u505a\u6aa2\u7d22<\/li>\n\n\n\n<li>\u76f8\u95dc\u6a21\u578b\u5305\u62ec sentence-transformers\/all-MiniLM-L6-v2\uff0c\u5e95\u5c64\u4f9d\u8cf4 PyTorch 2.x \u8207 Transformers 4.51+<\/li>\n\n\n\n<li>\u82e5\u4f60\u60f3\u6bd4\u8f03\u591a\u7c92\u5ea6\u8b49\u64da\u6aa2\u7d22\u8207\u50b3\u7d71 chunk-based RAG \u7684\u5dee\u7570\uff0c\u9019\u500b\u9805\u76ee\u5f88\u6709\u7814\u7a76\u50f9\u503c<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>GitHub\uff1a<\/strong> <a href=\"https:\/\/github.com\/AmirAbaskohi\/SproutRAG\" rel=\"noopener noreferrer\">https:\/\/github.com\/AmirAbaskohi\/SproutRAG<\/a><\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Paper\uff1a<\/strong> <a href=\"https:\/\/arxiv.org\/pdf\/2606.18381\" rel=\"noopener noreferrer\">https:\/\/arxiv.org\/pdf\/2606.18381<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>SproutRAG \u4e0d\u662f\u53ea\u505a\u5411\u91cf\u6aa2\u7d22\uff0c\u800c\u662f\u628a\u9577\u6587\u4ef6\u6574\u7406\u6210\u591a\u5c64\u6b21\u8b49\u64da\u6a39\u3002\u5b83\u60f3\u89e3\u6c7a RAG \u5728\u7247\u6bb5\u592a\u788e\u6216\u592a\u5927\u4e4b\u9593\u7684\u8001\u554f\u984c\u3002<\/p>\n","protected":false},"author":8,"featured_media":9561,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"ai_generated_summary":"","footnotes":""},"categories":[133,38,152,105,109,150,188,197],"tags":[],"class_list":["post-9562","post","type-post","status-publish","format-standard","hentry","category-133","category-38","category-python","category-python-nlp","category-rag","category-150","category-meta","category-framework"],"_links":{"self":[{"href":"https:\/\/infernews.com\/blog\/wp-json\/wp\/v2\/posts\/9562","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/infernews.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/infernews.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/infernews.com\/blog\/wp-json\/wp\/v2\/users\/8"}],"replies":[{"embeddable":true,"href":"https:\/\/infernews.com\/blog\/wp-json\/wp\/v2\/comments?post=9562"}],"version-history":[{"count":1,"href":"https:\/\/infernews.com\/blog\/wp-json\/wp\/v2\/posts\/9562\/revisions"}],"predecessor-version":[{"id":9564,"href":"https:\/\/infernews.com\/blog\/wp-json\/wp\/v2\/posts\/9562\/revisions\/9564"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/infernews.com\/blog\/wp-json\/wp\/v2\/media\/9561"}],"wp:attachment":[{"href":"https:\/\/infernews.com\/blog\/wp-json\/wp\/v2\/media?parent=9562"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/infernews.com\/blog\/wp-json\/wp\/v2\/categories?post=9562"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/infernews.com\/blog\/wp-json\/wp\/v2\/tags?post=9562"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}