利用ollama部署deepseek简述

deepseek官方也提供了本地部署教程,但是相对复杂,本文采用ollama快速部署一个本地模型

1、为什么选择本地部署

        目前在线有大量的模型可以使用,那么为什么还需要本地部署?核心原因包含如下几个:

        免费使用:本地部署无需对模型付费(当然部署的资源除外)

        数据隐私:本地部署整个的训练、使用、交互等都在本地私有空间,可以充分保护数据隐私

        限制少:在线模型因为内容安全、合规等问题存在较多限制和审核,本地部署取决于个人训练和数据源,限制相对少

        无需网络依赖:本地部署完全可以在本地运行、使用、调试,无需连接互联网(需要用到联网插件、互联网服务等除外)

        灵活定制:可以根据个人的使用目标,进行灵活的调试、调优、修改;同时根据不同的使用场景选择不同的数据集进行训练

        性能和效率:本地部署无需和云端做交互(特定场景除外),不存在访问限制、资源限制,通常使用效率高;同时资源独占,且可以根据需求调整配置,相对性能更好

2、如何部署

        因为本地部署需要大量资源,特别是部署大参数量如deepseek满血版;满血版参数量为671B,6710亿的参数量,按照单精度浮点数(float32)评估:

               显存占用

                每个参数占用4字节(32/8),6710亿参数占用:6710*4B*=26840GB=26.8TB

                训练过程的过程占用和缓存,通常比参数占用更多,如2-3倍,若按3倍计算,则占用80.4TB

                在推理过程不同的模型占用的显存也存在差异,从百分之几到百分之几十都有可能,若按照10%考虑,大概为8TB

                总体的显存需求仅90TB,另外考虑到环境损耗,若按照15%考虑,则最终需求为106TB

                内存占用:

                训练过程6710亿参数大约需要1TB及以上;推理过程大约需要256GB及以上;通常需要至少1.2TB内存

                综上所属,本地部署6710亿参数的deepseek至少需要1.2TB内存,及双卡H100 80GB

        但是在个人电脑尝试部署distill(蒸馏)版本的也可以运行,以下使用ollama部署distill版本的步骤,供参考:(以部署DeepSeek-R1-Distill-Qwen-1.5B为例)

        第一步:去allama官网下载工具

        https://ollama.com/download

        选择对应系统的版本,本次选择Mac系统对应的版本

        

     下载后直接安装即可,安装后进入命令行,可以查看版本

        ollama -v

                同时ollama会监听本地的11434端口,可以浏览器访问:localhost:11434   

         

        确认安装没问题后,下一步运行需要的模型(本次以deepseek-r1:1.5b为例),可以在 https://ollama.com/search 查看:

        

        

        详情也也可以看到各个蒸馏版本:

        

        

        复制运行命令:

        

        至此,基础安装已经完成,通过ollama部署基础模型还是相对简单。但是通过以上部署,整个的交互体验比较差、且效果差

        

 3、交互体验优化

      上一章节已经完成基础模型部署,但是交互体验比较差,本章节通过部署Chatbox,通过ollama+Chatbox来实现友好交互

        chatbox是一款开源的AI客户端,可以直接在官网下载:Chatbox AI官网:办公学习的AI好助手,全平台AI客户端,官方免费下载   

 

        下载之后直接安装:

                安装后打开客户端进行配置,选择使用自己的API key或本地模型配置

        

                        选择ollama API:

                                               进行其它参数配置:

                                配置后一个客户端就出现了:        

                

        可以正常进行交互:

        

                chatbox工具还有很多能力可以开发,如直接体验在线模型;有需要的伙伴可以自行开发。

4、效果优化

        前面章节完成了模型部署及交互优化,但是在使用效率上还有很多可以优化的点,本章节针对部分优化项进行简述

4.1 通过page assist+ollama实现本地模型联网

        page assist是一个开源的浏览器扩展程序,官网对其介绍如下:https://chromewebstore.google.com/detail/page-assist-%E6%9C%AC%E5%9C%B0-ai-%E6%A8%A1%E5%9E%8B%E7%9A%84-web/jfgfiigpkhlkbnfnbobbkinehhfdhndo?hl=zh-cn

        

        下载后进行设置添加:

        

        配置扩展程序,打开联网搜索:

        

以上配置为开启联网搜索;

        

  4.2 使用anything LLM+ollama打通本地知识库

         RAG的理论知识在此不做过多介绍,有兴趣的同学可以单独了解;本次通过anything LLM工具来打通本地知识库:

        AnythingLLM | The all-in-one AI application for everyone

        直接下载对应版本:

        

        下载后进行安装:

                

 

        然后进行配置,会自动进行识别:

        

        检查识别是否有误:

               

进行embedding模型和vector数据库配置,之后确认选项

        

        下一步,设置工作区,可以在不同工作区设置不同知识库

        

        设置完成后有一些引导语,同时也可以去修改我们的embedding和vector配置

                

配置后,找到工作区,上传知识库:

        

        注意:需要移动到对应的工作区:

        

        

 

配置完成后可以进行测试

        

同时也可以以网页的形式添加知识库,添加后也可以测试效果

        

        注意:anything LLM的两个核心概念

        workspace:一个独立的环境,用与存储和管理特定主题的文件和数据,用户可以单独设置,每个工作区相互独立;

        thread:工作区中一次对话的记录

        anything LLM是一个非常强大的工具,也值得单独研究,且通过@就能调起很多工具:

        

 

最后希望能给大家带来一定的帮助,有更好的工具也欢迎一起探讨!

 

<think>嗯,用户想在Linux系统上部署DeepSeek大语言模型,并设置支持局域网访问的知识库。首先,我需要回顾一下之前提供的引用内容,看看有哪些步骤可以参考。 根据引用[1],用户提到使用Ollama和Page Assist浏览器插件来部署DeepSeek,并且目标是在局域网服务器部署,让其他电脑访问。所以第一步应该是安装Ollama。引用[2]里提到了在Ubuntu环境下使用llama.cpp进行CPU与GPU混合推理,可能需要安装一些依赖项,比如build-essential、cmake、curl等。还有引用[3]提到设置Ollama服务主机的固定IP,确保局域网访问。 接下来,我需要整理步骤。首先安装Ollama,然后拉取DeepSeek模型。安装依赖项的时候,可能需要按照引用[2]中的命令执行,比如更新apt-get,安装必要的软件包。然后配置Ollama的网络设置,使其监听所有IP地址,这样其他局域网内的设备才能访问。引用[3]中提到了设置固定IP,这可能需要用户手动配置网络接口,比如修改/etc/netplan下的配置文件或者使用nmcli工具。 另外,关于知识库部分,用户可能想结合LangChain或类似框架来管理本地文档,构建RAG应用。需要安装LangChain,并编写Python代码来加载文档、处理文本、建立向量数据库,并通过Ollama的API进行交互。这部分可能需要示例代码,比如使用LangChain的文档加载器和文本分割器,然后使用HuggingFaceEmbeddings生成向量,最后用Chroma作为向量存储。 用户可能遇到的问题包括Ollama服务无法启动、局域网无法访问、模型加载失败等。这时候需要检查防火墙设置,确保端口11434开放,Ollama服务是否正确监听0.0.0.0,以及模型是否下载正确。 最后,生成相关问题时要考虑部署中的常见问题,比如性能优化、安全设置、模型微调等,以及如何扩展知识库的应用场景。</think>### 分步教程:Linux系统部署DeepSeek模型并支持局域网访问知识库 --- #### **一、基础环境部署** 1. **安装Ollama框架** 通过官方脚本安装Ollama服务(需联网): ```bash curl -fsSL https://ollama.com/install.sh | sh ``` 验证安装:`systemctl status ollama`[^1] 2. **拉取DeepSeek模型** 选择适合的模型版本(如`deepseek-llm:7b`): ```bash ollama pull deepseek-llm ``` 查看已安装模型:`ollama list` --- #### **二、配置局域网访问** 1. **设置Ollama监听地址** 修改服务配置文件,允许所有IP访问: ```bash sudo systemctl edit ollama.service ``` 在文件中添加: ```ini [Service] Environment="OLLAMA_HOST=0.0.0.0" ``` 重启服务:`sudo systemctl restart ollama`[^3] 2. **配置服务器固定IP** 通过`nmcli`设置静态IP(示例): ```bash sudo nmcli con mod "有线连接" ipv4.addresses 192.168.1.100/24 ipv4.gateway 192.168.1.1 ipv4.dns "8.8.8.8" ipv4.method manual sudo nmcli con up "有线连接" ``` 3. **防火墙放行端口** 允许11434端口通信: ```bash sudo ufw allow 11434/tcp ``` --- #### **三、知识库集成(RAG应用)** 1. **安装LangChain框架** 使用Python环境安装依赖: ```bash pip install langchain chromadb sentence-transformers ``` 2. **编写知识库处理脚本** ```python from langchain.document_loaders import DirectoryLoader from langchain.text_splitter import RecursiveCharacterTextSplitter from langchain.embeddings import HuggingFaceEmbeddings from langchain.vectorstores import Chroma # 加载本地文档 loader = DirectoryLoader('/path/to/docs', glob="**/*.txt") documents = loader.load() # 分割文本 text_splitter = RecursiveCharacterTextSplitter(chunk_size=500) texts = text_splitter.split_documents(documents) # 生成向量数据库 embeddings = HuggingFaceEmbeddings() vector_db = Chroma.from_documents(texts, embeddings, persist_directory="./chroma_db") ``` 3. **通过API调用模型** 使用CURL测试接口: ```bash curl http://服务器IP:11434/api/generate -d '{ "model": "deepseek-llm", "prompt": "如何解释量子纠缠?", "context": {"knowledge_base": "./chroma_db"} }' ``` --- #### **四、验证与调试** 1. **局域网客户端测试** 其他设备访问: ```python import requests response = requests.post('http://192.168.1.100:11434/api/chat', json={ "model": "deepseek-llm", "messages": [{"role": "user", "content": "简述相对论"}] }) print(response.json()) ``` 2. **常见问题排查** - **服务未启动**:检查`journalctl -u ollama.service` - **连接被拒绝**:确认防火墙和SELinux状态 - **模型加载慢**:添加`--n-gpu-layers 20`参数提升GPU利用率[^2] ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值