SimpleAISearch:C# + DuckDuckGo 實現簡單的AI搜尋

mingupupup發表於2024-09-20

最近AI搜尋很火爆,有Perplexity、秘塔AI、MindSearch、Perplexica、memfree、khoj等等。

在使用大語言模型的過程中,或許你也遇到了這種侷限,就是無法獲取網上最新的資訊,導致回答的內容不是基於最新的資訊,為了解決這個問題,可以透過LLM+搜尋引擎的方式實現。

以我之前開源的一個簡單專案為例,如果直接問一般的大語言模型是不知道的,如下所示:

image-20240920103257679

對比可以聯網的回答:

Perplexity

image-20240920103503743

khoj

image-20240920103739835

Kimi

image-20240920103933071

那麼我們如何自己實現類似的效果呢?

先來看看自己實現的效果:

image-20240920104451845

原始碼GitHub地址:https://github.com/Ming-jiayou/SimpleAISearch

如果對此感興趣的話,就可以繼續往下閱讀。

實現思路

本質上就是LLM+搜尋引擎。

首先需要能夠實現函式呼叫功能,在之前的文章中已經有所說明。主要介紹一下實現思路,原始碼已經開源,感興趣的話可以自己去看下具體程式碼。

首先在外掛中新增呼叫搜尋引擎的程式碼,我這裡搜尋引擎選用的是DuckDuckGo。

開始執行時,LLM會判斷需要呼叫這個函式,並且引數是問題:

image-20240920105218166

這個函式如下所示:

image-20240920105254572

搜尋引擎會找到相關內容:

image-20240920105409114

讓LLM根據獲取到的這些資訊給出回答:

image-20240920105518735

目前是經過總結之後顯示在介面上,也可以修改為不經過總結的。

以上就是實現的一個簡單思路。

快速體驗

透過原始碼構建

和之前的LLM專案一樣,只需appsettings.example.json修改為appsettings.json選擇你使用的平臺並填入API Key即可。

直接體驗

我已經在github上釋出了兩個版本一個依賴框架,一個不依賴框架:

image-20240920113656942

下載解壓之後,在appsettings中填入你的api key即可使用。

相關文章