当前位置: 首页 > news >正文

ollama本地安装与大模型与DeepSeek模型调用

Ollama 本地部署 Deepseek R1 模型

概念

  • Ollama是在Github上的一个开源项目,其项目定位是:一个本地运行大模型的集成框架;
  • 目前主要针对主流的LLaMA架构的开源大模型设计,通过将模型权重、配置文件和必要数据封装进由Modelfile定义的包中,从而实现大模型的下载、启动和本地运行的自动化部署及推理流程;
  • 此外,Ollama内置了一系列针对大模型运行和推理的优化策略,目前作为一个非常热门的大模型托管平台,基本主流的大模型应用开发框架如LangChainAutoGenMicrosoft GraphRAG及热门项目AnythingLLMOpenWebUI等高度集成。

Ollama官方地址:https://ollama.com/

Ollama Github开源地址:https://github.com/ollama/ollama

Ollama项目本地安装

windows电脑直接点击ollama下载按钮就可以安装好一个命令行界面。

在这里我们不细讲,我们主要是看任何在linux系统中安装ollama。

我们可以执行以下命令来对ollama进行安装

curl -fsSL https://ollama.com/install.sh | sh

这个过程会比较慢,拉取的文件约2G左右,如果安装过程中未出现任何错误信息,通常情况下能够表明安装已成功。可以通过执行以下命令来检查Ollama服务的运行状态:

systemctl status ollama

我们可以使用以下命令来查看ollama的版本

sudo ollama -v

Ollama部署DeepSeek


我们可以使用以下命令下载DeepSeek

ollama run deepseek-r1:1.5b

此外我们可以使用ollama list ,查看ollama的模型列表

使用DeepSeek

Ollama的机制中,使用run命令时,系统会首先检查本地是否已经存在指定的模型,如果本地没有找到该模型,Ollama会自动执行ollama pull <model_name>命令,从远程仓库下载该模型,下载完成后将模型存储为GGUF格式,供后续使用。最后,当成功下载后,Ollama会继续执行run命令,启动模型并进行推理或生成任务。

这里要重点说明两点:其一是DeepSeek R1作为推理模型,其返回结果是包含的,里面包含的是思考推理的内容;其二也会存在中为空,这其实是因为DeepSeek-R1系列模型倾向于绕过思维模式(即输出” \ n \ n ”),因此一个使用的技巧是:每个输出的开头强制模型以 “\n” 开头。(此问题我们在代码环节在给大家讲解实现的方式)

多GPU部署级Server启动

如果想加载多张显卡且做到负载均衡,可以去修改ollamaSystemD配置服务,首先找到当前服务器上GPUID,执行命令如下:

nvidia-smi

如果想加载多张显卡且做到负载均衡,可以去修改ollamaSystemD配置服务,执行如下代码:

systemctl edit ollama.service

编辑并填写如下内容:

Environment="CUDA_VISIBLE_DEVICES=0,1,2,3" # 这里根据你自己实际的 GPU标号来进行修改 Environment="OLLAMA_SCHED_SPREAD=1" # 这个参数是做负载均衡

保存退出后,重新加载systemd并重新启动Ollama服务使其配置生效,执行如下命令:

systemctl daemon-reload systemctl restart ollama

Ollama Rest Api 服务启动及其调用

fromopenaiimportOpenAI client=OpenAI(base_url='http://localhost:11434/v1/',api_key='ollama',# 这里随便写,但是api_key字段一定要有)chat_completion=client.chat.completions.create(model='deepseek-r1:1.5b',# 这里要修改成 你 ollama 启动模型的名称messages=[{'role':'user','content':'你好,请你介绍一下你自己',}],)print(chat_completion)

这里需要注意的一点是:如果Ollama启动和执行调用的代码是同一台机器,上述代码是可以的跑通的。比如Ollama服务在云服务器、局域网的服务器上等情况,则无法通过http://localhost:11434/v1/来进行访问,因为网络不通。 正如上述的报错,我的Ollama模型服务是在局域网的服务器上,因此我需要修改Ollama REST API的请求地址,操作方法如下:

修改ollamaSystemD配置服务,执行如下代码:

systemctl edit ollama.service

编辑并填写如下内容:

Environment="OLLAMA_HOST=0.0.0.0:11434"

保存退出后,重新加载systemd并重新启动Ollama服务使其配置生效,执行如下命令:

systemctl daemon-reload systemctl restart ollama

ollama基本命令

命令描述
serve启动 Ollama 服务
create从 Modelfile 创建一个模型
show显示模型的信息
run运行一个模型
stop停止正在运行的模型
pull从注册表中拉取一个模型
push将一个模型推送到注册表
list列出所有模型
ps列出正在运行的模型
cp复制一个模型
rm删除一个模型
help显示关于任何命令的帮助信息

通过上述关于Ollama的安装、模型下载及启动推理的介绍和实践,我们可以感受到Ollama极大地简化了大模型部署的过程,也降低了大模型在使用上的技术门槛。然而,对大部分用户而言,命令行界面并不够友好。正如我们之前提到的,在大模型的应用开发框架下,使用到的往往是其API调用形式,为此,Ollama也是可以集成多个开源项目,包括Web界面、桌面应用和终端工具等方式提升使用体验,并满足满足不同用户的偏好和需求。

我们可以感受到Ollama极大地简化了大模型部署的过程,也降低了大模型在使用上的技术门槛。然而,对大部分用户而言,命令行界面并不够友好。正如我们之前提到的,在大模型的应用开发框架下,使用到的往往是其API调用形式,为此,Ollama也是可以集成多个开源项目,包括Web界面、桌面应用和终端工具等方式提升使用体验,并满足满足不同用户的偏好和需求。

http://www.jsqmd.com/news/299674/

相关文章:

  • 数据驱动决策:大数据在决策预测中的关键作用
  • 洛谷 P3395 路障 题解
  • 实用指南:第七十五篇: 数据可视化(一):Matplotlib基础绘图与样式配置
  • 讲解得物月付分期购额度怎么回收变现出来
  • 26年寒假生活指导1.25
  • 如何通过市场数据 API 计算 RSI、MACD 与移动平均线MA
  • Python Dash数据分析实战
  • 解读大数据领域数据中台的价值与意义
  • 深入了解大数据领域Hive的HQL语言特性
  • 【BUG】【Python】【爬虫】爬取加载中的数据
  • 【BUG】【Python】清除字符串空格问题
  • ParseNet: LOOKING WIDER TO SEE BETTER——拓宽视野以更好地理解 - 实践
  • Python Dash 快速搭建交互式Web应用
  • 22-5. PLC的程序控制指令(子程序)
  • 先过滤后关联的优化经验分享
  • 【视觉大模型论文精读】带你逐段解析 (持续更新)——总览
  • 「LUCKY STUN穿透」使用UptimeRobot使UPnP映射的TCP规则保持活跃
  • AI应用架构师详解:智能供应链预测系统模型服务化设计(TensorFlow Serving实践)
  • A. Perfect Root
  • 曲线Curve
  • 「LUCKY STUN穿透」在Docker中使用MiniUPnP为BT客户端自动添加内外端口不同的映射规则
  • 【论文学习】重新审视面向持续图像分割的基于查询的 Transformer || 用于二分类图像分割的多视图聚合网络
  • 基于STM32的智能停车场系统设计(实物设计)
  • Kafka与RabbitMQ相比有什么优势? - 详解
  • MiniMax的全球化之路:中国AI公司出海的新样本
  • C++工程师的前端之旅:前后端对话 - 实时通信篇 02 - WebSocket订阅(观察者模式实现)
  • 动态注册RBAC
  • YOLO26改进 - 采样 | ICCV 顶会技术:WaveletPool 小波池化强化采样,保留小目标细节
  • P1948 [USACO08JAN] Telephone Lines S
  • 深度测评10个AI论文平台,研究生高效写作必备!