本地知識庫問答系統(tǒng)結(jié)合了本地知識庫與自然語言處理技術(shù),為用戶提供高效、準確的知識問答服務。而RAG(Retrieval Augmented Generation-檢索增強生成)技術(shù)是該系統(tǒng)中的一個核心組成部分。其流程為:
文本處理 | 提問原理 |
---|---|
1.上傳文檔 | 1. 用戶發(fā)起提問 |
2.文本拆分 | 2. 將問題向量化 |
3.本地存儲分段 | 3. 查找應用關(guān)聯(lián)知識庫 |
4.分段文本向量化 | 4. 召回相似度高的 Top K分段 |
5.存入本地向量庫 | 5. 生成 Prompt |
6. 提交 AI 模型,生成回答 |
MaxKB
安裝:
docker run -d --name=maxkb --restart=always -p 8080:8080 -v ~/.maxkb:/var/lib/postgresql/data -v ~/.python-packages:/opt/maxkb/app/sandbox/python-packages cr2.fit2cloud.com/1panel/maxkb
注: 賬號: admin
,密碼:MaxKB@123..
open-webui
安裝:
docker run -d -p 3000:8080 --add-host=host.docker.internal:host-gateway -v open-webui:/app/backend/data --name open-webui --restart always ghcr.io/open-webui/open-webui:main
可選:阿里鏡像,國內(nèi)下載安裝會更快些
docker run -d -p 3000:8080 --add-host=host.docker.internal:host-gateway -v open-webui:/app/backend/data --name open-webui --restart always registry.cn-shenzhen.aliyuncs.com/funet8/open-webui:main
ollama
安裝:
curl -fsSL https://ollama.com/install.sh | sh
操作:
#啟動
systemctl start ollama
#停止
systemctl stop ollama
#重啟
systemctl daemon-reload
systemctl restart ollama
命令:
查看幫助
ollama -h
#執(zhí)行如下命令(將下載并運行 Qwen2 的 0.5B 的 Chat 模型)
ollama run qwen2.5:0.5b-instruct
#查看下載的模型
ollama list
#查看運行中的模型
ollama ps
模型:
ollama官方的模型倉庫:https://ollama.com/library
gemma(谷歌大模型)、llama3(臉書大模型)、qwen(阿里千問大模型)
其他:
環(huán)境變量
OLLAMA_HOST:Ollama監(jiān)聽的網(wǎng)絡接口。列:OLLAMA_HOST=0.0.0.0:11434
OLLAMA_MODELS:模型鏡像的存儲路徑。列:OLLAMA_MODELS=/usr/share/ollama/.ollama/models
OLLAMA_KEEP_ALIVE:模型在內(nèi)存中的存活時間。列:OLLAMA_KEEP_ALIVE=24h
OLLAMA_NUM_PARALLEL:可同時處理的用戶請求數(shù)量。列:OLLAMA_NUM_PARALLEL=4
OLLAMA_MAX_LOADED_MODELS:可同時加載的模型數(shù)量。列:OLLAMA_MAX_LOADED_MODELS=4
CUDA_VISIBLE_DEVICES:指定運行Ollama時使用的GPU。列:CUDA_VISIBLE_DEVICES=0,1
注: 修改環(huán)境變量,記得重啟服務保證其配置生效
模型默認存放目錄
macOS: ~/.ollama/models
Linux: /usr/share/ollama/.ollama/models
Windows: C:\Users<username>.ollama\models
問題一
提示11434端口被占用
Error: listen tcp 127.0.0.1:11434: bind: address already in use
解決方案
編輯ollama.service文件,在ExecStart上添加Environment="OLLAMA_HOST=0.0.0.0:11434"
vim /etc/systemd/system/ollama.service
修改:
[Unit]
Description=Ollama Service
After=network-online.target
[Service]
Environment="OLLAMA_HOST=0.0.0.0:11434"
Environment="OLLAMA_MODELS=/data/algorithm/LLM_model/models"
ExecStart=/usr/local/bin/ollama serve
User=ollama
Group=ollama
問題二
拉取Ollama模型時,提示沒有權(quán)限
permission denied:pull Permission Denied
解決方案
為ollama模型存放的目錄賦予權(quán)限
sudo find /usr/share/ollama/.ollama/models -type f -exec chown ollama:ollama {} \;
sudo find /usr/share/ollama/.ollama/models -type d -exec chown ollama:ollama {} \;
sudo find /usr/share/ollama/.ollama/models -type f -exec chmod 644 {} \;
sudo find /usr/share/ollama/.ollama/models -type d -exec chmod 755 {} \;
網(wǎng)頁嵌入AI客服
<script async defer src="http://127.0.0.1:11434/api/application/embed?protocol=http&host=127.0.0.1:11434&token=ba5138e232389eba">
修改樣式
<script>
#maxkb {
position: fixed;
right: 20px; /* 根據(jù)需要調(diào)整距離右邊的距離 */
bottom: 20px; /* 根據(jù)需要調(diào)整距離底邊的距離 */
z-index: 9999; /* 確保懸浮窗在最上層 */
border: none; /* 去除邊框,如果需要的話 */
background-color: rgba(255, 255, 255, 0.9); /* 可選:添加背景色和透明度 */
box-shadow: 0 0 10px rgba(0, 0, 0, 0.1); /* 可選:添加陰影效果 */
}
</script>