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

2024 Ollama 一站式解决在Windows系统安装、使用、定制服务与实战案例

2024 Ollama 一站式解决在Windows系统安装、使用、定制服务与实战案例

文章目录

  • 2024 Ollama 一站式解决在Windows系统安装、使用、定制服务与实战案例
  • 一、前言
    • 1.Ollama介绍
    • 2.支持的操作系统
  • 二、Ollama的安装
    • 1. 方法一:官网渠道安装
    • 2. 方法二:百度网盘下载并安装
  • 三、Ollama的使用
    • 1. 控制台使用
      • (1)拉取并运行模型
      • (2)查询目前ollama已下载的模型
      • (3)查询模型信息
      • (4)删除模型
    • 2. REST API服务使用
      • (1)ollama 服务启动
      • (2)ollama服务使用
    • 3. Python 调用
      • (1)ollama的库和工具
      • (2)ollama-python使用
  • 四、ollama web端

一、前言

各位未来的开发者们请上座,下面教程走完大致需要40分钟就可以让掌握大模型本地化部署与使用。

1.Ollama介绍

Ollama是一个专为在本地环境中运行和定制大型语言模型而设计的工具。它提供了一个简单而高效的接口,用于创建、运行和管理这些模型,同时还提供了一个丰富的预构建模型库,可以轻松集成到各种应用程序中。Ollama的目标是使大型语言模型的部署和交互变得简单,无论是对于开发者还是对于终端用户。

2.支持的操作系统

Ollama支持多种操作系统和Docker,包括但不限于:

  • macOS:适用于所有现代版本的macOS。
  • Windows:支持Windows 10及更高版本。
  • Linux:支持多种Linux发行版,如Ubuntu、Fedora等。
  • Docker:通过Docker容器,Ollama可以在几乎任何支持Docker的环境中运行。

这种广泛的操作系统支持确保了Ollama的可用性和灵活性,使得不同环境下的用户都能轻松使用。当然为了确保文章篇幅不过于臭长,只讲了Windows的部分,其他系统如果想要欢迎在下面留言。

二、Ollama的安装

安装Ollama的步骤相对简单,在这里我主要从两个方法:1、官方路径下载。2、百度网盘下载。方法一可以确保你载的一定是最新的,不过会有一些步骤。方法二则比较便捷。

1. 方法一:官网渠道安装

官方网页:https://ollama.com/download/windows
在这里插入图片描述

  1. 访问官方网站:打开浏览器,访问Ollama的官方网站。

  2. 注册并登录:进入官网后注册并登录

  3. 下载安装包:选择Windows,选择相应的安装包进行下载。

  4. 运行安装程序:下载完成后,运行安装包,按照提示完成安装即可没有什么需要特别注意的。在这里插入图片描述

  5. 验证安装:安装完成后,可以通过命令行输入ollama --version命令来验证是否安装成功。在这里插入图片描述
    注:官方的windows包不是很稳定,没登录载必报错。登录载概率报错。遇到一直这种情况,可以试试更换vpn的服务器。一直解决不了请采用方法二:百度网盘。

2. 方法二:百度网盘下载并安装

通过网盘分享的文件:OllamaSetup.exe
链接: https://pan.baidu.com/share/init?surl=H_gzQ5mQaGxx7cU5f6LPXw?pwd=55kn
提取码: 55kn
后面的第四步与第五步与方法一相同

三、Ollama的使用

1. 控制台使用

(1)拉取并运行模型

ollama run 目标模型:大小

比如:ollama run qwen2:0.5b
比如:ollama run llama3.1
在这里插入图片描述
我怎么知道目标模型有多少B,以及如何查看ollama支持哪些模型怎么安装呢?可以在ollama的models界面找模型,点进去可以看到这个模型的介绍以及有多少种型号:https://ollama.com/library
在这里插入图片描述

(2)查询目前ollama已下载的模型

ollama list

在这里插入图片描述

(3)查询模型信息

ollama show qwen2:0.5b

(4)删除模型

ollama rm qwen2:0.5b

2. REST API服务使用

(1)ollama 服务启动

在浏览器中输入http://localhost:11434
如果看到:Ollama is running
说明Ollama的服务已经自动启动成功,没有发生端口冲突导致的服务自动启动失败。
如果有异常,说端口冲突,(1)杀掉11434端口的进程。(2)修改ollama的服务监听端口。
针对(2)可以临时修改端口并启动服务:

set OLLAMA_HOST=127.0.0.1:11436
ollama serve 

(2)ollama服务使用

复制下面这一段curl指令在cmd中运行

curl http://localhost:11434/api/generate -d "{ \"model\": \"qwen2:0.5b\", \"prompt\": \"Why is the sky blue?\" }"

注1:注意curl的端口与ollama启动的端口对应。
注2:如果返回:{“error”:“model “qwen2:0.5b” not found, try pulling it first”}那是因为删除了,重新运行:ollama run qwen2:0.5b 拉取下载

更多API在文档:https://github.com/ollama/ollama/blob/main/docs/api.md

3. Python 调用

(1)ollama的库和工具

在成功安装olama之后,可以利用它提供的多个库和工具来扩展您的开发工作。ollama主要支持Pyhon和JavaScript两种编程语言的库分别是ollama-pythonollama-js,这两个库使得在相应的语言环境中使用ollama变得更加方便和高效。

(2)ollama-python使用

ollama-python 库提供了一个Python接口来与ollama交互,使得Python开发者可以轻松地在他们的项目中集成和运行大型语言模型。

ollama-python安装

pip install ollama-python

用法

import ollama
response = ollama.chat(model='llama3.1', messages=[{'role': 'user','content': 'Why is the sky blue?',},
])
print(response['message']['content'])

流式处理响应
可以通过设置 来启用响应流式处理,修改函数调用以返回 Python 生成器,其中每个部分都是流中的一个对象。stream=True

import ollamastream = ollama.chat(model='llama3.1',messages=[{'role': 'user', 'content': 'Why is the sky blue?'}],stream=True,
)for chunk in stream:print(chunk['message']['content'], end='', flush=True)

注:更多示例请查看:https://pypi.org/project/ollama/
注:如果报错: raise ResponseError(e.response.text, e.response.status_code) from None
ollama._types.ResponseError,可以把梯子关掉再执行一次看看。

四、ollama web端

docker run -d -p 3000:8080 --add-host=host.docker.internal:host-gateway -v open-webui:/app/backend/data --name open-webui --restart always ghcr.io/open-webui/open-webui:main

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 线性代数:如何由AB=E 推出 BA=AB?
  • 【有来开源组织】开发规范手册
  • 【开端】 进行页面升级或维护时不影响用户体验NGINX配置
  • 影像设备国产替代究竟有多重要?这家企业提前布局8K时代
  • object.defineProperty用法
  • 开放式耳机的优缺点有什么?本文为你讲解推荐一下!
  • encodeURI 确保特殊字符能够正确传输
  • 告别手动记录,音频转文字软件助力会议记录新高度
  • 【Android 设备上的所有相关 WiFi 命令和使用方法】
  • 【架构设计】安全架构设计
  • SpringBoot优雅的封装不同研发环境下(环境隔离)RocketMq自动ack和手动ack
  • Python爬虫—常用的网络爬虫工具推荐
  • 3.服务注册_服务发现
  • 口语笔记——非谓语动词
  • 【代码随想录训练营第42期 Day38打卡 - 动态规划Part6 - LeetCode 322. 零钱兑换 279.完全平方数 139.单词拆分
  • [译]Python中的类属性与实例属性的区别
  • 07.Android之多媒体问题
  • CSS进阶篇--用CSS开启硬件加速来提高网站性能
  • Java 内存分配及垃圾回收机制初探
  • JavaScript中的对象个人分享
  • js继承的实现方法
  • node 版本过低
  • Spring Cloud Alibaba迁移指南(一):一行代码从 Hystrix 迁移到 Sentinel
  • spring-boot List转Page
  • yii2权限控制rbac之rule详细讲解
  • 关于使用markdown的方法(引自CSDN教程)
  • 基于游标的分页接口实现
  • 开源中国专访:Chameleon原理首发,其它跨多端统一框架都是假的?
  • 前端 CSS : 5# 纯 CSS 实现24小时超市
  • 融云开发漫谈:你是否了解Go语言并发编程的第一要义?
  • 使用Maven插件构建SpringBoot项目,生成Docker镜像push到DockerHub上
  • 新手搭建网站的主要流程
  • - 转 Ext2.0 form使用实例
  • Spring Batch JSON 支持
  • 国内开源镜像站点
  • 教程:使用iPhone相机和openCV来完成3D重建(第一部分) ...
  • ​必胜客礼品卡回收多少钱,回收平台哪家好
  • #{} 和 ${}区别
  • #NOIP 2014#day.2 T1 无限网络发射器选址
  • $(function(){})与(function($){....})(jQuery)的区别
  • (3)(3.2) MAVLink2数据包签名(安全)
  • (day18) leetcode 204.计数质数
  • (Matalb回归预测)PSO-BP粒子群算法优化BP神经网络的多维回归预测
  • (webRTC、RecordRTC):navigator.mediaDevices undefined
  • (超详细)语音信号处理之特征提取
  • (欧拉)openEuler系统添加网卡文件配置流程、(欧拉)openEuler系统手动配置ipv6地址流程、(欧拉)openEuler系统网络管理说明
  • (三维重建学习)已有位姿放入colmap和3D Gaussian Splatting训练
  • ***汇编语言 实验16 编写包含多个功能子程序的中断例程
  • .NET 设计模式—适配器模式(Adapter Pattern)
  • .NET/C# 避免调试器不小心提前计算本应延迟计算的值
  • .NET/C# 编译期能确定的字符串会在字符串暂存池中不会被 GC 垃圾回收掉
  • .netcore 6.0/7.0项目迁移至.netcore 8.0 注意事项
  • .NET业务框架的构建
  • /etc/fstab 只读无法修改的解决办法
  • :class的用法及应用