Ollama vs. vLLM:Java工程师的AI部署血泪史

  1. 摸鱼摸到AI组 - 这锅甩不开

    春节期间的Deepseek火爆出圈后,我也跟风体验了一把。虽然常遇到服务器繁忙,但它的生辰八字算五行功能确实能提供一些参考。节后回归工作岗位,原本以为上半年就是常规的运维工作------维护系统、处理生产问题,甚至盘算着"喝茶等BUG"的悠闲日子。

    然而元宵节后风向突变:各大公司纷纷宣布接入Deepseek赋能业务,这股浪潮很快卷到了我们公司。作为传统运维,我本以为AI大模型这种高大上的东西与我无关,便继续埋头熟悉业务系统。

    转折点出现在模型部署阶段: 小领导作为项目负责人,尝试在CPU机器上用Ollama部署deepseek-32b,结果生成token的速度堪比"蜗牛爬山",一个简单问题要等待数分钟才能得到完整响应。这时公司突然调拨了一台8卡A100的服务器!通过紧急查阅资料,我们决定采用Docker+Ollama的方案进行部署。 依稀记得周五时候小领导给我说,下周一早上机器就能到位,咱们周一下午要落地deepseek满血版,公司领导的紧急任务,说"你来弄吧"。

  2. Ollama落地deepseek满血版 - 蹭到涮羊肉

    输入nvidia-smi的那一刻,犹如展开了一张神秘的GPU地图------显存占用、算力版本等关键信息跃然屏上,这是开启AI大模型之旅的第一道仪式。

    验证完显卡配置后,翻阅了几篇技术文档,意外发现Ollama的部署竟如此简单:安装Docker、配置NVIDIA Container Toolkit,随后只需一行命令,服务便轻松拉起。这种极简的部署体验,彻底打破了我对AI基础设施的复杂想象。

    bash 复制代码
    docker run -d --gpus=all -e -v /dockerdata/ollama:/root/.ollama -p 11434:11434 --name ollama ollama/ollama:latest
    docker exec -it ollama ollama run deepseek-r1:671b

    令人惊喜的是,这台机器的带宽性能远超预期------404GB的大型模型以40MB/s的高速稳定传输,仅用不到3小时就完成了安装部署。随后在Dify平台上的配置工作也进展顺利,原计划下午交付的首个任务竟在午前就圆满完成。

    团队为此获得了领导的犒赏,晚上一起享用了涮羊肉。美食当前,大家都暗下决心要更加努力工作。

    本以为项目可以暂告一段落,能稍作休整品茶放松。然而随着Dify平台新增文档分析功能后,一个意外情况出现了:领导上传的文档导致deepseek-r1:671b模型因上下文token超长未截断而报错,最终从缓存中卸载。经过长时间排查发现问题根源后,我们果断切换至70b模型(蒸馏量化版),不仅完美解决了保存问题,还意外获得了更高的token吞吐效率。

    后来了解到ollama对模型进行了量化,且性能没有vllm好,因此切换vllm部署。

  3. vllm落地大模型

    在完成领导交代的紧急任务后,经过深入调研,领导指出当前基于Ollama的方案适合个人研究,企业级建议切换至vLLM部署架构。为此,我系统性地梳理了GPU硬件驱动、CUDA计算架构、cuDNN加速库以及PyTorch框架之间的技术栈关系。

    经过多方案比选,最终确定采用vLLM官方Docker镜像进行部署,该方案不仅完美解决了复杂的Python环境依赖问题,还实现了计算资源的标准化管理,显著提升了部署效率和系统可靠性。

    依旧是一行极简的命令就完成vllm部署,当然由于满血版显存不够(cuda报错都快怀疑自我了,最后发现ollama是量化版本,vllm加载官方满血版本,显卡不够用。后面又加载了满血版的其他量化版,token越界问题存在),因此加载的是70b蒸馏未量化版本。结果呢,出乎意料,一个字:"快"。

    sql 复制代码
     docker run -d \ 
     --restart always \ 
     --name vllm \ 
     --gpus=all \ 
     --ipc=host \ 
     --shm-size 4g \ 
     --ulimit memlock=-1 \ 
     -v /dockerdata/vllm/models:/root/models \ 
     -v /etc/localtime:/etc/localtime:ro \ 
     -e TZ=Asia/Shanghai \ 
     -p 8000:8000 \ 
     vllm/vllm-openai \ 
     --model /root/models/DeepSeek-R1-Distill-Llama-70B \ 
     --served-model-name DeepSeek-R1-Distill-Llama-70B \ 
     --gpu-memory-utilization 0.95 \ 
     --api-key *****-****-****-****-******** \ 
     --trust-remote-code
  4. 应用落地

    由于公司领导对AI大模型场景落地比较关注,我们迅速完成了RAG知识库的搭建,部署了基于Dify的智能问答系统,并接入了部分业务场景数据,实现了初步的技术验证。

    然而,这仅仅是在AI大模型领域探索的第一步。面对这个快速发展的技术领域,越来越多的知识要学习,system prompt、user prompt、AI Agent、agent tools、function calling、MCP,python的langchain框架、java的spring ai alibaba框架。

    希望自己有机会能在AI大模型路上走的远一点。

相关推荐
组合缺一13 小时前
Solon AI (Java) v3.9 正式发布:全能 Skill 爆发,Agent 协作更专业!仍然支持 java8!
java·人工智能·ai·llm·agent·solon·mcp
ASS-ASH1 天前
AI时代之向量数据库概览
数据库·人工智能·python·llm·embedding·向量数据库·vlm
带刺的坐椅1 天前
用 10 行 Java8 代码,开发一个自己的 ClaudeCodeCLI?你信吗?
java·ai·llm·agent·solon·mcp·claudecode·skills
aopstudio2 天前
OpenClaw 实测体验:Agent 框架现在到底能不能用?
人工智能·llm·agent·openclaw
千桐科技2 天前
qKnow 知识平台核心能力解析|第 03 期:结构化抽取能力全流程介绍
大模型·llm·知识图谱·知识库·rag·qknow·知识平台
CoderJia程序员甲2 天前
GitHub 热榜项目 - 日榜(2026-02-04)
开源·大模型·llm·github·ai教程
gr17853 天前
通过dify文件上传能力,解决较大文本与LLM实时交互问题
python·llm·aigc·dify
EdisonZhou3 天前
MAF快速入门(14)快速集成A2A Agent
llm·agent·.net core
gentle coder3 天前
【langchain】AI应用开发框架
langchain·llm·rag
doll ~CJ3 天前
Large Language Model(LLM)应用开发学习实践(三)
langchain·llm·提示词工程·ai应用