使用Ollama在本地运行AI大模型gemma

1.下载:

https://github.com/ollama/ollama/releases

2.配置环境变量

我的电脑-右键-属性-系统-高级系统设置-环境变量-【系统环境变量】新建

变量名:OLLAMA_MODELS (固定变量名)
变量值:E:\Ollama\Lib (写自己要存放的路径)

先配置好这个变量,这个是ollama的存储路径。
不配置也可以,不配置的话就会放到默认位置,建议还是修改下存储路径,方便后续使用。
在这里插入图片描述

3.安装

直接install即可。
安装完成后,cmd查询下:ollama --version
如果查询不到,重启下电脑即可。
我这里是因为我直接把ollama给关了,所以出现了警告,不过也同样可以看到ollama客户端的版本。
在这里插入图片描述
ollama的其他命令可以通过ollama help来获取
在这里插入图片描述

4.下载模型

  • 谷歌最新开源gemma:

    • 最低条件:
      2B版本需要2G显存
      7B版本需要4G显存
      7B的其他版本需要更大
  • 打开命令提示符窗口下载运行模型:

    • 访问:https://ollama.com/library选择自己想要的模型,复制下载命令即可.

    • 这里选择拉取gemma7b版本来试试:ollama run gemma:7b

    • 全量版模型拉取运行命令
      ollama run gemma:2b-instruct-fp16
      ollama run gemma:7b-instruct-fp16

  • ollama命令:

    • 查看已有模型:ollama list
  • 下载完成后即在运行
    在这里插入图片描述

  • 接下来可以直接在命令行窗口进行问答
    在这里插入图片描述

  • 拉取的模型可以在存储目录blobs下看到
    在这里插入图片描述

5.整合界面UI

  • Ollama WebUI、open-webui等。
    需要在docker环境中运行,windows本地docker已经被我搞掉了,只有虚拟机里面才有docker环境。
    虚拟机占用内存,破电脑性能一般般,不打算搞了。这个搞起来也还好,就是拉下镜像运行容器就行了。
  • JAN AI:https://jan.ai/ 下载windows版本客户端(开源的)
    1)下载安装后修改下数据存储路径(随便要不要改),修改完重启即可。
    在这里插入图片描述

2)修改ai模型源:
E:\Ollama\JANAI\engines\openai.json
(上一步中的数据存储路径下,找到engines\openai.json进行修改)

{"full_url": "http://localhost:11434/v1/chat/completions"
}

在这里插入图片描述

3)添加模型配置:记得把里面的注释去掉。
E:\Ollama\JANAI\models\底下创建一个文件夹mine-gemma-7b(名字随便,我把models底下其他的文件夹都挪走备份了,方便管理而已)然后在底下创建个model.json文件
在这里插入图片描述

{"sources": [{"filename": "gemma:7b", # 模型名称"url": "https://ollama.com/library/gemma:7b" # 模型url}],"id": "gemma:7b", #模型ID"object": "model","name": "mine-gemma:7b",  #显示在jan中模型名称,随便写不影响"version": "1.0","description": "ollama本地gemma:7b", #随便写不影响"format": "api","settings": {},"parameters": {},"metadata": {"author": "Meta","tags": ["General","Big Context Length"]},"engine": "openai", # 需要配置"state":"ready" # 需要配置
}

在这里插入图片描述
上述配置弄完之后重启下jan,然后再hub中就可以看到自己加的模型了,点击use即可使用
在这里插入图片描述
断网状态下是可以使用的。
在这里插入图片描述

  • chatbox : https://chatboxai.app/zh 下载windows客户端
    直接安装完按照下图选中相应模型就可以使用了。
    都是自动加载的,如果对界面没啥要求的,推荐直接用chatbox就可以了,啥都不用整就可以用了。
    在这里插入图片描述

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

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

相关文章

iOS 开发中上传 IPA 文件的方法(无需 Mac 电脑)

引言 在 iOS 开发中,将 IPA 文件上传到苹果开发者中心是一个重要的步骤。通常情况下,我们需要使用 Mac 电脑上的 Xcode 或 Application Loader 工具来完成这个任务。然而,如果你没有 Mac 电脑,也没有关系,本文将介绍一…

Linux系统部署搭建AI私人知识库助手教程

前言 本篇文章教你如何搭建本地的私有大语言模型,和向量画数据库,实现一个本地的私有AI知识问答客服系统。需要用到的技术是开源项目由docker,fastgpt、one-api,开源LLM大模型,vllm或者ollama。 docker 是一款开源的应用容器引擎,用来快速构建服务。fastgpt 基于LLM大模型…

express里面的鉴权及express-session中间件的使用总结

了解 HTTP 协议的无状态性是进一步学习 Session 认证机制的必要前提。http 协议的无状态性,指的是客户端的每次 http 请求都是独立的,连续多个请求之间没有直接的关系,服务器不会主动保留每次 http 请求的状态。 什么是 Cookie Cookie 是存储…

如何在CentOS安装Nexus容器无公网IP远程管理本地仓库

文章目录 1. Docker安装Nexus2. 本地访问Nexus3. Linux安装Cpolar4. 配置Nexus界面公网地址5. 远程访问 Nexus界面6. 固定Nexus公网地址7. 固定地址访问Nexus Nexus是一个仓库管理工具,用于管理和组织软件构建过程中的依赖项和构件。它与Maven密切相关,可…

LeetCode-394. 字符串解码【栈 递归 字符串】

LeetCode-394. 字符串解码【栈 递归 字符串】 题目描述:解题思路一:辅助栈法解题思路二:递归法解题思路三:0 题目描述: 给定一个经过编码的字符串,返回它解码后的字符串。 编码规则为: k[encoded_string]…

Golang 为什么需要用反射

本质上是可以动态获取程序运行时的变量(类型) 比如现在我想实现一个通用的db插入函数,支持我传入所有类型的struct,每一种类型的struct是一个单独的表,以struct的名称作为表名,然后插入到不同的表中。 pa…

ios swift5 “Sign in with Apple“(使用苹果登录)怎样接入(第三方登录)集成AppleID登录

文章目录 截图1.在开发者网站的app id中添加Sign in with Apple功能2.在Xcode中添加Sign in with Apple功能3.代码:只有第一次登录的时候可以获取到用户名参考博客chatGPT答案 截图 1.在开发者网站的app id中添加Sign in with Apple功能 1.1 如果你新建app id,记得在…

Spring事务简介,事务角色,事务属性

1.Spring事务简介 事务作用:在数据层保障一系列的数据库操作同成功同失败Spring事务作用:在数据层或业务层保障一系列的数据操作同成功同失败 public interface PlatformTransactionManager{void commit(TransactionStatus status) throws TransactionE…

Qt 翻译工具:使用 tr() 函数实现多语言支持

引言 在开发跨平台应用程序时,支持多语言是一个常见需求。Qt 提供了一套完整的国际化工具,帮助开发者轻松实现应用程序的本地化。本文将介绍如何在 Qt 中使用 tr() 函数进行翻译,并总结一些常见的困难和解决方法。 使用 tr() 函数进行翻译 …

CSS中的类命名

CSS类名在开发中一般都是简单的命名一下,例如 nav、title、menu 等等,但是这也带来了问题,出现命名冲突的时候不知道是哪里引起的,加上 CSS 本身权重的问题就更加棘手。如果是小项目,代码不多、开发人员较少还可以控制…

plasmo开发浏览器插件动态setIcon修改插件图标和setBadgeText显示徽标

动态修改图标和设置徽标主要用到action这个api,官网地址:https://developer.chrome.com/docs/extensions/reference/api/action?hlzh-cn#method-setIcon 如果你使用官方原生的方式开发,加载和修改图标应该是比较简单的,但是如果…

2024.4.7力扣每日一题——王位继承顺序

2024.4.7 题目来源我的题解方法一 哈希表多叉树的前序遍历 题目来源 力扣每日一题;题序:1600 我的题解 方法一 哈希表多叉树的前序遍历 发现继承顺序的生成与多叉树的前序遍历一致,只需要在遍历过程中将已经去世的给排除就可以了。 如何存…

Ubuntu系统中,使用`nohup`命令启动Java程序。nohup参数说明、验证启动、停止程序详细教程

在Ubuntu系统中,使用nohup命令启动Java程序可以实现在后台运行程序,即使终端关闭或用户注销,程序也会继续运行。以下是使用nohup启动Java程序的步骤: 打开终端。 进入到你的Java程序所在的目录,或者确保JAVA_HOME环境…

valgrind 是个啥?

最近在看PG代码时,看到许多VALGRIND相关的宏,例如 VALGRIND_MAKE_MEM_DEFINED、 VALGRIND_MAKE_MEM_NOACCESS,特别是移植PG的某模块到OG时,由于OG中没有定义这些宏,遇到这些宏,一开始我也不知道该怎么办了。…

C语言面试题之合并排序的数组

合并排序的数组 实例要求 1、给定两个排序后的数组 A 和 B,其中 A 的末端有足够的缓冲空间容纳 B; 2、编写一个方法,将 B 合并入 A 并排序; 3、初始化 A 和 B 的元素数量分别为 m 和 n; 示例: 输入: A [1,2,3,0…

小剧场短剧剧集收费短剧小程序APP

1. 内容展现 付费、免费、任务解锁:用户可以通过付费直接观看短剧,也可以通过完成平台任务(如签到、分享等)获得免费观看的机会。这种灵活的解锁方式既满足了用户的多种需求,也促进了平台的活跃度。主流展现形式&…

蓝桥杯简单模板

目录 最大公约数 两个数的最大公约数 多个数的最大公约数 最小公倍数 两个数的最小公倍数 多个数的最小公倍数 素数 ​编辑 位数分离 正写 ​编辑 反写 闰年 最大公约数 两个数的最大公约数 之前看见的是辗转相除法,例如现在让算一个49,21…

libVLC 提取视频帧使用OpenGL渲染

在上一节中,我们讲解了如何使用QWidget渲染每一帧视频数据。 由于我们不停的生成的是QImage对象,因此对 CPU 负荷较高。其实在绘制这块我们可以使用 OpenGL去绘制,利用 GPU 减轻 CPU 计算负荷,本节讲解使用OpenGL来绘制每一帧视频…

Leetcode面试经典150_Q169多数元素

题目: 给定一个大小为 n 的数组 nums ,返回其中的多数元素。多数元素是指在数组中出现次数 大于 ⌊n/2⌋ 的元素。 你可以假设数组是非空的,并且给定的数组总是存在多数元素。 解题思路: 1. 注意“大于 ⌊n/2⌋”,…

【每日一题】2529. 正整数和负整数的最大计数-2024.4.9

题目: 2529. 正整数和负整数的最大计数 给你一个按 非递减顺序 排列的数组 nums ,返回正整数数目和负整数数目中的最大值。 换句话讲,如果 nums 中正整数的数目是 pos ,而负整数的数目是 neg ,返回 pos 和 neg二者中…