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.mzph.cn/news/1215886.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

数据驱动决策:大数据在决策预测中的关键作用

数据驱动决策&#xff1a;大数据在决策预测中的关键作用 关键词&#xff1a;数据驱动决策、大数据、决策预测、数据分析、数据价值 摘要&#xff1a;本文旨在深入探讨大数据在决策预测中的关键作用。通过详细介绍大数据的核心概念、相关算法原理、数学模型&#xff0c;结合实际…

洛谷 P3395 路障 题解

题目链接 洛谷 P3395 路障 思路分析 一道迷宫类问题,但不同的是它的障碍物的出现是在一既定时间往后。即对于位于 \(x_i,y_i\) 的障碍物 \(i\),它会在第 \(i\) 秒末尾开始出现,即第 \(i+1\) 秒后的移动都需要考虑它…

实用指南:第七十五篇: 数据可视化(一):Matplotlib基础绘图与样式配置

实用指南:第七十五篇: 数据可视化(一):Matplotlib基础绘图与样式配置2026-01-25 21:48 tlnshuju 阅读(0) 评论(0) 收藏 举报pre { white-space: pre !important; word-wrap: normal !important; overflow-x: …

讲解得物月付分期购额度怎么回收变现出来

得物月付额度:解锁潮流消费新方式,灵活购物更随心 在潮流消费成为年轻人生活日常的当下,得物作为潮流好物聚集地,为满足消费者灵活的购物需求,推出了得物月付这一专属消费信贷服务。专属的月付额度,搭配便捷的申…

26年寒假生活指导1.25

🎯 问题描述 在 Windows 环境下启动 Nacos 3.1.1 时遇到错误: PS D:\jslh2\jslh-cloud\nacos3.1.1\bin> ./startup.cmd -m standalone "nacos is starting with standalone" Error: Unable to access …

如何通过市场数据 API 计算 RSI、MACD 与移动平均线MA

通过市场iTick API获取金融数据并用Python计算RSI、MACD和移动平均线等核心技术指标,能有效帮助交易者识别趋势和动量。环境准备涉及安装Python库与设置API请求头,而数据获取需根据标的代码、市场和K线周期等参数。计…

Python Dash数据分析实战

你想知道如何用Python Dash把数据分析和可视化结合起来,搭建出交互式的分析应用,核心是想掌握从数据处理到可视化展示、再到交互逻辑实现的完整流程。下面我会从实操角度,一步步教你用Dash完成数据分析与可视化的全…

解读大数据领域数据中台的价值与意义

解读大数据领域数据中台的价值与意义&#xff1a;从“数据孤岛”到“数据中枢”的进化 一、引言&#xff1a;为什么数据中台成为企业的“必选项”&#xff1f; 在数字经济时代&#xff0c;数据被称为“新石油”&#xff0c;但现实中很多企业面临着“有数据无价值”的困境&…

深入了解大数据领域Hive的HQL语言特性

深入了解大数据领域Hive的HQL语言特性 关键词&#xff1a;Hive、HQL、大数据查询、分区表、元数据、MapReduce、UDF 摘要&#xff1a;本文将带你像拆积木一样拆解大数据领域的“查询利器”HiveQL&#xff08;简称HQL&#xff09;。我们会从HQL的诞生背景讲起&#xff0c;用“图…

【BUG】【Python】【爬虫】爬取加载中的数据

示例网页链接&#xff1a;https://movie.douban.com/subject/36907263/ BUG 浏览器开发者模式可以看到所需信息有对应的HTML显式结构 但代码爬取时发现结构被hidden&#xff0c;需要二次加载 import requestsurl https://movie.douban.com/subject/36907263/ headers {Us…

【BUG】【Python】清除字符串空格问题

BUG strip()后依旧有空格DEBUG strip()只清除字符串前后的包括空格、制表符、换行符等&#xff09;&#xff0c;中间的不处理。这时使用replace即可

ParseNet: LOOKING WIDER TO SEE BETTER——拓宽视野以更好地理解 - 实践

ParseNet: LOOKING WIDER TO SEE BETTER——拓宽视野以更好地理解 - 实践pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family:…

Python Dash 快速搭建交互式Web应用

Dash 是 Plotly 公司推出的一款基于 Python 的低代码 Web 开发框架,无需前端(HTML/CSS/JavaScript)基础,就能快速构建高颜值、交互式的数据可视化 Web 应用。本文从环境搭建到实战案例,全程手把手教学,适合Pytho…

22-5. PLC的程序控制指令(子程序)

22-5. PLC的程序控制指令&#xff08;子程序&#xff09;在 PLC&#xff08;可编程逻辑控制器&#xff09;编程中&#xff0c;子程序指令是一种用于结构化编程的核心指令。它的核心思想是“模块化”&#xff1a;将复杂的程序分解成若干个独立的功能块&#xff0c;按需调用。简单…

先过滤后关联的优化经验分享

1、问题语句 最近遇到一个问题&#xff0c;发现开发人员比较喜欢单一的将表放一块一起做关联。如果有了先过滤后关联的思维&#xff0c;大部分语句的性能会获得提升。 以下是真实项目简化而来的例子 select * from ( select a.c1, a.mid, a.bcode,c.ttime ,row_number()over( p…

【视觉大模型论文精读】带你逐段解析 (持续更新)——总览

【视觉大模型论文精读】带你逐段解析 (持续更新)——总览 &#xff08;2021&#xff09;&#xff08;DINO&#xff09;Emerging Properties in Self-Supervised Vision Transformers论文精读&#xff08;逐段解析&#xff09; &#xff08;2023&#xff09;&#xff08;SAM&a…

「LUCKY STUN穿透」使用UptimeRobot使UPnP映射的TCP规则保持活跃

「LUCKY STUN穿透」使用UptimeRobot使UPnP映射的TCP规则保持活跃「LUCKY STUN穿透」使用UptimeRobot使UPnP映射的TCP规则保持活跃 2024.05.04 在之前的教程中我们通过UPnP映射 webhook等功能配合STUN穿透 实现了在无IP…

AI应用架构师详解:智能供应链预测系统模型服务化设计(TensorFlow Serving实践)

AI应用架构师详解:智能供应链预测系统的模型服务化设计——基于TensorFlow Serving的实践指南 一、引言:从"模型训练完成"到"生产可用"的最后一公里痛 作为AI应用架构师,我曾遇到过这样的场景: 数据科学家花了3个月训练出一个供应链销量预测模型——…

A. Perfect Root

time limit per test1 secondmemory limit per test256 megabytesA positive integer x is a perfect root if there exists an integer y such that y√x. For example, 5 is a perfect root because 25−−√5.For each test case, output n distinct perfect roots. Note th…

曲线Curve

曲线Curve1.setFromPoints .setFromPoints()是几何体BufferGeometry的一个方法,通过该方法可以把数组pointsArr中坐标数据提取出来赋值给几何体。具体说就是把pointsArr里面坐标数据提取出来,赋值给geometry.attribu…