從零開始使用MaxKB打造本地大語言模型智能問答系統與遠程交互

文章目錄

    • 前言
    • 1. 下載運行Ollama
    • 2. 安裝大語言模型
    • 3. 安裝Cpolar工具
    • 4. 配置公網地址
    • 5. 固定公網地址
    • 6. MaxKB 添加Olama
    • 7.創建問答應用

前言

目前大語言模型(LLM)已經成為了人工智能領域的一顆璀璨明星,從自然語言處理到智能問答系統,這些強大的模型正在逐步改變我們的生活方式和工作方式。然而,對于很多個人開發者或小型團隊來說,在本地運行這類復雜的模型似乎是一件遙不可及的事情。

不過別擔心!今天我要分享一個超實用的教程,教你如何在Windows上輕松搭建大語言模型框架Ollama,并通過MaxKB創建屬于你自己的智能問答應用。不僅如此,我們還將利用內網穿透工具cpolar來解決一些常見的技術難題,讓你無需公網IP或域名也能順利運行這個項目。

無論你是對AI充滿好奇的初學者,還是希望提升自己技能的技術高手,這篇教程都將為你打開一扇新的大門。讓我們一起動手吧!

請添加圖片描述

1. 下載運行Ollama

進入Ollama Github 界面:https://github.com/ollama/ollama?tab=readme-ov-file ,我們選擇windwos版本下載

image-20240425174856953

下載后,雙擊進行安裝,默認會安裝到C盤,然后等待安裝完成,安裝完成后正常會自動運行,如果沒有運行,可以去應用列表雙擊運行即可

image-20240425161045182

然后打開命令窗口,輸入:ollama -v,可以看到版本信息

image-20240425161026879

同樣,在瀏覽器輸入http://127.0.0.1:11434/訪問ollama服務,即可看到,運行的字樣,表示本地運行成功了,下面進行安裝大語言模型.

image-20240425163201117

2. 安裝大語言模型

ollama安裝完成后,下面進行下載運行大語言模型,本例采用llama2模型,當然還有其他模型,可以到github上面選擇,命令窗口輸入下面命令

ollama run llama2

然后等待安裝完成即可,出現success 表示下載完成了,然后按ctrl+d 退出,

image-20240425161508422

然后再輸入ollama list 即可看到下載的大語言模型列表,本例下載了兩個,所以顯示兩個,下面我們安裝cpolar內網穿透工具,實現遠程也可以調用Ollama這個大語言模型框架,遠程通信!

image-20240425162719276

3. 安裝Cpolar工具

本例介紹的是windwos系統,所以cpolar安裝在windwos上,點擊下面地址訪問cpolar官網,注冊一個賬號,然后下載并安裝客戶端.

Cpolar官網:https://www.cpolar.com/

  • windows系統:在官網下載安裝包后,雙擊安裝包一路默認安裝即可。

cpolar安裝成功后,在瀏覽器上訪問本地9200端口【http://localhost:9200】,使用cpolar賬號登錄,即可看到Cpolar 管理界面,然后一切設置只需要在管理界面完成即可!

20230130105810

4. 配置公網地址

點擊左側儀表盤的隧道管理——創建隧道,創建一個ollama的公網http地址隧道!

  • 隧道名稱:可自定義命名,注意不要與已有的隧道名稱重復
  • 協議:選擇http
  • 本地地址:11434
  • 域名類型:免費選擇隨機域名
  • 地區:選擇China
  • host頭域: 127.0.0.1:11434

點擊創建(點擊一次創建按鈕即可,不要重復點擊!)

image-20240425164541494

隧道創建成功后,點擊左側的狀態——在線隧道列表,查看所生成的公網訪問地址,有兩種訪問方式,一種是http 和https,兩種都可以訪問,下面選擇其中一種進行遠程訪問

image-20240425164750350

在瀏覽器輸入創建的公網地址,我們可以看到,同樣看到了ollama 運行的字樣,表示公網訪問成功了!

image-20240425164932130

小結

為了更好地演示,我們在前述過程中使用了cpolar生成的隧道,其公網地址是隨機生成的。這種隨機地址的優勢在于建立速度快,可以立即使用。然而,它的缺點是網址由隨機字符生成,不太容易記憶。另外,這個地址在24小時內會發生隨機變化,更適合于臨時使用。

我一般會使用固定二級子域名,原因是我希望將網址發送給同事或客戶時,它是一個固定、易記的公網地址(例如:ollama.cpolar.cn),這樣更顯正式,便于流交協作。

5. 固定公網地址

由于以上使用cpolar所創建的隧道使用的是隨機公網地址,24小時內會隨機變化,不利于長期遠程訪問。因此我們可以為其配置二級子域名,該地址為固定地址,不會隨機變化。

登錄cpolar官網,點擊左側的預留,選擇保留二級子域名,設置一個二級子域名名稱,點擊保留,保留成功后復制保留的二級子域名名稱

image-20240425170206232

保留成功后復制保留成功的二級子域名的名稱

image-20240425170229252

返回登錄cpolar web UI管理界面,點擊左側儀表盤的隧道管理——隧道列表,找到所要配置的隧道,點擊右側的編輯

image-20240425170306512

修改隧道信息,將保留成功的二級子域名配置到隧道中

  • 域名類型:選擇二級子域名
  • Sub Domain:填寫保留成功的二級子域名

點擊更新(注意,點擊一次更新即可,不需要重復提交)

image-20240425170340455

更新完成后,打開在線隧道列表,此時可以看到公網地址已經發生變化,地址二級名稱變成了我們自己設置的二級子域名名稱

image-20240425170405890

下面我們打開瀏覽器,輸入cpolar中固定的公網地址,即可看到同樣是訪問成功了,這樣一個固定的公網訪問ollama 的公網地址就設置好了,下面我們在MaxKB中添加調用我們本地模型

image-20240425170625772

6. MaxKB 添加Olama

MaxKB是一個基于大語言的問答系統,可以說是一個前端界面,支持對接多個大語言模型,具體可以可以看一下Gitee開源地址了解:https://gitee.com/aqie-project/MaxKB,成功運行MaxKB,登錄進去后,點擊,系統設置,選擇模型設置,再選擇Ollama,然后點擊添加模型

image-20240425171446841

前面4個參數正常填寫選擇即可,模型選擇llama2,目前頁面沒有llama3選項,我們選擇2即可.然后API域名輸入cpolar公網地址,注意,這里只能輸入域名

image-20240425171805984

然后看下面API key參數,這里需要一個key,這個key在我們最開始運行Ollama軟件的時候,在運行的日志里面可以找到

image-20240425171915578

在右下角我們可以找到運行的小圖標,右鍵點擊

image-20240425172233489

然后查看日志位置

image-20240425172519452

打開這個名稱為server.log的日志文件

image-20240425172611849

在這個文件最開始,我們可以看到key的信息,注意是下面框住的這一部分是keyimage-20240425172709998

然后把key 輸入到API Key 框里面

image-20240425172831464

然后點擊添加即可

image-20240425172942489

最后我們可以看到成功添加了,如果在添加過程中沒有llama2的大語言模型,這里也會自動下載

image-20240425173035737

7.創建問答應用

點擊應用,我們創建一個問答應用,模型可以看到選擇我們剛剛添加的大語言模型

image-20240425173453802

創建完成后,點擊演示,進入問答頁面

image-20240425173607557

然后就可以進行對話了,llama2是一個英文模型,基本的回答都是英文,當然可以自己導入設置其他模型,方式也是一樣的,由于運行在windows設備,設備配置越高,響應越快,這樣一個智能問答應用就設置好了!

image-20240425174156925

通過今天的分享,相信你已經掌握了在Windows上本地搭建大語言模型框架Ollama,并將其集成到MaxKB中創建智能問答應用的方法。利用內網穿透工具cpolar,我們成功解決了無法使用本地或局域網IP的問題,讓你的項目更加靈活和便捷。希望這篇教程能為你帶來啟發和技術上的幫助。如果你有任何疑問或者更好的建議,請在評論區留言交流。讓我們一起探索更多AI的可能性!

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

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

相關文章

深度解析 Pytest 中的 conftest.py

關注開源優測不迷路 大數據測試過程、策略及挑戰 測試框架原理,構建成功的基石 在自動化測試工作之前,你應該知道的10條建議 在自動化測試中,重要的不是工具 在使用 Pytest 進行測試的過程中,conftest.py 文件扮演著極為重要的角色…

【python】銀行客戶流失預測預處理部分,獨熱編碼·標簽編碼·數據離散化處理·數據篩選·數據分割

數據預處理 通過網盤分享的文件:銀行流失預測數據和代碼 鏈接: https://pan.baidu.com/s/1loiB8rMvZArfjJccu4KW6w?pwdpfcs 提取碼: pfcs 非數值特征處理 目的:將非數值特征轉換為數值型,以便模型能夠處理。方法: 地理位置&am…

回歸預測 | MATLAB實現CNN-LSSVM卷積神經網絡結合最小二乘支持向量機多輸入單輸出回歸預測

回歸預測 | MATLAB實現CNN-LSSVM卷積神經網絡結合最小二乘支持向量機多輸入單輸出回歸預測 目錄 回歸預測 | MATLAB實現CNN-LSSVM卷積神經網絡結合最小二乘支持向量機多輸入單輸出回歸預測預測效果基本介紹程序設計參考資料 預測效果 基本介紹 回歸預測 | MATLAB實現CNN-LSSVM…

slam學習筆記7---狀態量求導相關數學公式

前言:本來打算只是歸納一下數學求導相關公式,后面也寫了旋轉求導相關內容,哈哈。感覺有點發散把握不住呀。水平有限,歡迎評論區點出。 一、基本初等函數求導公式 ( C ) ′ 0 , C (C)0,C (C)′0,C為常數 ( x μ ) ′ μ x μ ?…

32單片機串口數據接收、空閑IDLE中斷詳解

一、前提說明 一開始寫單片機程序的時候不太清楚空閑中斷這個東西,每次用串口接收數據,都要再開一個定時器,在定時器內進行倒計時,每次接收數據就重置計時時間,計時結束就觸發中斷,再判斷所有接收的數據&am…

深入探討 Go 中的高級表單驗證與翻譯:Gin 與 Validator 的實踐之道20241223

深入探討 Go 中的高級表單驗證與翻譯:Gin 與 Validator 的實踐之道 在現代后端開發中,表單驗證是保證數據完整性和服務穩定性的核心環節。如何優雅、高效地實現表單驗證,同時提供人性化的錯誤提示,是每位開發者的必修課。在本文中…

掌握 Ansys ACP 中的參考方向:簡化復雜的復合材料設計

概括 在復合材料分析領域,精度至關重要,尤其是在定義纖維方向和鋪層時。Ansys ACP(Ansys Composite PrepPost)提供了強大的工具來建立參考方向,這是實現精確結構模擬的關鍵步驟。在本博客中,我們將揭開在 …

Vue2學習(一)——Vue簡介、Vue指令與指令修飾符

一、Vue簡介 Vue是一套用于構建用戶界面的漸進式框架。 所謂漸進式就是循序漸進,不一定非得把Vue中的所有API都學完才能開發Vue,可以學一點開發一點。 Vue2官網地址:https://v2.cn.vuejs.org/ Vue3官網地址:https://cn.vuejs…

Redis--通用命令學習

目錄 一、引言 二、基礎命令 1.set 2.get 3.keys 3.1 keys ? 3.2 keys * 3.3 keys [abe] 3.4 keys [^] 3.5 keys [a-b] 4.exists 5.delete 6.expire 7.ttl 8.type 三、Redis中的過期策略(面試題) 1.惰性刪除 2.定期刪除 …

Linux程序設計(第四版)| 學習筆記

上次學習Linux相關內容還是上學的時候為了應付考試,最近有項目涉及Linux,重新學習以下。 很多年前關于Linux的總結 一、入門 1.概念 (1) UNIX 1)定義:指的是一種遵循特定規范的計算機操作系統。 2)特點:簡單性、集中性、可重用…

PostgreSQL 的歷史

title: PostgreSQL 的歷史 date: 2024/12/23 updated: 2024/12/23 author: cmdragon excerpt: PostgreSQL 是一款功能強大且廣泛使用的開源關系型數據庫管理系統。其歷史可以追溯到1986年,當時由加州大學伯克利分校的一個研究團隊開發。文章將深入探討 PostgreSQL 的起源、…

Ubuntu22.04 LTS 安裝nvidia顯卡驅動

準備跑老師給定的Github上的多模態源碼,但是用了這么久ubuntu還沒有嘗試過安裝nvidia驅動,好在也是一次成功,于是記錄下來。 借鑒的是Ubuntu22.04安裝顯卡驅動(高速、避錯版)-CSDN博客這篇文章,按照流程來基本沒有問題,不過個人覺得有些步驟比較冗余,所以記錄下來 主要…

WPS工具欄灰色怎么辦

WPS離線不登錄,開啟工具欄等相關功能 當你在使用WPS的過程中,若因網絡問題或其他特殊原因,導致無法登錄使用WPS時,可根據以下步驟開啟離線兼容模式,開啟此模式后,可在未登錄的狀態下,激活并使用…

國標GB28181-2022平臺EasyGBS:安防監控中P2P的穿透方法

在安防監控領域,P2P技術因其去中心化的特性而受到關注,尤其是在遠程視頻監控和數據傳輸方面。P2P技術允許設備之間直接通信,無需通過中央服務器,這在提高效率和降低成本方面具有明顯優勢。然而,P2P技術在實際應用中也面…

Mac Android studio 升級LadyBug 版本,所產生的bug

當Build 出現,這樣的文字以后: Your build is currently configured to use incompatible Java 21.0.3 and Gradle 7.3.3. Cannot sync the project. We recommend upgrading to Gradle version 8.9. The minimum compatible Gradle version is 8.5. …

com.google.common.collect.ImmutableList$SerializedForm

今天AndroidStudio安裝了個2021版本的,gradle用了7.3.3,創建項目后控制臺總是有這樣一個錯誤: Unable to load class com.google.common.collect.ImmutableList$SerializedForm. This is an unexpected error. Please file a bug containing…

Docker部署Sentinel

一、簡介 是什么:面向分布式、多語言異構化服務架構的流量治理組件 能干嘛:從流量路由、流量控制、流量整形、熔斷降級、系統自適應過載保護、熱點流量防護等多個維度來幫助開發者保障微服務的穩定性 官網地址:https://sentinelguard.io/zh-c…

HTMLCSSJavaScriptDOM 之間的關系?

一、HTML 中文名:超文本標記語言 英文名:HyperText Markup Language HTML是一種用來結構化Web網頁及其內容的標記語言。 HTML 由一系列的元素組成,這些元素可以用來包圍不同部分的內容,使其以某種方式呈現或者工作。 圖Ⅰ 每…

Hadoop集群(HDFS集群、YARN集群、MapReduce?計算框架)

一、 簡介 Hadoop主要在分布式環境下集群機器,獲取海量數據的處理能力,實現分布式集群下的大數據存儲和計算。 其中三大核心組件: HDFS存儲分布式文件存儲、YARN分布式資源管理、MapReduce分布式計算。 二、工作原理 2.1 HDFS集群 Web訪問地址&…

位運算符、標記位傳參

位運算符: 位運算符作用于操作數的位(bit)。 按位與(&)對應位都為1時結果為1 int a 5; // 0101 int b 3; // 0011 int result a & b; // 0001 按位或(|)對應位至少有一個為1時結…