小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

手把手教你搭建本地知識庫問答AI機(jī)器人

 天承辦公室 2023-11-17 發(fā)布于廣東

沒有知識庫喂養(yǎng)的AI,就像一個剛出大學(xué)校門的學(xué)生,有潛力但很多實(shí)際問題無法回答,而經(jīng)過本地知識庫加持的AI,那才是特定領(lǐng)域的專家,可以成為你的良師益友,協(xié)助你更好的解答實(shí)際問題。

現(xiàn)在的ChatGPT和Claude等AI都支持上傳文檔回答問題,但不是每個人都能使用。國內(nèi)的大模型也有文檔功能,測試下來效果不是很好。還有一點(diǎn),不管國內(nèi)還是國外的AI,允許上傳的文檔數(shù)量有限制,一般只允許上傳一個文檔提問,Claude屬于比較慷慨,大概也只能上傳10個文檔。

拋開這些不說,知識庫是數(shù)據(jù),一些敏感的數(shù)據(jù),現(xiàn)在大家還不是很放心交給別人,所以搭建一個本地的知識庫聊天機(jī)器人,是很實(shí)際的剛需,尤其對于企業(yè)來說,就更是如此。

要在本地搭建一套知識庫聊天系統(tǒng),要做的工作真不少,感謝開源的Langchain-Chatchat,它讓這一切變得相當(dāng)簡單。

Langchain-Chatchat既支持開源模型(需要硬件,如A6000),也支持OpenAI等開源模型(需要購買OpenAI的key)。

下面進(jìn)入正題,手把手教大家基于Langchain-Chatchat,在本地搭建一個知識庫聊天系統(tǒng),把我的實(shí)踐經(jīng)驗(yàn)分享給你,避免一些踩過坑。

我使用的硬件和模型信息:

顯卡:一塊英偉達(dá)的A6000

LLM:開源的chatglm3-6b

向量模型:開源的jina-embedding-l-en-v1

向量數(shù)據(jù)庫:開源的milvus

搭建本地知識庫,并基于其進(jìn)行AI聊天,原理和流程如下圖:

手把手教你搭建本地知識庫問答AI機(jī)器人

知識庫聊天機(jī)器人實(shí)現(xiàn)流程

環(huán)境準(zhǔn)備

請注意,我搭建時,langchain-chatchat的版本是v0.2.6,不同的版本,相關(guān)的環(huán)境可能存在變化。

首先,確保你的機(jī)器安裝了 Python 3.10

$ python --versionPython 3.10.13

如果未安裝3.10,可從官網(wǎng)下載編譯安裝。

wget https://www.python.org/ftp/python/3.10.13/Python-3.10.13.tgzsudo apt install wget lzma liblzma-dev build-essential libncursesw5-dev libssl-dev libsqlite3-dev tk-dev libgdbm-dev libc6-dev libbz2-dev libffi-dev zlib1g-devmkdir -p /home/xaccel/Documents/chatchat/python310/./configure --prefix=/home/xaccel/Documents/chatchat/python310/ --with-ssl --enable-optimizationsmakemake installsudo ln -sf ~/Documents/chatchat/python310/bin/python3.10 /usr/bin/python3sudo ln -sf ~/Documents/chatchat/python310/bin/pip3.10 /usr/bin/pip3

接著,創(chuàng)建一個虛擬環(huán)境,并在虛擬環(huán)境內(nèi)安裝項(xiàng)目的依賴

# 拉取倉庫$ git clone https://github.com/chatchat-space/Langchain-Chatchat.git # 進(jìn)入目錄$ cd Langchain-Chatchat #創(chuàng)建虛擬環(huán)境$ python3 -m venv myenv$ source myenv/bin/activate # 默認(rèn)依賴包括基本運(yùn)行環(huán)境(FAISS向量庫)。如果要使用 milvus/pg_vector 等向量庫,請將 requirements.txt 中相應(yīng)依賴取消注釋再安裝。# 我們需要milvus數(shù)據(jù)庫,修改requirements.txt$ vi requirements.txt# 找到行:# pymilvus==2.1.3,去除注釋 # 安裝全部依賴$ pip install -r requirements.txt

安裝并運(yùn)行milvus數(shù)據(jù)庫

注意requirements.txt中的pymilvus版本是2.1.3,所以milvus也需要安裝對應(yīng)的版本,即milvus 2.1.x。

下載milvus 2.1.x

wget https://github.com/milvus-io/milvus/releases/download/v2.1.4/milvus-standalone-docker-compose.yml -O docker-compose.yml

啟動向量數(shù)據(jù)庫milvus

sudo docker-compose up -d

下載開源模型

langchain-chatchat支持開源模型和OpenAI等商用模型,我需要開源模型,先將開源大模型下載至本地,通常開源 LLM 與 Embedding 模型可以從 HuggingFace 下載。

以本項(xiàng)目中默認(rèn)使用的 LLM 模型 THUDM/ChatGLM3-6B 與 Embedding 模型
jinaai/jina-embedding-l-en-v1 為例:

下載模型需要先安裝 Git LFS,然后運(yùn)行

$ git lfs install # 將大模型下載到以下文件夾$ cd /xrepo/KDB/LLM/ChatMode # 下載大模型$ git clone https:///THUDM/chatglm3-6b$ git clone https:///jinaai/jina-embedding-l-en-v1

初始化知識庫和配置文件

復(fù)制配置文件,并配置步驟二中下載的大模型

$ python copy_config_example.py # 修改模型配置文件$ vi configs/model_config.py # 設(shè)置大模型存放路徑MODEL_ROOT_PATH = '/xrepo/KDB/LLM/ChatMode' # embed_model下增加:'jina-embedding-l-en-v1':'jinaai/jina-embedding-l-en-v1', # llm_model下增加:'chatglm3-6b': 'THUDM/chatglm3-6b', # 修改默認(rèn)EMBEDDING_MODELEMBEDDING_MODEL = 'jina-embedding-l-en-v1' # 修改默認(rèn)LLMLLM_MODEL = 'chatglm3-6b'

初始化數(shù)據(jù)庫

$ python init_database.py --recreate-vs

一鍵啟動聊天機(jī)器人

安裝完成,輸入以下命令啟動

$ python startup.py -a

看到下面畫面后,表示正常啟動了

手把手教你搭建本地知識庫問答AI機(jī)器人

langchain-chatchat啟動畫面

在瀏覽器輸入聊天機(jī)器人地址:http://127.0.0.1:8561

手把手教你搭建本地知識庫問答AI機(jī)器人

本地知識庫聊天機(jī)器人

聊天機(jī)器人使用說明

打開Web地址后,左側(cè)可看見兩個菜單,分別是“對話”和“知識庫管理”

1、對話

即和AI聊天對話,可選擇對話模式,LLM模型,prompt模板,溫度參數(shù)設(shè)定以及記憶保留次數(shù)。對話模式有四個選項(xiàng):LLM對話、知識庫問答、搜索引擎問答、自定義Agent。

手把手教你搭建本地知識庫問答AI機(jī)器人

可選四種對話模式

LLM對話是和大模型直接聊天,基于大模型的通用能力。

知識庫問答需要先創(chuàng)建知識庫,每次可選擇一個知識庫進(jìn)行聊天,切換到知識庫問答后,在底部“知識庫配置”中選擇要對話的知識庫。

手把手教你搭建本地知識庫問答AI機(jī)器人

選擇對話知識庫

搜索引擎問答和自定義Agent,需要進(jìn)行相應(yīng)配置和開發(fā),才能使用。

2、知識庫管理
切換到知識庫管理后,可以查看和刪除已創(chuàng)建知識庫、新增知識庫,也可以對知識庫進(jìn)行文件增減。

手把手教你搭建本地知識庫問答AI機(jī)器人

知識庫管理

新建知識庫:點(diǎn)擊“新建知識庫”,輸入知識庫名稱和簡介,選擇向量數(shù)據(jù)庫和模型,再點(diǎn)擊新建即可。

手把手教你搭建本地知識庫問答AI機(jī)器人

新建知識庫

上傳文件到知識庫:選擇已創(chuàng)建知識庫,選擇上傳文件,點(diǎn)擊“添加文件到知識庫”

手把手教你搭建本地知識庫問答AI機(jī)器人

上傳文件到知識庫

刪除知識庫/刪除知識庫文件:見下圖

手把手教你搭建本地知識庫問答AI機(jī)器人

刪除知識庫

創(chuàng)建好知識庫后,可以切換菜單到“對話”,選擇對話模式為“知識庫問答”,并選擇要對話的知識庫,即可開啟和特定知識庫聊天。

手把手教你搭建本地知識庫問答AI機(jī)器人

和知識庫聊天

大功告成,本地知識庫聊天系統(tǒng)搭建完成,想用別的模型,可以直接在界面上切換,大部分開源模型都支持,只要你的硬件夠牛~

全文完,有疑問可以留言,我會盡量回答,如果覺得有幫助,就點(diǎn)個贊唄~

    本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點(diǎn)擊一鍵舉報。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多