语言模型 + 向量模型 + LLM = RAG知识库

安装docker

apt update
apt install ca-certificates curl gnupg lsb-release
curl -fsSL http://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg | sudo apt-key add -
add-apt-repository "deb [arch=amd64] http://mirrors.aliyun.com/docker-ce/linux/ubuntu $(lsb_release -cs) stable"
apt install docker-ce docker-ce-cli
docker -v

安装nvidia驱动 如2080tiGPU

安装docker使用gpu的工具nvidia-container-toolkit

curl -fsSL https://nvidia.github.io/libnvidia-container/gpgkey \
    | sudo gpg --dearmor -o /usr/share/keyrings/nvidia-container-toolkit-keyring.gpg
curl -s -L https://nvidia.github.io/libnvidia-container/stable/deb/nvidia-container-toolkit.list \
    | sed 's#deb https://#deb [signed-by=/usr/share/keyrings/nvidia-container-toolkit-keyring.gpg] https://#g' \
    | sudo tee /etc/apt/sources.list.d/nvidia-container-toolkit.list
apt-get install -y nvidia-container-toolkit
nvidia-ctk runtime configure --runtime=docker
systemctl start docker --now

配置docker加速日志GPU

cat >/etc/docker/daemon.json< EOF
{
    "log-driver": "json-file",
    "log-opts": {
        "max-file": "3",
        "max-size": "25m"
    },
    "runtimes": {
        "nvidia": {
            "args": [],
            "path": "nvidia-container-runtime"
        }
    },
    "registry-mirrors": [ "http://hammal.staronearth.win/", "http://hub.staronearth.win/" ]
}
systemctl daemon-reload && systemctl restart docker

docker安装ollama使用第3块和第4块GPU(或--gpus all)-e CUDA_VISIBLE_DEVICES=0,1 容器中第一块和第二块GPU CUDA可以并行使用

docker pull ollama/ollama:latest 
docker run -itd \
 --gpus '"device=2,3"' \
 --restart=always \
 -e OLLAMA_KEEP_ALIVE=-1 \
 -e CUDA_VISIBLE_DEVICES="0,1" \
 -v /data2/ollama:/root/.ollama \
 -p 11434:11434 \
 --name ollama-dsr1 \
 ollama/ollama:latest

ollama下载语言模型8b 和向量模型

docker exec -it ollama ollama pull deepseek-r1:8b
docker exec -it ollama ollama pull nomic-embed-text
docker exec -it ollama ollama run deepseek-r1:8b &   #后台运行某个模型
docker exec -it ollama nvidia-smi

调用ollama api

容器的宿主机: http://host_ip:11434

部署docker版本AnythingLLM

export ANYTHINGLLM_DATA=/data2/anythingllm && \
mkdir -p $ANYTHINGLLM_DATA && \
touch "$ANYTHINGLLM_DATA/.env" && \
chmod 777 -R $ANYTHINGLLM_DATA

docker run -itd \
-p 3001:3001 \
--name anythingllm \
--cap-add SYS_ADMIN \
-v ${ANYTHINGLLM_DATA}:/app/server/storage \
-v ${ANYTHINGLLM_DATA}/.env:/app/server/.env \
-e STORAGE_DIR="/app/server/storage" \
mintplexlabs/anythingllm

web访问AnythingLLM 并配置

注册成团队使用:管理员kcadmin/Kc@123!@#-_
小扳手配置外观 -- 中文 -- 主题深色
小扳手配置人工智能提供商 -- LLM首选项 -- Ollama 8b -- 409600
-- 向量库默认
-- embedder向量模型 -- ollama nomic-embed-text -- 保存更改

知识库添加FQA等文件 word pdf md

我问了8b美国总统是谁-回答是拜登-显然是2025-01-20之前训练结束的
手动创建 test.md 加入 “唐纳德·特朗普 现任美国总统 2025年1月20日-至今”
工作区name右侧有上传按钮-选择文档-move to workspace - save and enmbed - ok
再次测试-总统为特朗普
制作完知识库后- 邀请 -生成链接 - 发给团队人员

posted on 2025-02-12 11:35  luokeli  阅读(59)  评论(0)    收藏  举报

导航