安装和使用 Ollama(实验环境windows)

下载安装

下载

https://ollama.com/download/windows

安装

Windows 安装

  • 如果直接双击 OllamaSetup.exe 安装,默认会安装到 C 盘,如果需要指定安装目录,需要通过命令行指定安装地址,如下:

    # 切换到安装目录
    C:\Users\lisiyu>D:
    # 执行安装
    D:\ollama>OllamaSetup.exe  /DIR="d:\ollama\"
    

设置模型存储路径

要更改 Ollama 存储下载模型的位置,而不是使用你的主目录,可以在你的用户账户中设置环境变量 OLLAMA_MODELS。

如下,先在安装 ollama 目录下创建 models 文件夹,然后在 windows 下设置环境变量:

在这里插入图片描述

快捷使用

  • 查看 ollama 版本
C:\Users\lisiyu>ollama --version
ollama version is 0.5.7
  • 查看 ollama 已下载模型列表
C:\Users\lisiyu>ollama list
NAME    ID    SIZE    MODIFIED
  • 拉取模型

模型列表:https://ollama.com/search

PS C:\Users\lisiyu\Desktop> ollama pull deepseek-r1:8b
pulling manifest
pulling 6340dc3229b0...  26% ▕█████████████████████████████████████    ▏ 1.3 GB/4.9 GB  3.5 MB/s  17m32s 
  • 运行模型(如果模型未拉取,默认会先执行 pull 拉取)
C:\Users\lisiyu>ollama run deepseek-r1:8b
>>> Send a message (/? for help)# 此时进入对话窗口
# 如果要退出,输入 /bye 执行退出
# 退出后,ollama 也会在后台运行
  • 更多命令,参考帮助说明:
C:\Users\lisiyu>ollama help
Large language model runnerUsage:ollama [flags]ollama [command]Available Commands:serve       Start ollamacreate      Create a model from a Modelfileshow        Show information for a modelrun         Run a modelstop        Stop a running modelpull        Pull a model from a registrypush        Push a model to a registrylist        List modelsps          List running modelscp          Copy a modelrm          Remove a modelhelp        Help about any commandFlags:-h, --help      help for ollama-v, --version   Show version informationUse "ollama [command] --help" for more information about a command.

Ollama API

  • 默认访问地址:https://localhost:11434 或者 https://127.0.0.1:11434

  • 允许外网访问:

    由于默认只能在本机访问,所以,要允许外网访问,要监听 0.0.0.0 地址。

    且有些场景需要指定端口。

    此时可以通过设置环境变量 OLLAMA_HOST 来定义,如下:

    在这里插入图片描述
    在这里插入图片描述

  • Ollama 支持的 API:

参考官方文档:https://ollama.readthedocs.io/api/

API URL请求方式请求参数响应参数API 说明CURL 请求示例
/api/generatePOSTmodel(模型名称)、prompt(提示文本)、可选参数(如 streamsuffix 等)response(生成的文本)、tokens(生成的 token 数量)等生成文本curl http://localhost:11434/api/generate -d '{"model": "llama2", "prompt": "为什么天空是蓝色的?"}'
/api/chatPOSTmodel(模型名称)、messages(消息列表,包含角色和内容)response(回复内容)、tokens(生成的 token 数量)等聊天对话curl http://localhost:11434/api/chat -d '{"model": "llama2", "messages": [{"role": "user", "content": "你好!"}]}'
/api/pullPOSTname(模型名称)、可选参数(如 insecurestream 等)返回拉取进度或模型信息拉取模型curl http://localhost:11434/api/pull -d '{"name": "llama2"}'
/api/deleteDELETEname(模型名称)返回状态码(200 OK404 Not Found删除模型curl -X DELETE http://localhost:11434/api/delete -d '{"name": "llama2"}'
/api/tagsGET返回模型列表获取本地模型列表curl http://localhost:11434/api/tags
/api/showPOSTname(模型名称)、可选参数 verbose(是否返回详细信息)返回模型详细信息,包括 modelfileparameterstemplate查看模型信息curl http://localhost:11434/api/show -d '{"name": "llama2"}'
/api/copyPOSTsource(源模型名称)、destination(目标模型名称)返回状态码(200 OK404 Not Found复制模型curl http://localhost:11434/api/copy -d '{"source": "llama2", "destination": "llama2-backup"}'
/api/createPOSTname(新模型名称)、modelfile(模型文件内容)返回创建状态或错误信息创建自定义模型curl http://localhost:11434/api/create -d '{"name": "llama2-custom", "modelfile": "FROM llama2\nSYSTEM You are a helpful assistant."}'

注意

尽管在本地使用 AI 是一个美好的想象,感觉上是免费使用 AI,还不用担心网络卡顿、数据安全。
但实际上,大部分好用的模型,在消费级的机器上,根本跑不了。
能跑的都是很小规模的模型,效果很差。
所以,使用本地化 AI 的前提,一定是要有足够资源的机器。
我的实验机器,是 14 核 32 G,N卡 4080,8G 显存。
目前本地部署的 AI,勉强能用的就是 llama3.2 和 deepseek-r1:8b 感觉还不错。
其他的模型用起来,效果真的不忍直视。
当然,本地这些模型的使用,我没有专门做测评,如果有专门做了测评的朋友,非常欢迎在此分享!

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

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

相关文章

LQB(0)-python-基础知识

一、Python开发环境与基础知识 python解释器:用于解释python代码 方式: 1.直接安装python解释器 2.安装Anaconda管理python环境 python开发环境:用于编写python代码 1.vscode 2.pycharm # 3.安装Anaconda后可以使用网页版的jupyter n…

C# 中记录(Record)详解

从C#9.0开始,我们有了一个有趣的语法糖:记录(record)   为什么提供记录? 开发过程中,我们往往会创建一些简单的实体,它们仅仅拥有一些简单的属性,可能还有几个简单的方法,比如DTO等等&#xf…

使用 CSS 实现透明效果

在 CSS 中,实现透明效果有几种方法,具体使用哪种方法取决于具体需求。以下是一些常见的方法: 使用 opacity 属性: opacity 属性可以设置整个元素的透明度,包括其所有的子元素。 .transparent { opacity: 0.5; /* 0 表…

C语言:函数栈帧的创建和销毁

目录 1.什么是函数栈帧2.理解函数栈帧能解决什么问题3.函数栈帧的创建和销毁的过程解析3.1 什么是栈3.2 认识相关寄存器和汇编指令3.3 解析函数栈帧的创建和销毁过程3.3.1 准备环境3.3.2 函数的调用堆栈3.3.3 转到反汇编3.3.4 函数栈帧的创建和销毁 1.什么是函数栈帧 在写C语言…

25/2/6 <机器人基础> 运动学中各连杆的变换矩阵求法

变换矩阵 机器人通常包含多个关节和连杆,每个关节和连杆都有自己的局部坐标系。变换矩阵能够将一个点或向量从一个坐标系转换到另一个坐标系,从而实现对机器人各个部件位置和姿态的统一描述 变换矩阵能够将复杂的运动分解为旋转和平移的组合。通过矩阵乘…

AllData数据中台核心菜单十二:数据同步平台

🔥🔥 AllData大数据产品是可定义数据中台,以数据平台为底座,以数据中台为桥梁,以机器学习平台为中层框架,以大模型应用为上游产品,提供全链路数字化解决方案。 ✨奥零数据科技官网:…

【FPGA】 MIPS 12条整数指令 【3】

实现乘除 修改框架 EX:实现带符号乘除法和无符号乘除法 HiLo寄存器:用于存放乘法和除法的运算结果。Hi、Lo为32bit寄存器。电路描述与实现RegFile思想一致 仿真 代码 DataMem.v include "define.v"; module DataMem(input wire clk,input…

文件基础IO

理解"文件" 1-1 狭义理解 文件在磁盘里磁盘是永久性存储介质,因此文件在磁盘上的存储是永久性的磁盘是外设(即是输出设备也是输入设备)磁盘上的文件 本质是对文件的所有操作,都是对外设的输入和输出简称IO 1-2 广义理…

Unity 简易的UI框架

核心内容 UIType.cs namespace MYTOOL.UI {/// <summary>/// UI层级/// </summary>public enum UILayer{/// <summary>/// 主界面层/// </summary>MainUI 0,/// <summary>/// 普通界面层/// </summary>NormalUI 1,/// <summary>/…

VUE2双向绑定的原理

文章目录 VUE2双向绑定的原理1. 什么是双向绑定2. 双向绑定的原理2.1 ViewModel的重要作用2.2 双向绑定的流程 3. 双向绑定的实现3.1 data响应化处理3.2 Compile编译3.3 依赖收集 VUE2双向绑定的原理 1. 什么是双向绑定 讲双向绑定先讲单项绑定&#xff0c;啥叫单项绑定&…

4G核心网的演变与创新:从传统到虚拟化的跨越

4G核心网 随着移动通信技术的不断发展&#xff0c;4G核心网已经经历了从传统的硬件密集型架构到现代化、虚拟化网络架构的重大转型。这一演变不仅提升了网络的灵活性和可扩展性&#xff0c;也为未来的5G、物联网&#xff08;LOT&#xff09;和边缘计算等技术的发展奠定了基础。…

HTML排版标签、语义化标签、块级和行内元素详解

目录 前言 一、HTML中的排版标签 1. 文本相关标签 1.1 标题标签 ~ 1.2 段落标签 1.3 强调和加粗 1.4 换行标签 1.5 水平线标签 二、HTML中的语义化标签 2.1 语义化标签概述 2.2 常见的语义化标签 示例&#xff08;核心代码部分&#xff09;&#xff1a; 三、HTM…

【字节青训营-7】:初探 Kitex 字节微服务框架(使用ETCD进行服务注册与发现)

本文目录 一、Kitex概述二、第一个Kitex应用三、IDL四、服务注册与发现 一、Kitex概述 长话短说&#xff0c;就是字节跳动内部的 Golang 微服务 RPC 框架&#xff0c;具有高性能、强可扩展的特点&#xff0c;在字节内部已广泛使用。 如果对微服务性能有要求&#xff0c;又希望…

【数学】矩阵、向量(内含矩阵乘法C++)

目录 一、前置知识&#xff1a;向量&#xff08;一列或一行的矩阵&#xff09;、矩阵1. 行向量2. 列向量3. 向量其余基本概念4. 矩阵基本概念5. 关于它们的细节 二、运算1. 转置&#xff08;1&#xff09;定义&#xff08;2&#xff09;性质 2. 矩阵&#xff08;向量&#xff0…

浅尝yolo11全程记录1-准备环境+官网模型推理(个人备份)

准备工作&#xff08;虚拟环境、导入项目&#xff09; 安装Anaconda 主要是为了创建和管理虚拟环境&#xff0c;在pycharm里按照项目里的requirments.txt安装依赖的时候&#xff0c;使用虚拟环境会好很多&#xff08;我记得不用Anaconda也可以直接在pycharm的terminal里头创建…

5.攻防世界 fileinclude

进入题目页面如下 提示flag在flag.php ctrlu&#xff0c;查看源码 给出了一段PHP代码&#xff0c;进行代码审计 <?php // 检查是否开启了错误显示功能 if( !ini_get(display_errors) ) {// 如果没有开启&#xff0c;则将错误显示功能设置为开启状态ini_set(display_error…

红包雨项目前端部分

创建项目 pnpm i -g vue/cli vue create red_pakage pnpm i sass sass-locader -D pnpm i --save normalize.css pnpm i --save-dev postcss-px-to-viewportpnpm i vantlatest-v2 -S pnpm i babel-plugin-import -Dhttps://vant.pro/vant/v2/#/zh-CN/<van-button click&…

蓝桥杯嵌入式备赛(三)—— LED +按键 + LCD

目录 一、LED1、原理图介绍2、程序代码 二、按键1、原理图介绍2、程序代码 三、LCD1、原理图介绍2、程序代码 一、LED 1、原理图介绍 如果所示&#xff0c;STM32G431RBT6中有八个LED&#xff0c;由八个GPIO控制&#xff0c;分别为PC8-15&#xff0c;当输出为低电平时点亮。其中…

[Java基础]函数式编程

Lambda函数 JDK8新增的语法形式, 使用Lambda函数替代某些匿名内部类对象&#xff0c;从而让程序代码更简洁&#xff0c;可读性更好。 基本使用 lambda表达式只能简化函数式接口的匿名内部类写法 // 1.定义抽象类 abstract class Animal {public abstract void crt(); }publi…

Vim 多窗口编辑及文件对比

水平分割 :split 默认使用水平分割的方式。 :split :sp 垂直分割 :vsplit :vs 带文件的分割 :split 文件名 :sp 文件名 在光标所在的窗口&#xff0c;输入分割窗口命令就会对那个窗口进行分割。 切换窗口 Ctrlw 切换正在编辑的窗口 快速分割窗口 Ctrlwn 快速分割当前…