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

4 阅读4分钟

目录

前言

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

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

因篇幅较长,分开三篇编写:

技术原理

img

前置概念了解

  • 大模型

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

    • Ollama
    • vLLM
  • 流程编排

    • Dify
  • 知识库

    • RAG

硬件及环境准备

主机配置必备软件说明
192.168.10.1显卡:支持 CUDA 的显卡均可,显存根据模型大小选择,推荐大小 48G 显存 CPU:不限 内存:大于8G 注:如果没有足够大的显存,ollama 会使用内存和CPU进行模型调度,但速度非常慢;-用于安装 Ollama
192.168.10.2CPU:4核 内存:大于16GDockerGit用于安装 Dify

模型选择

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

开始本地部署

安装 Ollama

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

  • 官网下载地址:ollama.com/download ;

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

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

    • OLLAMA_HOST

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

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

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

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

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

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

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

    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 https://github.com/langgenius/dify.git
    
  • 进入 Dify 源代码的 Docker 目录,并复制示例配置文件

    cd dify/docker
    cp .env.example .env
    
  • 启动 Dify

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

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

    [+] 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
    
  • 启动完成后,即可访问这台主机:

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