本地AI知识库问答开源技术实现(一)--安装和准备

本文较长,建议点赞收藏,以免遗失。更多AI大模型开发学习视频及资料,

都在这>>Github<<

前言

自从 DeepSeek-R1 火出圈以来,很多个人和公司开始尝试本地化部署,以解决原来一些内部资料安全和隐私问题;我们也尝试在本地进行相关部署,以验证本地知识库是否可行,最终达到以下目的:

  • 所有知识库内容不通过公网流转;
  • 用户可以通过和智能助手聊天的方式来了解各种内部知识;
  • 在不增加太多的成本下实现;

技术原理

前置概念了解

  • 大模型

    • 系统推理模型
    • Embedding 模型
    • Rerank 模型
    • 语音转文字模型
  • 本地模型调度

    • Ollama
    • vLLM
  • 流程编排

    • Dify
  • 知识库

    • RAG

硬件及环境准备

主机 配置 必备软件 说明
192.168.10.1 显卡:支持 CUDA 的显卡均可,显存根据模型大小选择,推荐大小 48G 显存
CPU:不限
内存:大于8G

注:如果没有足够大的显存,ollama 会使用内存和CPU进行模型调度,但速度非常慢; | - | 用于安装 Ollama |

| 192.168.10.2 | CPU:4核

内存:大于16G | DockerGit | 用于安装 Dify |

模型选择

模型 作用
qwq 用于推理
deepseek-r1:32b 用于推理(备选)
bge-m3 用于处理知识库嵌入向量
qwen2.5:14b 用于分词

开始本地部署

安装 Ollama

  • Ollama 可以很好的管理和调度本地大模型,安装也相对简单;

  • 官网下载地址:Download Ollama on macOS

  • 根据操作系统选择合适的安装即可;

  • 安装完成后需配置几个环境变量:

    • OLLAMA_HOST

      • 设置为 0.0.0.0 表示所有主机都可以访问,当非本机访问时需要设置
    • OLLAMA_KEEP_ALIVE

      • 表示模型在显存中保存的时间,设置为 24h 表示保留 24 小时
    • OLLAMA_MAX_LOADED_MODELS

      • 同时加载模型最大数量,大于这个数量最早加载的模型会被卸载
    • OLLAMA_MODELS

      • 模型文件保存目录,windows 默认在 C 盘,建议指定一个速度快的磁盘
      • 因模型文件很大,需要有足够的空间
  • Ollama 安装完成后,可以开始下载模型,可到官网进行模型选择:Ollama Search

  • 使用以下命令下载模型:

markdown 复制代码
    ollama pull deepseek-r1:32b
  • 模型文件非常大,下载时需要保持网络畅通;

  • 模型文件下载完成后,使用以下命令进行使用测试:

arduino 复制代码
    ollama run deepseek-r1:32b
  • 如果成功运行就可以进行对话了;

  • 需要下载以下模型:

    • qwq
    • bge-m3
    • qwen2.5:14b

安装 Dify

  • 如果只有 Ollama 无法很好的进行日常使用,还需要上层的工具来进行管理,这里就用到了 Dify

  • 官网介绍

    Dify 是一款开源的大语言模型(LLM) 应用开发平台。它融合了后端即服务(Backend as Service)和 LLMOps 的理念,使开发者可以快速搭建生产级的生成式 AI 应用。即使你是非技术人员,也能参与到 AI 应用的定义和数据运营过程中。

    由于 Dify 内置了构建 LLM 应用所需的关键技术栈,包括对数百个模型的支持、直观的 Prompt 编排界面、高质量的 RAG 引擎、稳健的 Agent 框架、灵活的流程编排,并同时提供了一套易用的界面和 API。这为开发者节省了许多重复造轮子的时间,使其可以专注在创新和业务需求上。

  • 目前 Dify 社区版的主要安装方式是使用 Docker Compose ,详情可参考官网:

  • 克隆 Dify 源代码```

    git clone github.com/langgenius/...

    复制代码
  • 进入 Dify 源代码的 Docker 目录,并复制示例配置文件

    bash 复制代码
    cd dify/docker  
    cp .env.example .env
  • 启动 Dify

    markdown 复制代码
        docker compose up -d
  • 第一次需要从网络上拉取很多内容,所以速度比较慢,需耐心等待

  • 观察所有容器的状态,没有错误表示启动完成,类似这样:

    css 复制代码
        [+] Running 11/11  
    ✔ Network docker_ssrf_proxy_network Created 0.1s  
    ✔ Network docker_default Created 0.0s  
    ✔ Container docker-redis-1 Started 2.4s  
    ✔ Container docker-ssrf_proxy-1 Started 2.8s  
    ✔ Container docker-sandbox-1 Started 2.7s  
    ✔ Container docker-web-1 Started 2.7s  
    ✔ Container docker-weaviate-1 Started 2.4s  
    ✔ Container docker-db-1 Started 2.7s  
    ✔ Container docker-api-1 Started 6.5s  
    ✔ Container docker-worker-1 Started 6.4s  
    ✔ Container docker-nginx-1 Started 7.1s
  • 启动完成后,即可访问这台主机:

    arduino 复制代码
        http://192.168.10.2
  • 第一次访问会提示创建管理员用户,输入需要的用户名和密码完成配置;

相关推荐
白熊1882 分钟前
【大模型LLM】梯度累积(Gradient Accumulation)原理详解
人工智能·大模型·llm
pingzhuyan2 小时前
python入门篇12-虚拟环境conda的安装与使用
python·ai·llm·ocr·conda
zzywxc7875 小时前
AI在编程、测试、数据分析等领域的前沿应用(技术报告)
人工智能·深度学习·机器学习·数据挖掘·数据分析·自动化·ai编程
缘友一世7 小时前
基于LangGraph Cli的智能数据分析助手
langchain·llm·agent·langgraph
谷歌上搜百度7 小时前
LLM并非“万能钥匙”——深度解析大语言模型的本质与边界
人工智能·llm
我有一计3338 小时前
【算法笔记】5.LeetCode-Hot100-矩阵专项
人工智能·算法·程序员
AI大模型10 小时前
本地AI知识库问答开源技术实现(二)--配置模型和知识库
程序员·llm·agent
就保持无感10 小时前
Prompt 调优工具:PromptPilot(字节)
aigc·ai编程
量子位11 小时前
狂拿大模型明星订单,一家清华系HPC-AI Infra公司浮出水面
aigc·ai编程