冬月小站

Ollama、AnythingLLM 和 DeepSeek 搭建本地知识库

Feb 14, 2025
27
0

使用 Ollama、AnythingLLM 和 DeepSeek 搭建本地知识库的详细步骤指南:


1. 环境准备

  • 操作系统: Windows/macOS/Linux (推荐 Linux 或 macOS)

  • 硬件要求:

    • RAM ≥ 16GB (建议 32GB+)

    • 存储空间 ≥ 50GB (用于模型和文档)

    • GPU (可选,但能显著加速大模型推理)


2. 安装 Ollama

Ollama 用于本地运行大语言模型。

  1. 下载安装:

    • 访问 Ollama 官网 下载对应系统的安装包。

    • 安装后启动服务,默认运行在 http://localhost:11434

  2. 部署 DeepSeek 模型:

    • 如果 DeepSeek 模型已提供 Ollama 版本(如 deepseek-llm:7b):

      ollama run deepseek-llm:7b
    • 如果无官方支持,需手动转换模型:

      1. 下载 DeepSeek 模型的 GGUF 格式文件(如 deepseek-7b.Q4_K_M.gguf)。

      2. 创建 Modelfile

        FROM ./deepseek-7b.Q4_K_M.gguf
        PARAMETER num_ctx 4096  # 调整上下文长度
      3. 构建自定义模型:

        ollama create deepseek-custom -f Modelfile
        ollama run deepseek-custom

3. 安装 AnythingLLM

AnythingLLM 提供知识库管理界面。

  1. Docker 安装(推荐):

    docker run -d --name anything-llm -p 3000:3000 -v ~/anythingllm:/app/server/storage mintplexlabs/anythingllm
    • 访问 http://localhost:3000 完成初始化设置。

  2. 配置 LLM 提供商:

    • 进入设置 → LLM 提供商 → 选择 Ollama

    • 输入 API 地址:http://localhost:11434

    • 选择已部署的 DeepSeek 模型(如 deepseek-custom)。


4. 创建本地知识库

  1. 新建知识库:

    • 点击 Create New Workspace,输入名称(如 My-Knowledge-Base)。

    • 选择嵌入模型(建议 paraphrase-multilingual-MiniLM-L12-v2 支持中文)。

  2. 导入文档:

    • 支持格式:PDF、TXT、Word、Markdown 等。

    • 上传文件或拖放文件夹,AnythingLLM 自动解析并生成向量索引。

  3. 问答测试:

    • 在聊天界面输入问题,如:“总结文档中的核心观点”。

    • 检查模型是否基于上传文档生成答案。


5. 高级配置

  1. 优化模型性能:

    • 调整上下文长度: 修改 Ollama 的 num_ctx 参数(需重新构建模型)。

    • GPU 加速: 安装 CUDA 驱动后,启动 Ollama 时添加 --gpu 参数。

  2. 自定义向量数据库:

    • 默认使用内置 ChromaDB,可替换为 Qdrant 或 Pinecone:

      docker run -d --name qdrant -p 6333:6333 qdrant/qdrant
    • 在 AnythingLLM 设置中更新向量数据库地址。

  3. 多语言支持:

    • 中文文档需在嵌入模型设置中选择多语言模型。

    • 修改 config.json 中的 NLP_MODEL 参数为中文友好模型。


6. 常见问题解决

  • 模型加载失败:

    • 检查 Ollama 日志:ollama serve

    • 确认模型文件路径和权限正确。

  • 中文解析异常:

    • 在 AnythingLLM 的 Embedding Model 中选择支持中文的模型。

    • 更新分词器配置:server/storage/config.json

  • GPU 未调用:

    • 确认 Ollama 版本支持 GPU:ollama list 查看模型是否标记为 (GPU)

    • 安装 CUDA 工具包和对应驱动。


7. 扩展建议

  • 自动化脚本: 编写 Shell/Python 脚本定期同步文档到知识库。

  • API 集成: 通过 AnythingLLM 的 REST API 连接外部应用:

    curl -X POST http://localhost:3000/api/v1/chat \
      -H "Content-Type: application/json" \
      -d '{"message": "如何配置Ollama?", "workspaceId": "your-workspace-id"}'
  • 安全加固: 启用身份验证和 HTTPS(修改 docker-compose.yml 添加反向代理)。


您可以在本地部署一个基于 DeepSeek 模型的私有知识库系统,支持高效的中英文文档管理和智能问答。