SimpleRAG:基於WPF與Semantic Kernel實現的一個簡單的RAG應用

mingupupup發表於2024-08-19

SimpleRAG介紹

SimpleRAG是基於WPF與Semantic Kernel實現的一個簡單的RAG應用,可用於學習與理解如何使用Semantic Kernel構建RAG應用。

GitHub地址:https://github.com/Ming-jiayou/SimpleRAG

主要功能

AI聊天

支援所有相容OpenAI格式的大語言模型:

image-20240819163701855

文字嵌入

支援所有相容OpenAI格式的嵌入模型:

image-20240819163900106

簡單的RAG回答

簡單的RAG回答效果:

image-20240819164221306

對比不使用RAG的回答:

image-20240819164322893

從原始碼構建

git clone到本地,開啟appsettings.example.json檔案:

image-20240819164816557

如下所示:

image-20240819164844061

ChatAI用於配置對話模型,Embedding用於配置嵌入模型,TextChunker用於配置文件切片大小。

還是以SiliconCloud為例,只需填入你的api key 並將檔名改為appsettings.json,或者新建一個appsettings.json即可。

配置完成如下所示:

image-20240819165255285

IDE:VS2022

.NET 版本:.NET 8

開啟解決方案,專案結構如下所示:

image-20240819165459846

執行程式:

image-20240819165551772

測試AI聊天:

image-20240819165652624

測試嵌入:

image-20240819165803024

使用的是Sqlite儲存向量,可以在Debug資料夾下找到這個資料庫:

image-20240819165854807

開啟該資料庫,如下所示:

image-20240819170059576

測試RAG回答:

image-20240819170128226

其他配置

您還可以自由的進行其他配置,比如使用Ollama中的對話模型與嵌入模型用於本地離線場景,配置其他的線上對話模型,使用本地Ollama中的嵌入模型等。

最後

如果對您有所幫助,點個star✨,就是最大的支援😊。

如果您看了這個指南,還是遇到了問題,歡迎透過公眾號聯絡我:

qrcode_for_gh_eb0908859e11_344

相關文章