【RAG 框架部署】LangChain-Chatchat (原 Langchain-ChatGLM) + Ollama

目錄

前言

一、什么是RAG?

二、環境準備和Ollama搭建

1、conda虛擬環境配置

2、Ollama搭建

三、LangChain-Chatchat搭建

1、框架安裝?

2、文件配置?

3、初始化知識庫

4、啟動Langchan-Chatchat


前言

????????由于LangChain-Chatchat的 0.3.0 版本已修改為支持不同模型部署框架接入,因此可在 CPU、GPU、NPU、MPS 等不同硬件條件下使用。本文用機位輕薄本,僅核顯。

一、什么是RAG?

????????所謂RAG即Retrieval-Augmented Generation,檢索增強生成。簡言之就是檢索、增強、生成,主要用于在大規模外部知識庫(如文檔庫、網頁、數據庫等)中查找相關內容,并將這些檢索到的信息作為上下文,輸入給生成式模型,以獲得更準確、豐富且可控的生成結果。

二、環境準備和Ollama搭建

1、conda虛擬環境配置

????????具體安裝配置步驟參考YOLO系列環境配置及訓練-CSDN博客?

下載配置完成之后,我們進入Anaconda Prompt,同時利用如下命令創建虛擬環境Langchain:

????????

conda create -n Langchain python=3.9

注意:Langchain-Chatchat已支持在Python 3.8-3.11 環境中進行使用,所以版本可以自己選擇?

2、Ollama搭建

? ? ? ? 我們進入Ollama的github項目界面,下拉找到需要的版本點擊即可下載,例如我的是windows

安裝完成之后,Ollama會出現在電腦右下角的圖標中,為標志羊駝,之后我們以管理員身份運行cmd

?

?接下來我們需要安裝Ollma必要的模型quentinz/bge-large-zh-v1.5 和 bge-m3,其中quentinz/bge-large-zh-v1.5 主要支持中文,bge-m3則支持支持 100 多種工作語言。地址為:library

?兩個模型的下載命令分別為:

ollama pull bge-m3
ollama pull quentinz/bge-large-zh-v1.5

回到剛才以“管理員身份運行”打開的cmd,進行模型拉取,出現如下輸出視為成功:

三、LangChain-Chatchat搭建

?????????完成上述環境配置后,我們開始搭建LangChain-Chatchat。LangChain-Chatchat的git倉庫地址為:chatchat-space/Langchain-Chatchat: Langchain-Chatchat(原Langchain-ChatGLM)基于 Langchain 與 ChatGLM, Qwen 與 Llama 等語言模型的 RAG 與 Agent 應用 | Langchain-Chatchat (formerly langchain-ChatGLM), local knowledge based LLM (like ChatGLM, Qwen and Llama) RAG and Agent app with langchain

1、框架安裝?

?首先激活本文開始前創建的虛擬環境Langchain,之后將路徑cd至你自己選擇的一個目錄:

conda activate Langchain

接著安裝 Langchain-Chatchat

pip install langchain-chatchat -Upip install httpx==0.27.2 -U

注意:?重新安裝對應的httpx是為了防止報錯?[BUG] httpx包版本錯誤 · Issue #5115 · chatchat-space/Langchain-Chatchat

設置?Langchain-Chatchat 存儲配置文件和數據文件的根目錄(可選),不選的話就是默認存在當前路徑:

set CHATCHAT_ROOT=/Langchain

執行如下命令初始化,出現如下輸出視為成功:

chatchat init

2、文件配置?

找到剛才初始化存放文件的位置,例如我的為D:\Langchain,找到model_settings.yaml

我們先設置DEFAULT_LLM_MODELDEFAULT_EMBEDDING_MODEL,本文使用deepseek的R1模型API進行配置

?找到?platform_type并啟用,修改它的值:

?找到MODEL_PLATFORMS,修改它的auto_detect_model參數,設置為false,并配置embed_models

下拉文件,找到openai,修改api_base_url、api_keyllm_models:

?api_key為你自己申請的deepseek的密鑰,具體申請路徑如下:進入官網右上角API平臺

?所有配置完成后,保存并關閉model_settings.yaml

3、初始化知識庫

回到虛擬環境Langchain的命令行操作界面,執行

chatchat kb -r

等待一段時間后,出現如下界面視為成功:
?4、啟動Langchan-Chatchat

在當前命令行繼續執行如下命令:

chatchat start -a

你的默認瀏覽器會打開如下界面,若出現如下界面視為成功:

測試下對話功能?

之后也可以在“知識庫管理”上傳需要的知識庫進行補充?至此,RAG的框架就已經基本搭建完畢了

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

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

相關文章

python對接馬來西亞股票完整代碼

StockTV全球股票數據API對接實戰:構建智能金融分析系統 一、StockTV API核心功能解析 StockTV作為覆蓋200國家證券市場的數據平臺,其API提供三大核心模塊的對接能力: 市場列表查詢 - 獲取指定國家的股票基礎數據個股詳情檢索 - 查詢實時行情…

普通IT的股票交易成長史--20250430晚

聲明:本文章的內容只是自己學習的總結,不構成投資建議。文中觀點基本來自yt站Andylee,美股Alpha姐,綜合自己的觀點得出。感謝他們的無私分享。 送給自己的話: 倉位就是生命,絕對不能滿倉!&…

windows 下 oracle 數據庫的備份與還原

1、備份 創建備份出來的文件存放的位置。 創建目錄對象,在數據庫中創建一個目錄對象,該對象指向文件系統中用于存儲導出文件的實際目錄( sql 命令,可以在 plsql 中執行)。 -- 創建目錄對象,\D:\Oracle19c\…

基于單片機的智能藥盒系統

標題:基于單片機的智能藥盒系統 內容:1.摘要 本文聚焦于基于單片機的智能藥盒系統。背景方面,隨著人口老齡化加劇,老年人按時準確服藥問題愈發凸顯,同時現代快節奏生活也使人們容易遺忘服藥時間。目的是設計并實現一個能幫助人們按時、按量服…

“100% 成功的 PyTorch CUDA GPU 支持” 安裝攻略

#工作記錄 一、總述 在深度學習領域,PyTorch 憑借其靈活性和強大的功能,成為了眾多開發者和研究者的首選框架。而 CUDA GPU 支持能夠顯著加速 PyTorch 的計算過程,大幅提升訓練和推理效率。然而,安裝帶有 CUDA GPU 支持的 PyTor…

圖數據庫榜單網站

圖數據庫榜單 https://db-engines.com/en/ranking/graphdbms點擊跳轉

Android Jetpack Compose 面試題大全(2025最新整理)

基礎概念 什么是 Jetpack Compose?它與傳統 Android UI 開發有何不同? Compose 是 Android 的現代聲明式 UI 工具包,使用 Kotlin 編寫不同于傳統的基于 View 和 XML 的 imperative 方式,Compose 使用聲明式范式主要區別&#xff1…

添加了addResourceHandlers 但沒用

B站黑馬的視頻 public class WebMvcConfig extends WebMvcConfigurationSupport { /** * 設置靜態資源映射 * param registry */ Override protected void addResourceHandlers(ResourceHandlerRegistry registry) { log.info("開始進…

STM32實現simpleFOC控制無刷電機

一、FOC基礎知識學習 使用simpleFOC控制無刷電機前,需要大概了解一下相關知識,包括力矩控制、速度控制、位置控制的原理和它們之間的聯系。 推薦學習資料: 教你寫一個比SimpleFOC更好的電機庫_嗶哩嗶哩_bilibili 《燈哥手把手教你寫FOC算…

【數據結構】快慢指針

一、快慢指針的原理 定義: 快指針:每次移動兩步 慢指針:每次移動一步 終止條件: 當快指針到達鏈表末尾時停止 事件復雜度: 始終為O(n),僅需依次遍歷 空間復雜度: …

畢業論文 | 基于STM32的自動煙霧報警系統設計

基于STM32的煙霧報警系統 一、系統設計原理1. **系統架構**2. **工作原理**二、核心公式與算法1. **MQ-2傳感器濃度計算**2. **溫度傳感器數據處理**3. **校準與濾波**三、關鍵代碼實現1. **ADC初始化與數據讀取(以MQ-2為例)**2. **報警邏輯與閾值設置**3. **EEPROM存儲閾值*…

Android Gradle插件開發

文章目錄 1. Gradle插件是什么2. 為什么需要插件3. 編寫插件位置4. 編寫插件5. 自定義插件擴展5.1 訂閱擴展對象5.2 把擴展添加給Plugin并使用5.3 配置參數5.4 嵌套擴展5.4.1 定義擴展5.4.2 獲取擴展屬性5.4.3 使用5.4.4 執行5.4.5 輸出 6. 編寫在單獨項目里6.1 新建Module6.2 …

PPIO X OWL:一鍵開啟任務自動化的高效革命

2024年,僅憑一PPIO X OWL:一鍵開啟任務自動化的高效革命篇技術論文,OWL的Github倉庫便在24小時斬獲了15k Star,成為2024年增速最快的多智能體協作框架,重新定義了任務自動化的效率邊界。Camel AI團隊開源全棧方案&…

分布式事務,事務失效,TC事務協調者

1. 概述 本方案書旨在解決分布式系統中事務一致性問題,重點闡述全局事務標識(XID)的傳遞與存儲機制、事務協調者(TC)的設計與部署,以及分布式事務失效場景的應對策略。基于業界成熟框架(如Seat…

2025年“深圳杯”數學建模挑戰賽D題-法醫物證多人身份鑒定問題

法醫物證多人身份鑒定問題 小驢數模 犯罪現場法醫物證鑒定是關系到國家安全、公共安全、人民生命財產安全和社會穩定的重大問題。目前法醫物證鑒定依賴DNA分析技術不斷提升。DNA檢驗的核心是STR(Short Tandem Repeat,短串聯重復序列)分析技術…

Mysql查詢異常【Truncated incorrect INTEGER value】

文章目錄 異常原因分析1、數據類型不一致2、數據長度超長3、數據格式要正確 處理方案模擬案例創建表數據查詢 異常 在執行MySQL的語句時,在控制臺報錯如下所示。 Data truncation: Truncated incorrect INTEGER value 原因分析 1、數據類型不一致 必須要保證數據…

WPF性能優化舉例

WPF性能優化集錦 一、UI渲染性能優化 1. 虛擬化技術 ??ListView/GridView虛擬化??: <ListView VirtualizingStackPanel.IsVirtualizing="True"VirtualizingStackPanel.VirtualizationMode="Recycling"ScrollViewer.IsDeferredScrollingEnabled=…

C# 面向對象實例演示

C# 面向對象編程實例演示 一、基礎概念回顧 面向對象編程(OOP)的四大基本特性&#xff1a; ??封裝?? - 將數據和操作數據的方法綁定在一起??繼承?? - 創建新類時重用現有類的屬性和方法??多態?? - 同一操作作用于不同對象產生不同結果??抽象?? - 簡化復雜系…

大連理工大學選修課——機器學習筆記(3):KNN原理及應用

KNN原理及應用 機器學習方法的分類 基于概率統計的方法 K-近鄰&#xff08;KNN&#xff09;貝葉斯模型最小均值距離最大熵模型條件隨機場&#xff08;CRF&#xff09;隱馬爾可夫模型&#xff08;HMM&#xff09; 基于判別式的方法 決策樹&#xff08;DT&#xff09;感知機…

蔣新松:中國機器人之父

名人說:路漫漫其修遠兮,吾將上下而求索。—— 屈原《離騷》 創作者:Code_流蘇(CSDN)(一個喜歡古詩詞和編程的Coder??) 蔣新松:中國機器人之父 一、生平簡介 1. 早年經歷與求學道路 蔣新松出生于1931年8月3日,江蘇省江陰澄北鎮一個靠近長江的小鎮。他的名字來源于杜…