<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>NetEase on SoloSoft</title><link>https://www.solosoft.dev/tags/netease/</link><description>Recent content in NetEase on SoloSoft</description><generator>Hugo</generator><language>en-us</language><lastBuildDate>Fri, 01 May 2026 00:00:00 +0000</lastBuildDate><atom:link href="https://www.solosoft.dev/tags/netease/index.xml" rel="self" type="application/rss+xml"/><item><title>QAnything: NetEase's Open-Source RAG Engine</title><link>https://www.solosoft.dev/post/qanything-rag-2026/</link><pubDate>Fri, 01 May 2026 00:00:00 +0000</pubDate><guid>https://www.solosoft.dev/post/qanything-rag-2026/</guid><description>&lt;p&gt;Retrieval-augmented generation (RAG) has become the standard architecture for grounding LLM responses in real knowledge. QAnything, developed by NetEase Youdao, is a production-ready RAG engine that handles the full pipeline from document ingestion to answer generation, with special emphasis on accurate retrieval from local document collections.&lt;/p&gt;
&lt;p&gt;What sets QAnything apart is its focus on retrieval precision. The system uses a two-stage retrieval pipeline combining dense and sparse methods, followed by re-ranking, to ensure the LLM receives only the most relevant context. This drastically reduces hallucinations while maintaining high recall.&lt;/p&gt;
&lt;h2 id="system-capabilities"&gt;System Capabilities&lt;/h2&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;Feature&lt;/th&gt;
 &lt;th&gt;Description&lt;/th&gt;
 &lt;th&gt;Benefit&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;Multi-format document support&lt;/td&gt;
 &lt;td&gt;PDF, Word, Excel, PPT, images&lt;/td&gt;
 &lt;td&gt;No preprocessing needed&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;Two-stage retrieval&lt;/td&gt;
 &lt;td&gt;Dense + sparse + re-ranking&lt;/td&gt;
 &lt;td&gt;High precision and recall&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;Multi-modal understanding&lt;/td&gt;
 &lt;td&gt;Text, tables, images in documents&lt;/td&gt;
 &lt;td&gt;Complete comprehension&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;Local deployment&lt;/td&gt;
 &lt;td&gt;Runs entirely on-premises&lt;/td&gt;
 &lt;td&gt;Data privacy guaranteed&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;Custom knowledge bases&lt;/td&gt;
 &lt;td&gt;Multiple isolated collections&lt;/td&gt;
 &lt;td&gt;Organization-friendly&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;h2 id="rag-pipeline-architecture"&gt;RAG Pipeline Architecture&lt;/h2&gt;

&lt;figure class="mermaid-wrapper not-prose" role="img" aria-label="Mermaid diagram"&gt;
 &lt;div class="mermaid-container"&gt;
 &lt;pre class="mermaid"&gt;flowchart LR
 A[Documents] --&amp;gt; B[Document Parser]
 B --&amp;gt; C[Chunking &amp;amp; Embedding]
 C --&amp;gt; D[Vector Database]
 E[User Query] --&amp;gt; F[Query Embedding]
 D --&amp;gt; G[Dense Retrieval]
 F --&amp;gt; G
 D --&amp;gt; H[Sparse Retrieval]
 F --&amp;gt; H
 G --&amp;gt; I[Fusion &amp;amp; Re-ranking]
 H --&amp;gt; I
 I --&amp;gt; J[LLM Context Assembly]
 J --&amp;gt; K[Answer Generation]&lt;/pre&gt;
 &lt;script type="application/mermaid"&gt;flowchart LR
 A[Documents] --&gt; B[Document Parser]
 B --&gt; C[Chunking &amp; Embedding]
 C --&gt; D[Vector Database]
 E[User Query] --&gt; F[Query Embedding]
 D --&gt; G[Dense Retrieval]
 F --&gt; G
 D --&gt; H[Sparse Retrieval]
 F --&gt; H
 G --&gt; I[Fusion &amp; Re-ranking]
 H --&gt; I
 I --&gt; J[LLM Context Assembly]
 J --&gt; K[Answer Generation]&lt;/script&gt;
 &lt;/div&gt;
&lt;/figure&gt;&lt;p&gt;The pipeline ingests documents through parsing and chunking, then stores embeddings in a vector database. On query, both dense and sparse retrieval find relevant chunks, fusion combines the results, re-ranking prioritizes the best matches, and the LLM generates an answer from the assembled context.&lt;/p&gt;</description></item></channel></rss>