書生大模型實戰營14-MindSearch深度解析實踐

文章目錄

  • L2——進階島
    • MindSearch深度解析實踐
      • 1 MindSearch 簡介
      • 2 開發環境配置
        • 2.1. 打開codespace主頁,選擇Blank模板進行創建
        • 2.2. 創建conda環境隔離并安裝依賴
      • 3. 獲取硅基流動API KEY
      • 4. 啟動MindSearch
        • 4.1. 啟動后端
        • 4.2. 啟動前端
      • 5. 部署到自己的 HuggingFace Spaces上
        • 5.1 選擇配置
        • 5.2 測試結果

L2——進階島

MindSearch深度解析實踐

1 MindSearch 簡介

MindSearch 是一個開源的 AI 搜索引擎框架,具有與 Perplexity.ai Pro 相同的性能。我們可以輕松部署它來構建自己的專屬搜索引擎,可以基于閉源的LLM(如GPT、Claude系列),也可以使用開源的LLM(如經過專門優化的InternLM2.5 系列模型,能夠在MindSearch框架中提供卓越的性能)。

最新版的MindSearch擁有以下特性:

  • 🤔 任何你想知道的問題:MindSearch 通過搜索解決你在生活中遇到的各種問題
  • 📚 深度知識探索:MindSearch 通過數百個網頁的瀏覽,提供更廣泛、深層次的答案
  • 🔍 透明的解決方案路徑:MindSearch 提供了思考路徑、搜索關鍵詞等完整的內容,提高回復的可信度和可用性。
  • 💻 多種用戶界面:為用戶提供各種接口,包括 React、Gradio、Streamlit 和本地調試。根據需要選擇任意類型。
  • 🧠 動態圖構建過程:MindSearch 將用戶查詢分解為圖中的子問題節點,并根據 WebSearcher 的搜索結果逐步擴展圖。

在這里插入圖片描述

2 開發環境配置

在入門島我們已經提到過,想要簡單部署到 hugging face上,我們需要將開發機平臺從InternStudio 替換成 GitHub CodeSpace。且隨著硅基流動提供了免費的InternLM2.5-7B-Chat的API服務,大大降低了部署門檻,我們無需GPU資源也可以部署和使用MindSearch,這也是可以利用CodeSpace完成本次實驗的原因。 那就讓我們一起來看看如何使用硅基流動的API來部署MindSearch吧~

2.1. 打開codespace主頁,選擇Blank模板進行創建

在這里插入圖片描述

2.2. 創建conda環境隔離并安裝依賴

如果只針對于這個實驗的話,其實在codespace里面不用單獨創建conda環境。但是隔離是一個好習慣,因此我們還是創建一個相應的虛擬環境來隔離。

conda create -n mindsearch python=3.10 -y
conda init

如果是新建的codespace,在第一次創建conda環境時,需要conda init,再另啟一個終端并activate
在這里插入圖片描述

conda activate mindsearchcd /workspaces/codespaces-blank
git clone https://github.com/InternLM/MindSearch.git && cd MindSearch && git checkout ae5b0c5pip install -r requirements.txt

3. 獲取硅基流動API KEY

因為要使用硅基流動的 API Key,所以接下來便是注冊并獲取 API Key 了。 首先,我們打開它的登錄界面來注冊硅基流動的賬號(如果注冊過,則直接登錄即可)。 在完成注冊后,打開api key頁面來準備 API Key。首先創建新 API 密鑰,然后點擊密鑰進行復制,以備后續使用。
在這里插入圖片描述

4. 啟動MindSearch

4.1. 啟動后端

由于硅基流動 API 的相關配置已經集成在了 MindSearch 中,所以我們在一個終端A中可以直接執行下面的代碼來啟動 MindSearch 的后端。

export SILICON_API_KEY=<上面復制的API KEY>
conda activate mindsearch# 進入你clone的項目目錄
cd /workspaces/codespaces-blank/MindSearch
python -m mindsearch.app --lang cn --model_format internlm_silicon --search_engine DuckDuckGoSearch --asy
  • lang: 模型的語言,en 為英語,cn 為中文。
  • model_format: 模型的格式。
    internlm_silicon 為 InternLM2.5-7b-chat 在硅基流動上的API模型
  • search_engine: 搜索引擎。
    • DuckDuckGoSearch 為 DuckDuckGo 搜索引擎。
    • BingSearch 為 Bing 搜索引擎。
    • BraveSearch 為 Brave 搜索引擎。
    • GoogleSearch 為 Google Serper 搜索引擎。
    • TencentSearch 為 Tencent 搜索引擎。

指令執行后,結果如下
在這里插入圖片描述
此時會彈出在瀏覽器中展示 FastAPI 界面的提示。
界面如下
在這里插入圖片描述

4.2. 啟動前端

在后端啟動完成后,我們打開新終端B運行如下命令來啟動 MindSearch 的前端:

conda activate mindsearch
# 進入你clone的項目目錄
cd /workspaces/codespaces-blank/MindSearch
python frontend/mindsearch_gradio.py

執行后結果如下,此時會彈出打開瀏覽器頁面的提示。
在這里插入圖片描述

前后端都啟動后,在 GitHub CodeSpace 頁面,我們可以看到github自動為這兩個進程做端口轉發:
在這里插入圖片描述
如果啟動前端后沒有自動打開前端頁面的話,我們可以手動用7882的端口轉發地址打開gradio的前端頁面。
在這里插入圖片描述

然后就可以體驗MindSearch gradio版本啦~ 比如向其詢問:“Find legal precedents in contract law.” 等待一段時間后,會在頁面上輸出它的結果。
在這里插入圖片描述
在這一步中,可能終端會打印報錯信息,但是只要前端頁面上沒有出現報錯就行。如果前端頁面上出現錯誤并終止,那么可能是MindSearch 中 searcher 模塊的問題。在上面的例子中我們使用的是DuckDuckGoSearch,因此你也可以嘗試其他的搜索引擎API。如我們可以替換為BingSearch 或者 TencentSearch 進行嘗試。

# BingSearch
python -m mindsearch.app --lang cn --model_format internlm_silicon --search_engine BingSearch --asy
# TencentSearch
python -m mindsearch.app --lang cn --model_format internlm_silicon --search_engine TencentSearch --asy

5. 部署到自己的 HuggingFace Spaces上

在之前課程的學習中,我們已經將模型或者應用上傳/部署到hugging face上過了。在這里我們介紹一種更簡單的方法,它就像克隆一樣,無需編寫代碼即可部署自己的Spaces應用。

首先我們找到InternLM官方部署的MindSearch Spaces應用

5.1 選擇配置

在該頁面的右上角,選擇Duplicate this Space
在這里插入圖片描述
選擇如下配置后,即可Duplicate Space

  • Space Hardware選擇第一條,即Free的2vCPU即可
  • 填寫好SILICON_API_KEY,即上面提到的硅基流動的API KEY

在這里插入圖片描述

5.2 測試結果

等待Spaces應用啟動,啟動完成后,界面如下:
在這里插入圖片描述
同時上方會顯示綠色的running標志,這時我們可以輸入input進行測試了,我們可以在Sapces應用頁面的輸入框中輸入以下內容:

What are the top 10 e-commerce websites?

測試時可能會發現頁面卡住了很久(兩三分鐘),我們可以查看日志,如有報錯,需要重新啟動。
在這里插入圖片描述
提出問題后,即可收到回報。
在這里插入圖片描述

至此,我們就完成了MindSearch在Hugging Face上面的部署。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/896218.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/896218.shtml
英文地址,請注明出處:http://en.pswp.cn/news/896218.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

uniapp實現app的pdf預覽

實現效果 文件準備 static下添加該pdf文件&#xff08;下載地址&#xff1a;https://gitee.com/shallow-winds/resource_package/tree/master/%E6%96%B9%E6%B3%95%E4%B8%80/html&#xff09; 使用web-view進行展示&#xff1a; 在這里插入代碼片 <web-view :src"u…

重啟 nginx

首先確認Nginx是否已經安裝&#xff0c;并檢查它的安裝位置。 執行以下命令來檢查&#xff1a; which nginx#例如&#xff1a;顯示/usr/local/nginx/sbin/nginx方法1&#xff1a;直接使用完整路徑啟動Nginx 1.1、啟動 Nginx&#xff0c;執行命令&#xff1a; sudo /usr/loca…

java實現多圖合成mp4和視頻附件下載

java實現多圖合成mp4和視頻附件下載 在wutool中&#xff0c;封裝了視頻處理工具類&#xff0c;基于javacv和ffmpeg庫&#xff0c;實現多圖合成mp4、視頻http附件下載等。 關于wutool wutool是一個java代碼片段收集庫&#xff0c;針對特定場景提供輕量解決方案&#xff0c;只…

ollama修改監聽ip: 0.0.0.0

確認Ollama綁定IP地址 默認情況下&#xff0c;Ollama可能僅監聽本地回環地址&#xff08;127.0.0.1&#xff09;。要允許外部訪問&#xff0c;需將其配置為監聽所有IP&#xff08;0.0.0.0&#xff09;或指定IP&#xff08;如10…19&#xff09;。 修改啟動命令&#xff08;推薦…

STM32-溫濕度上傳OneNET項目

一、項目需求 使用 ESP8266 連接 OneNET 云平臺&#xff0c;并通過 MQTT 協議上傳 DHT11 獲取的溫濕度值。 二、項目框圖 三、DHT11工作原理 參考于良許嵌入式手把手教你玩轉DHT11&#xff08;原理驅動&#xff09; | 良許嵌入式 3.1 正常工作驗證 #? 上電后&#xff…

百度首頁上線 DeepSeek 入口,免費使用

大家好&#xff0c;我是小悟。 百度首頁正式上線了 DeepSeek 入口&#xff0c;這一重磅消息瞬間在技術圈掀起了驚濤駭浪&#xff0c;各大平臺都被刷爆了屏。 百度這次可太給力了&#xff0c;PC 端開放僅 1 小時&#xff0c;就有超千萬人涌入體驗。這速度&#xff0c;簡直比火…

Ubuntu:wvp-GB28181-pro安裝、運行

參考 https://doc.wvp-pro.cn 下載源碼 GitHub - 648540858/wvp-GB28181-pro: WEB VIDEO PLATFORM是一個基于GB28181-2016標準實現的網絡視頻平臺&#xff0c;支持NAT穿透&#xff0c;支持海康、大華、宇視等品牌的IPC、NVR、DVR接入。支持國標級聯&#xff0c;支持rtsp/rtm…

c++入門-------命名空間、缺省參數、函數重載

C系列 文章目錄 C系列前言一、命名空間二、缺省參數2.1、缺省參數概念2.2、 缺省參數分類2.2.1、全缺省參數2.2.2、半缺省參數 2.3、缺省參數的特點 三、函數重載3.1、函數重載概念3.2、構成函數重載的條件3.2.1、參數類型不同3.2.2、參數個數不同3.2.3、參數類型順序不同 前言…

Linux提權之計劃任務反彈shell提權(十一)

實驗環境還是一樣的 當獲取一個linux普通用戶的時&#xff0c;查看計劃任務 首先我們退出root用戶 cat /etc/crontab crontab -l 查看當前用戶命令 /var/spool/cron/crontabs/root 這個目錄是root任務文件 默認是不是root權限是 看不到 tail -f /var/log/syslog 咋們切換用…

論文解讀 | AAAI'25 Cobra:多模態擴展的大型語言模型,以實現高效推理

點擊藍字 關注我們 AI TIME歡迎每一位AI愛好者的加入&#xff01; 點擊 閱讀原文 觀看作者講解回放&#xff01; 個人信息 作者&#xff1a;趙晗&#xff0c;浙江大學-西湖大學聯合培養博士生 內容簡介 近年來&#xff0c;在各個領域應用多模態大語言模型&#xff08;MLLMs&…

ai-financial-agent - 為金融投資打造的AI代理

探索人工智能在投資研究中的應用。本項目僅用于**教育**目的&#xff0c;不用于真實交易或投資。 作者聲明&#xff1a; 本項目僅用于教育和研究目的。 不用于真實交易或投資不提供任何保證或擔保過去的表現并不代表未來的結果Creator 對經濟損失不承擔任何責任咨詢財務顧問…

Open WebUI選擇模型為空,解決辦法(for DeepSeek)

標簽&#xff1a; DeepSeek&#xff1b; Open WebUI&#xff1b; 問題&#xff1a;Open WebUI選擇模型為空&#xff0c;解決辦法 &#xff08;for DeepSeek&#xff09; 操作系統&#xff1a;Ubuntu 22 硬件&#xff1a;臺式電腦 Ubuntu 22系統&#xff0c;DeepSeek安裝成功&…

歐幾里得算法第二彈---計算多個數的最大公約數

如果要求多個數的 GCD&#xff0c;可以先求前兩個數的 GCD&#xff0c;然后用這個結果與下一個數求 GCD&#xff0c;依次類推。 為什么可以用前兩個數的 GCD 與下一個數繼續求 GCD&#xff0c;從而得到所有數的 GCD 呢&#xff1f;&#xff08;之前我不知道&#xff0c;自己也沒…

掌握 ElasticSearch 組合查詢:Bool Query 詳解與實踐

掌握 ElasticSearch 組合查詢&#xff1a;Bool Query 詳解與實踐 一、引言 (Introduction)二、Bool 查詢基礎2.1 什么是 Bool 查詢&#xff1f;2.2 Bool 查詢的四種子句2.3 語法結構 三、Bool 查詢的四種子句詳解與示例3.1 must 子句3.2 filter 子句3.3 should 子句3.4 must_no…

【練習】【類似于子集問題】力扣491. 非遞減子序列/遞增子序列

題目 非遞減子序列 給你一個整數數組 nums &#xff0c;找出并返回所有該數組中不同的遞增子序列&#xff0c;遞增子序列中 至少有兩個元素 。你可以按 任意順序 返回答案。 數組中可能含有重復元素&#xff0c;如出現兩個整數相等&#xff0c;也可以視作遞增序列的一種特殊情況…

本地部署AI模型 --- DeepSeek(二)---更新中

目錄 FAQ 1.Failed to load the model Exit code: 18446744072635812000 FAQ 1.Failed to load the model Exit code: 18446744072635812000 問題描述&#xff1a; &#x1f972; Failed to load the model Error loading model. (Exit code: 18446744072635812000). Unkn…

開源嵌入式實時操作系統uC/OS-II介紹

一、uC/OS-II的誕生&#xff1a;從開源實驗到行業標桿 背景與起源 uC/OS-II&#xff08;Micro-Controller Operating System Version II&#xff09;誕生于1992年&#xff0c;由嵌入式系統先驅Jean J. Labrosse開發。其前身uC/OS&#xff08;1991年&#xff09;最初作為教學工…

Starlink衛星動力學系統仿真建模第七講-衛星姿軌控系統(Attitude and Orbit Control System, AOCS)設計規范

以下是一份衛星姿軌控系統&#xff08;Attitude and Orbit Control System, AOCS&#xff09;設計規范的框架和核心內容示例&#xff0c;供參考&#xff1a; 衛星姿軌控系統&#xff08;AOCS&#xff09;設計規范 1. 總則 1.1 目的 本規范旨在規定衛星姿軌控系統的設計要求、…

C++之旅-C++11的深度剖析(1)

目錄 前言/背景 1.C11的發展歷史 2.列表初始化 2.1 C98傳統的{} 2.2 C11中的{} 2.3 C11中的std::initializer_list 3.右值引用 3.1 左值和右值 3.2 左值引用和右值引用 3.3 引用延長生命周期 3.4 左值和右值的參數匹配 結束語 前言/背景 隨著現代軟件開發的快速發展…

什么是手機9008模式?如何進入9008

之前給大家分享了一些有關手機刷機的知識&#xff0c;今天給大家講一講如果刷機過程中不慎變磚應該如何應對&#xff08;當然了&#xff0c;希望大家都不會遇到&#xff09;&#x1f602;&#x1f604; 在給手機 Root 或刷機時&#xff0c;線刷 9008 指的是利用 高通 9008 模式…