介紹
FastWiki 專案是一個高效能、基於最新技術棧的知識庫系統,專為大規模資訊檢索與智慧搜尋設計。利用微軟 Semantic Kernel 進行深度學習與自然語言處理,結合 .NET 8 和 MasaBlazor 前端框架,後台採用 .NET 8 + MasaFramework + SemanticKernel,實現了一個高效、易用、可擴展的智慧向量搜尋平台。我們的目標是提供一個能夠理解並處理複雜查詢的智慧搜尋解決方案,幫助使用者快速準確地取得所需資訊。
技術棧
- 前端框架:
MasaBlazor透過HttpClient實現前後分離 - 後端框架:
MasaFramework基於 .NET 8 使用MiniApis實現webApi功能,並獲得更高效能 - 向量搜尋引擎:使用
PostgreSQL的向量插件,最佳化搜尋效能 - 深度學習與 NLP:微軟 Semantic Kernel,提升搜尋的語意理解能力
- 授權條款:Apache-2.0,鼓勵社群貢獻與使用
特點
- 智慧搜尋:借助 Semantic Kernel 的深度學習與自然語言處理技術,能夠理解複雜查詢,提供精準的搜尋結果。
- 高效能:透過 pgsql 的向量插件最佳化向量搜尋效能,確保即使在大量資料下也能快速回應。
- 現代化前端:使用 MasaBlazor 前端框架,提供響應式設計與使用者友善的介面。
- 強大的後端:基於最新的 .NET 8 與 MasaFramework,確保程式碼的高效性與可維護性。
- 開源與社群驅動:採用 Apache-2.0 授權條款,鼓勵開發者與企業使用及貢獻。
專案部分截圖介紹
新增知識庫:

上傳我們的文件:

點擊上傳或將文件拖曳到此處(暫僅支援 md 或 txt 等文字檔案,後續會支援 pdf 等格式)

上傳我們的文件,下面提供我們的文件範本:
# 為什麼選擇 MASA Blazor?
## Blazor 是什麼?
Blazor 是一個使用 .NET 產生互動式用戶端 Web UI 的框架:
- 使用 C# 代替 JavaScript 來建立資訊豐富的互動式 UI。
- 共享使用 .NET 撰寫的伺服器端與用戶端應用程式邏輯。
- 將 UI 呈現為 HTML 與 CSS,以支援眾多瀏覽器,其中包括行動瀏覽器。
- 與現代托管平台(如 Docker)整合。
使用 .NET 進行用戶端 Web 開發可提供以下優勢:
- 使用 C# 代替 JavaScript 來撰寫程式碼。
- 利用現有的 .NET 程式庫生態系統。
- 在伺服器與用戶端之間共用應用程式邏輯。
- 受益於 .NET 的效能、可靠性與安全性。
- 在 Windows、Linux 與 macOS 上使用 Visual Studio 保持高效工作。
- 以一群穩定、功能豐富且易用的通用語言、框架與工具為基礎來進行建置。
## MASA Blazor 是什麼?
基於 Material Design 設計與 BlazorComponent 的互動能力提供標準的基礎元件庫。提供如佈局、彈窗標準、Loading、全域例外處理等標準場景的預置元件。從更多實際場景出發,滿足更多使用者與場景的需求,縮短開發週期,提高開發效率,並提供一整套 Web 解決方案 - MASA Blazor Pro。
## 為什麼選擇 MASA Blazor?
MASA Blazor 基於 Material 設計規範,每一個元件都經過精心設計,具有模組化、響應式與優異的效能。
MASA Blazor 是由一支專業的全職技術團隊進行定期維護升級,高效的回應速度,多元化的解決方案,並提供企業級支援。目前已在知名企業使用,且 MASA 團隊自研的 MASA Stack 產品線也將持續使用,除了可以保證專案品質,還可以持續的增加新的元件與功能。
MASA Stack 除了為開發者提供眾多中台類開源專案,其最基本的組成部分之一 MASA Blazor 也希望可以打造成最實用的元件庫。
## Masa Blazor 和 Token 有什麼關係?
Token 是一個 01 年的 .NET 程式設計師,熱愛開源,Token 經常對於 Masa 的開源專案進行貢獻開源程式碼,他們的淵源就像上天指定的一樣,Masa Blazor 是一個非常不錯的開源專案哦。
## 優勢:
- 豐富元件:包含 Vuetify 1:1 還原的基礎元件,以及很多實用的預置元件與 .Net 深度整合功能,包括 Url、麵包屑、導航三連動,進階搜尋,i18n 等。
- UI 設計語言:設計風格現代,UI 多端體驗設計優秀。
- 專業範例:MASA Blazor Pro 提供多種常見場景的預設佈局。
- 簡易上手:豐富詳細的上手文件,免費的影片教學(製作中)。
- 社群活躍鼓勵:使用者參與即時互動,做出貢獻加入我們,建構最開放的開源社群。
- 長期支援:全職團隊維護,並提供企業級支援。
點擊下一步資料處理:

在這裡我們提供了直接拆分與問答拆分(尚未實現)
我們修改了自訂處理的參數,這個數值會影響文件拆分,如果拆分得當,回覆的效果會更好,如果拆分過大,會導致 token 消耗太大,可能導致欠費。然後我們再點擊下一步:

在這裡我們可以看到所有需要上傳的檔案,在此步驟中,是先將檔案上傳到伺服器,然後會將資料新增到後台,並且進行向量化資料,這個過程會比較長,具體取決於文件內容。
上傳完成以後,列表會顯示上傳的資料,點擊檢視可以查看拆分的文件的所有資料:

點擊查看詳情能看到所有的資訊:

點擊應用 -> 建立應用:

開啟應用,然後點擊選擇知識庫,將剛剛新增的知識庫與當前應用綁定,然後點擊儲存修改,這樣對話時就會搜尋綁定的知識庫了。在這裡我們也可以修改一些應用參數,例如開場白或角色的 prompt 定義:

然後我們點擊聊天,然後輸入我們的知識庫的內容:

問:Masa Blazor 和 Token 有什麼關係?

我們可以看到以上知識庫的回覆效果。如果你是直接問 GPT 的話,它不知道 Token 是誰!知識庫在一定的情況下能夠彌補 AI 的不足。再例如,當我們要訂製企業文件時,只需把文件全部給知識庫,然後將應用做成一個對話,我們就可以為客戶提供一個體驗更好的文件小助手,甚至於可以替代非常多的客服人力成本。如果你有更深的訂製需求,可以聯絡我微信:hjl010426
專案開源
FastWiki 採用 Apache-2.0,您也可以完全商用,不會有任何版權糾紛。
GitHub: https://github.com/239573049/fast-wiki Gitee: https://gitee.com/hejiale010426/fast-wiki
FastWiki 技術交流群:
