本地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
  • 第一次访问会提示创建管理员用户,输入需要的用户名和密码完成配置;

相关推荐
redreamSo30 分钟前
像风一样自由,像树一样生长
程序员
AI炼金师5 小时前
智普科技推出 Claude 用户平滑迁移方案,GLM-4.5 模型全面开放
ai编程
舒一笑5 小时前
为什么where=Version就是乐观锁了?
后端·mysql·程序员
你的人类朋友6 小时前
认识一下Bcrypt哈希算法
后端·安全·程序员
SamDeepThinking6 小时前
在Cursor里安装极其好用的Mysql Database Client 插件
ai编程·cursor
AI大模型6 小时前
无所不能的Embedding(06) - 跨入Transformer时代~模型详解&代码实现
程序员·llm·agent
大千AI助手8 小时前
灾难性遗忘:神经网络持续学习的核心挑战与解决方案
人工智能·深度学习·神经网络·大模型·llm·持续学习·灾难性遗忘
大模型教程8 小时前
本地AI知识库问答开源技术实现(二)--配置模型和知识库
程序员·llm·ollama
火山引擎开发者社区8 小时前
豆包・图像创作模型 Seedream 4.0 正式发布!
llm
算家计算9 小时前
多年AI顽疾被攻克!OpenAI前CTO团队破解AI随机性难题,大模型可靠性迎来飞跃
人工智能·llm·资讯