最近AI搜尋很火爆,有Perplexity、秘塔AI、MindSearch、Perplexica、memfree、khoj等等。
在使用大語言模型的過程中,或許你也遇到了這種侷限,就是無法獲取網上最新的資訊,導致回答的內容不是基於最新的資訊,為了解決這個問題,可以透過LLM+搜尋引擎的方式實現。
以我之前開源的一個簡單專案為例,如果直接問一般的大語言模型是不知道的,如下所示:
對比可以聯網的回答:
Perplexity
khoj
Kimi
那麼我們如何自己實現類似的效果呢?
先來看看自己實現的效果:
原始碼GitHub地址:https://github.com/Ming-jiayou/SimpleAISearch
如果對此感興趣的話,就可以繼續往下閱讀。
實現思路
本質上就是LLM+搜尋引擎。
首先需要能夠實現函式呼叫功能,在之前的文章中已經有所說明。主要介紹一下實現思路,原始碼已經開源,感興趣的話可以自己去看下具體程式碼。
首先在外掛中新增呼叫搜尋引擎的程式碼,我這裡搜尋引擎選用的是DuckDuckGo。
開始執行時,LLM會判斷需要呼叫這個函式,並且引數是問題:
這個函式如下所示:
搜尋引擎會找到相關內容:
讓LLM根據獲取到的這些資訊給出回答:
目前是經過總結之後顯示在介面上,也可以修改為不經過總結的。
以上就是實現的一個簡單思路。
快速體驗
透過原始碼構建
和之前的LLM專案一樣,只需appsettings.example.json修改為appsettings.json選擇你使用的平臺並填入API Key即可。
直接體驗
我已經在github上釋出了兩個版本一個依賴框架,一個不依賴框架:
下載解壓之後,在appsettings中填入你的api key即可使用。