Deepseek学习--工具篇之Ollama

Deepseek学习--工具篇之Ollama

  • 用途
  • 特点
    • 简化部署‌
    • 轻量级与可扩展性‌
    • API支持‌
    • 预构建模型库‌
    • 模型导入与定制‌
    • 跨平台支持‌
    • 命令行工具与环境变量‌
  • 来源
    • 缘起
    • 诞生
    • 爆发
    • 持续
  • 安装使用方法
    • 下载安装
    • 安装模型
    • 调用API

用途

我们在进行Deepseek本地部署的时候,通常会用到工具Ollama,这是专为在本地机器上便捷部署和运行大型语言模型(LLM)的一个工具。
使用这个工具,非专业用户也可以轻松的完成Deepseek本地部署。

特点

首先‌,Ollama是一个开源框架,其好处有以下几点:

简化部署‌

Ollama旨在简化在Docker容器中部署大型语言模型的过程,使得非专业用户也能方便地管理和运行这些复杂的模型。

轻量级与可扩展性‌

作为轻量级框架,Ollama保持了较小的资源占用,同时具备良好的可扩展性,允许用户根据需要调整配置以适应不同规模的项目和硬件条件。

API支持‌

提供了一个简洁的API,使得开发者能够轻松创建、运行和管理大型语言模型实例,降低了与模型交互的技术门槛。

预构建模型库‌

包含一系列预先训练好的大型语言模型,用户可以直接选用这些模型应用于自己的应用程序,无需从头训练或自行寻找模型源。
这里需要重点说一下:查询官网,目前支持:Llama 3.3, DeepSeek-R1, Phi-4, Mistral, Gemma 3等模型。

模型导入与定制‌

支持从特定平台(如GGUF)导入已有的大型语言模型,兼容PyTorch或Safetensors深度学习框架,允许用户为模型添加或修改提示(prompt engineering),以引导模型生成特定类型或风格的文本输出。

跨平台支持‌

提供针对macOS、Windows(预览版)、Linux以及Docker的安装指南,确保用户能在多种操作系统环境下顺利部署和使用Ollama。

命令行工具与环境变量‌

命令行工具与环境变量‌:通过命令行启动Ollama服务,用户可以通过环境变量配置来指定服务绑定的主机地址和端口。
使用效果如下,非常简单方便:在这里插入图片描述

在实际应用中,Ollama具有很强的实用性和便利性。例如,用户可以在本地计算机上实验模型,无需依赖外部服务或API。Ollama还兼容多种模型,如Llama 3、Mistral、Gemma等,使得开发者和研究人员能够在本地环境中高效利用大型语言模型进行各种自然语言处理任务。此外,Ollama还提供了一个类似OpenAI的简单内容生成接口和聊天界面,支持热切换模型,使得使用体验更加灵活多变。

来源

Ollama是由Facebook AI Research开发的‌。Ollama是一个开源、轻量级且高效的大型语言模型(LLM)框架,旨在使研究人员和开发人员能够更轻松地在自己的硬件上部署和运行LLM,而无需专门的云计算资源。‌

此外,Ollama团队由Michael Chiang和Jeffrey Morgan创立,是一家独立的初创公司,总部位于加利福尼亚州帕洛阿尔托。尽管Ollama是一个独立的开源项目,但它的开发背景与Facebook AI Research有关。

缘起

2023年,Meta发布 Llama 2 并开源,Google、Mistral AI等企业也相继推出轻量化模型(如 Gemma、Mistral-7B),开源社区对本地运行模型的需求激增。

诞生

2023年底,Ollama由开发者社区主导创建,旨在 简化本地LLM的部署与管理,提供类似Docker的“一键运行”体验,诞生伊始,已经可以通过命令行直接加载模型(如ollama run llama2),自动处理模型依赖与运行环境,支持量化模型(如4-bit/8-bit),降低硬件需求。

爆发

2024年,逐步支持 Llama 3、Mistral、Gemma、Phi-3 等主流模型,并集成社区自定义模型(如Code Llama、医疗领域微调版)。新增模型版本管理(多版本切换);支持REST API,便于集成到外部应用;提供Python/JavaScript库,降低开发成本。
开源社区贡献持续增加,GitHub Star数快速破万,成为本地运行LLM的标杆工具。

持续

2025年,支持Deepseek。笔者也是从开始关注Deepseek之后,逐步了解该工具的。
针对前面提到的自动处理模型依赖与运行环境等功能,安装完这些软件之后,系统更新大乱炖,往往会把显卡驱动、Cudnn等更新乱,将来这些功能肯定会不断优化。

安装使用方法

和一般的软件安装方法一样,支持本地安装和在线一键安装,网上教程很多,大家可以自行体会。其实,最可靠的方法就是直接参考官网,Ollama的官网非常简单,非常直白。

下载安装

直接使用官网提供的命令行即可,一个命令全部搞定:

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

手动安装也很简单,先下载和解压:

curl -L https://ollama.com/download/ollama-linux-amd64.tgz -o ollama-linux-amd64.tgz
sudo tar -C /usr -xzf ollama-linux-amd64.tgz

然后运行:

ollama serve

这里只是说明以下,具体内容参考https://github.com/ollama/ollama/blob/main/docs/linux.md

安装模型

在https://ollama.com/library/中下载相应的模型安装

ollama run deepseek-r1:XX.XXb

XX.XXb对照模型参数量填写,1.5b模型1.1G,671b模型404Gb,安装之前要充分评估自己的硬件。
其他细节如更新、自定义安装、卸载等可以参考文档。

调用API

‌Ollama的API调用主要包括以下几种方式‌:

生成文本补全‌:使用/api/generate端点,通过POST请求生成指定模型的文本补全。主要参数包括model(模型名称)、prompt(生成文本的提示词)、suffix(生成的补全文本之后附加的文本)、stream(是否流式传输响应)等。‌12

聊天模式‌:使用/api/chat端点,通过POST请求在聊天中生成下一条消息。支持多轮对话历史,可以通过设置stream为false来关闭流式传输。‌23

创建模型‌:使用/api/create端点,可以通过上传另一个模型、safetensors目录或GGUF文件来创建一个新模型。‌2

列出本地模型‌:使用/api/tags端点,可以列出本地可用的模型。

显示模型信息‌:使用/api/show端点,显示有关模型的信息,包括详细信息、模型文件、模板、参数、许可证、系统提示符等。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/35401.html

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

相关文章

Flask多参数模版使用

需要建立目录templates; 把建好的html文件放到templates目录里面; 约定好参数名字,单个名字可以直接使用;多参数使用字典传递; 样例: from flask import render_template # 模板 (Templates) #Flask 使用…

LabVIEW旋转设备状态在线监测系统

为了提高大型旋转设备如电机和水泵的监控效率和故障诊断能力,用LabVIEW软件开发了一套实时监测与故障诊断系统。该系统集成了趋势分析、振动数据处理等多项功能,可实时分析电机电流、压力、温度及振动数据,以早期识别和预报故障。 ​ 项目背…

汽车PKE无钥匙进入系统一键启动系统定义与原理

汽车智能钥匙(PKE无钥匙进入系统)一键启动介绍 系统定义与原理 汽车无钥匙进入系统,简称PKE(Passive Keyless Entry),该系统采用了RFID无线射频技术和车辆身份编码识别系统,率先应用小型化、小…

【Idea】 xml 文本粘贴保持原有文本的缩进格式

Idea xml 文本粘贴保持原有文本的缩进格式 在使用 IntelliJ IDEA 2018 版本中的 MyBatis 时,粘贴 SQL 语句会自动对齐,此时需要进行相关设置来禁用此功能。 setting——>Editor——>Code Style——>XML 勾选“Keep white spaces”

Unity 和 Python 的连接(通过SocketIO)附源码

在游戏或者项目开发中,Unity 通常用于创建前端,而 Python 则因其强大的数据处理能力常被用作后端。通过 Socket.IO,我们可以轻松地实现 Unity 和 Python 的实时通信。本文将介绍如何通过 Socket.IO 连接 Unity 和 Python,并附上完…

[IP]UART

UART 是一个简易串口ip,用户及配置接口简单。 波特率从9600至2000000。 该 IP 支持以下特性: 异步串行通信:标准 UART 协议(1 起始位,8 数据位,1 停止位,无奇偶校验)。 参数化配置…

vue2实现可拖拽菜单栏,及根据菜单内容自动扩展宽度

分为两个功能 基本的html: <el-scrollbarid"leftmenu"v-resize"MuneResize"wrap-class"scrollbar-wrapper"><el-menu:default-active"activeMenu":collapse"isCollapse":background-color"variables.menuBg&…

【软件工程】03_软件需求分析

3.1 系统分析 1. 系统分析概述 系统分析是一组统称为计算机系统工程的活动。它着眼于所有的系统元素,而非仅仅局限于软件。系统分析主要探索软件项目的目标、市场预期、主要的技术指标等,其目的在于帮助决策者做出是否进行软件项目立项的决定。 2. 可行性分析(Feasibility …

父组件中循环生成多个子组件时,有且只有最后一个子组件的watch对象生效问题及解决办法

提示&#xff1a;父组件中循环生成多个子组件时&#xff0c;有且只有最后一个子组件的watch对象生效问题及解决办法 文章目录 [TOC](文章目录) 前言一、问题二、解决方法——使用function函数代替箭头函数()>{}总结 前言 ‌‌‌‌‌问题&#xff1a;子组件用that解决watch无…

SpringMVC(八)Knife4j 接口文档

目录 一 基础使用 1 配置pom.xml相关依赖 2 项目配置 3 输入指定路径&#xff08;http://localhost:8080/doc.html&#xff09; 二 一些使用方法 1 Tag 2 Operation 3 Schema 4 Parameter 5 可以根据需求来设置 补充&#xff1a;日期的格式化 Knife4j 是基于 Swag…

二分算法--整数二分

二分算法–整数二分 假如给定一个整数序列&#xff0c;{ a 1 a_1 a1​, a 2 a_2 a2​, a 3 a_3 a3​, …, a n a_n an​} 我们将整个数列根据某个元素 a x a_x ax​将数列分成左右两个部分&#xff08;某一部分可以包含 a x a_x ax​&#xff09; 首先我们定义一个mid 如…

有效的括号 力扣20

一、题目 二、思路 这题算是栈的经典应用。 主要有三种情况&#xff1a; 第一种情况&#xff1a;已经遍历完了字符串&#xff0c;但是栈不为空&#xff0c;说明有相应的左括号没有右括号来匹配&#xff0c;所以return false 第二种情况&#xff1a;遍历字符串匹配的过程中&…

Nuxt3 使用 ElementUI Plus报错问题

本地正常&#xff0c;打包上线异常 解决方式&#xff1a;官方组件需要被包裹一层&#xff0c;如以下示例&#xff1a; <ClientOnly> </ClientOnly>

uniapp vue3项目定义全局变量,切换底部babar时根据条件刷新页面

前言 uniapp项目中&#xff0c;每个tabbar页面来回点时候&#xff0c;不会触发页面更新。但是有时页面上有数据发生改变需要更新模版时&#xff0c;就得能及时的通知到页面。如果在onshow生命周期里每次都调用异步请求更新数据&#xff0c;有些不合理&#xff0c;况且页面有时…

vulnhub-Hackme-隧道建立、SQL注入、详细解题、思路清晰。

vulnhub-Hackme-隧道建立、SQL注入、详细解题、思路清晰。 一、信息收集 2025.3.14 PM 12&#xff1a;18 1、主机发现 arp-scan -l nmap -sn 192.168.66.0/24 2、端口扫描 1、nmap --min-rate 10000 -p- 192.168.66.182 -oA port 查看所有开放端口2、map -sS -sV 192.168.6…

20250317笔记本电脑在ubuntu22.04下使用acpi命令查看电池电量

20250317笔记本电脑在ubuntu22.04下使用acpi命令查看电池电量 2025/3/17 18:05 百度&#xff1a;ubuntu查看电池电量 百度为您找到以下结果 ubuntu查看电池电量 在Ubuntu操作系统中&#xff0c;查看电池电量通常可以通过命令行或者图形界面来完成。下面是一些常见的方法&…

openEuler系统迁移 Docker 数据目录到 /home,解决Docker 临时文件占用大问题

根据错误信息 write /var/lib/docker/tmp/...: no space left on device&#xff0c;问题的根源是 根分区&#xff08;/&#xff09;的磁盘空间不足&#xff0c;而非 /home 分区的问题。以下是详细解释和解决方案&#xff1a; 问题原因分析 Docker 临时文件占用根分区空间&…

Java 大视界 -- Java 大数据在智能政务舆情引导与公共危机管理中的应用(138)

&#x1f496;亲爱的朋友们&#xff0c;热烈欢迎来到 青云交的博客&#xff01;能与诸位在此相逢&#xff0c;我倍感荣幸。在这飞速更迭的时代&#xff0c;我们都渴望一方心灵净土&#xff0c;而 我的博客 正是这样温暖的所在。这里为你呈上趣味与实用兼具的知识&#xff0c;也…

Deepseek API+Python测试用例一键生成与导出-V1.0.2【实现需求文档图片识别与用例生成自动化】

在测试工作中&#xff0c;需求文档中的图片&#xff08;如界面设计图、流程图&#xff09;往往是测试用例生成的重要参考。然而&#xff0c;手动提取图片并识别内容不仅耗时&#xff0c;还容易出错。本文将通过一个自研小工具&#xff0c;结合 PaddleOCR 和大模型&#xff0c;自…

搭建opensbi+kernel+rootfs及基本设备驱动开发流程

目录 一.编译qemu 运行opensbikernelrootfs 1.编译qemu-9.1.1 2.安装riscv64编译器 3. 编译opensbi 4.编译kernel 5.编译rootfs 设备驱动开发流程 1.安装 RISC-V 交叉编译工具链 2.驱动开发准备 3.编写简易中断控制器驱动&#xff08;PLIC&#xff09;​ 4.配置内核…