本地部署MindSearch(開源 AI 搜索引擎框架),然后上傳到 hugging face的Spaces——L2G6

部署MindSearch到 hugging face Spaces上——L2G6

任務1

在 官方的MindSearch頁面 復制Spaces應用到自己的Spaces下,Space 名稱中需要包含 MindSearch 關鍵詞,請在必要的步驟以及成功的對話測試結果當中

實現過程如下:

2.1 MindSearch 簡介

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

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

在這里插入圖片描述

2.2 開發環境配置

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

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

在這里插入圖片描述

2.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

2.3. 獲取硅基流動API KEY

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

2.4. 啟動MindSearch

2.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 搜索引擎。

在這里插入圖片描述

2.4.2. 啟動前端

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

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

在這里插入圖片描述

前后端都啟動后,我們應該可以看到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

2.5. 部署到自己的 HuggingFace Spaces上

這里我們介紹一種更簡單的方法,它就像克隆一樣,無需編寫代碼即可部署自己的Spaces應用~

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

2.5.1 選擇配置

在該頁面的右上角,選擇Duplicate this Space

在這里插入圖片描述

選擇如下配置后,即可Duplicate Space

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

然后就開始部署啦
在這里插入圖片描述

2.5.2 測試結果

回到自己頭像的space中,會發現,已經有running在運行啦,這樣就完成啦快速部署自己的Huggingface的模型啦!

點擊就可以測試啦,

在這里插入圖片描述

等待Spaces應用啟動,當啟動好后上方會顯示綠色的running標志,這時我們可以輸入input進行測試了,我們可以在Sapces應用頁面的輸入框中輸入以下內容:

# input
What are the top 10 e-commerce websites?

測試時可能會發現頁面卡住了很久(兩三分鐘),我們可以查看日志,最后兩行可能報如下錯誤:

graph.add_edge(start_node="root", end_node("contract_enforcement"))SyntaxError: positional argument follows keyword argument

此時需要在頁面右上角選擇Restart Space,待到重啟完成后(顯示綠色running標志后)再刷新一下網頁頁面,再次測試結果如下~

在這里插入圖片描述

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

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

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

相關文章

matlab下載安裝圖文教程

【matlab介紹】 MATLAB是一款由美國MathWorks公司開發的專業計算軟件&#xff0c;主要應用于數值計算、可視化程序設計、交互式程序設計等高科技計算環境。以下是關于MATLAB的簡要介紹&#xff1a; MATLAB是MATrix LABoratory&#xff08;矩陣實驗室&#xff09;的縮寫&#…

捷米特 JM - RTU - TCP 網關應用 F - net 協議轉 Modbus TCP 實現電腦控制流量計

一、項目背景 在某工業生產園區的供水系統中&#xff0c;為了精確監測和控制各個生產環節的用水流量&#xff0c;需要對分布在不同區域的多個流量計進行集中管理。這些流量計原本采用 F - net 協議進行數據傳輸&#xff0c;但園區的監控系統基于 Modbus TCP 協議進行數據交互&…

4.1 Hugging Face Datasets實戰:構建企業級數據流水線

Hugging Face Datasets實戰:構建企業級數據流水線 一、Datasets庫核心優勢 1.1 企業級數據處理需求全景 # 支持的數據格式示例 data_formats = {"結構化數據": ["CSV", "Parquet", "SQL"]

深入解析隊列與廣度優先搜索(BFS)的算法思想:原理、實現與應用

目錄 1. 隊列的基本概念 2. 廣度優先搜索&#xff08;BFS&#xff09;的基本概念 3. 隊列在BFS中的作用 4. BFS的實現細節 5. C實現BFS 6. BFS的應用場景 7. 復雜度分析 8. 總結 1. 隊列的基本概念 隊列&#xff08;Queue&#xff09;是一種先進先出&#xff08;FIFO, …

【學術投稿-第四屆材料工程與應用力學國際學術會議(ICMEAAE 2025】材料工程與應用力學的探討

重要信息 官網&#xff1a;www.icmeaae.com 時間&#xff1a;2025年3月7-9日 地點&#xff1a;中國西安 簡介 第四屆材料工程與應用力學&#xff08;ICMEAAE 2025&#xff09;將于2025年3月7日至9日在中國西安召開。本次會議將重點討論材料科學、應用力學等領域的最新研究進…

間隔連續問題

間隔連續問題 1. 數據結構&#xff1a;某游戲公司記錄的用戶每日登錄數據 表名&#xff1a;game_user 字段名&#xff1a;id&#xff08;用戶id&#xff09;、dt&#xff08;日期&#xff09; 2. 需求&#xff1a; ① 創建表 ② 計算每個用戶最大的連續登錄天數&#xff0c…

EasyRTC輕量級SDK:智能硬件音視頻通信資源的高效利用方案

在智能硬件這片廣袤天地里&#xff0c;每一份資源的精打細算都關乎產品的生死存亡。隨著物聯網技術的疾速演進&#xff0c;實時音視頻通信功能已成為眾多設備的標配。然而&#xff0c;硬件資源的捉襟見肘&#xff0c;讓開發者們常常陷入兩難境地。EasyRTC&#xff0c;以它的極致…

神經網絡剪枝技術的重大突破:sGLP-IB與sTLP-IB

神經網絡剪枝技術的重大突破:sGLP-IB與sTLP-IB 在人工智能飛速發展的今天,深度學習技術已經成為推動計算機視覺、自然語言處理等領域的核心力量。然而,隨著模型規模的不斷膨脹,如何在有限的計算資源和存儲條件下高效部署這些復雜的神經網絡模型,成為了研究者們亟待解決的…

[AI相關]Unity的C#代碼如何簡寫

是一個某培訓機構的飛行棋教學源碼 不知道&#xff0c;是否有人想知道怎么可以簡寫 &#xff08;這個問AI&#xff0c;DeepSeek也應該找不到答案的&#xff09; 靜態變量 屬性引用 單例 注入 一些UnityEvent特性就不說了。。。 IL 注入 運算符號改寫

【Docker】容器被停止/刪除的方式及命令:全面解析與實踐指南

文章目錄 引言一、容器的生命周期二、停止容器的命令及方式1. docker stop 命令2. docker kill 命令3. docker pause 和 docker unpause 命令4. docker restart 命令 三、刪除容器的命令及方式1. docker rm 命令2. docker container prune 命令3. docker rm 與 docker rmi 的區…

Node.js技術原理分析系列——Node.js調試能力分析

本文由體驗技術團隊屈金雄原創。 Node.js 是一個開源的、跨平臺的 JavaScript 運行時環境&#xff0c;它允許開發者在服務器端運行 JavaScript 代碼。Node.js 是基于 Chrome V8引擎構建的&#xff0c;專為高性能、高并發的網絡應用而設計&#xff0c;廣泛應用于構建服務器端應…

輕松搭建本地大語言模型(二)Open-WebUI安裝與使用

文章目錄 前置條件目標一、安裝 Open-WebUI使用 Docker 部署 二、使用 Open-WebUI&#xff08;一&#xff09;訪問Open-WebUI&#xff08;二&#xff09;注冊賬號&#xff08;三&#xff09;模型選擇&#xff08;四&#xff09;交互 四、常見問題&#xff08;一&#xff09;容器…

阿里云百煉通義大模型

阿里云百煉通義大模型 Part one&#xff08;阿里云百煉大模型&#xff09;一、什么是百煉&#xff08;一&#xff09;調用大模型 二、支持的大模型三、模型總覽四、為什么選擇百煉&#xff1f;五、開始使用百煉Part two一、開發參考二、模型調用&#xff08;一&#xff09;通義…

Golang學習筆記_33——橋接模式

Golang學習筆記_30——建造者模式 Golang學習筆記_31——原型模式 Golang學習筆記_32——適配器模式 文章目錄 橋接模式詳解一、橋接模式核心概念1. 定義2. 解決的問題3. 核心角色4. 類圖 二、橋接模式的特點三、適用場景1. 多維度變化2. 跨平臺開發3. 動態切換實現 四、與其他…

低代碼(Low Code)全解析:從概念到應用,從選擇到價值

?在數字化浪潮席卷全球的當下&#xff0c;企業對軟件開發的效率與靈活性愈發重視&#xff0c;低代碼平臺應運而生并迅速掀起技術熱潮。 本文基于筆者 6 年的低代碼實踐經驗&#xff0c;深入剖析低代碼的諸多方面&#xff0c;涵蓋其定義、發展歷程、國內平臺對比、開發流程、與…

函數重載講解

雖然在初識C-CSDN博客中介紹過&#xff0c;但還是感覺要單發出來大概講解下 什么是函數重載&#xff1f; 函數重載是指在同一個作用域內&#xff0c;函數名相同&#xff0c;但它們的 參數列表 不同。C 允許你根據函數的參數個數、類型或者順序的不同來定義多個同名函數。編譯…

14-H指數

給你一個整數數組 citations &#xff0c;其中 citations[i] 表示研究者的第 i 篇論文被引用的次數。計算并返回該研究者的 h 指數。 根據維基百科上 h 指數的定義&#xff1a;h 代表“高引用次數” &#xff0c;一名科研人員的 h 指數 是指他&#xff08;她&#xff09;至少發…

關于es6-module的語法

ES6&#xff08;ECMAScript 2015&#xff09;引入了模塊化的概念&#xff0c;旨在使 JavaScript 更加模塊化、可維護和可重用。ES6 模塊允許我們在不同的文件中組織和管理代碼&#xff0c;使得不同模塊之間的依賴關系更加清晰。 1. 導出&#xff08;Export&#xff09; 1.1 命…

Chrome多開終極形態解鎖!「窗口管理工具+IP隔離插件

Web3項目多開&#xff0c;繼ads指紋瀏覽器錢包被盜后&#xff0c;更多人采用原生chrome瀏覽器&#xff0c;當然對于新手&#xff0c;指紋瀏覽器每月成本也是一筆不小開支&#xff0c;今天逛Github發現了這樣一個解決方案&#xff0c;作者開發了窗口管理工具IP隔離插件&#xff…

DeepSeek核心算法解析:如何打造比肩ChatGPT的國產大模型

注&#xff1a;此文章內容均節選自充電了么創始人&#xff0c;CEO兼CTO陳敬雷老師的新書《自然語言處理原理與實戰》&#xff08;人工智能科學與技術叢書&#xff09;【陳敬雷編著】【清華大學出版社】 文章目錄 DeepSeek大模型技術系列一DeepSeek核心算法解析&#xff1a;如何…