LLM@本地语言大模型@Gemma的安装与使用@dockerDesktop的安装和启动

2024-03-01 10:52

本文主要是介绍LLM@本地语言大模型@Gemma的安装与使用@dockerDesktop的安装和启动,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

文章目录

    • 准备
      • refs
      • ollama
      • 安装过程
      • 2b模型的效果小结👺
    • ollama的进一步使用
      • 帮助文档
      • 查看ollama安装了哪些模型
      • 使用皮肤来使聊天更易用
    • 使用Chatbot UI皮肤
      • 安装docker👺
      • 启动docker
      • 载入和退出docker
      • chatbot 网页版皮肤
    • 使用命令行聊天
    • 小结👺

准备

  • 在windows环境下操作,可能要代理改善下载体验

refs

  • 一键部署Google开源大模型Gemma本地大模型部署

ollama

  • GitHub - ollama/ollama: Get up and running with Llama 2, Mistral, Gemma, and other large language models.
  • 安装ollamaOllama
    • 可以安装许多开源大模型,例如llama2等
  • 使用ollama可以一键安装的大模型列表:library (ollama.com)
    • 例如:gemma (ollama.com)

安装过程

  • 安装完ollama,检查是否正确安装:

    • PS BAT [10:21:12 AM] [C:\Users\cxxu\Desktop]
      [🔋 100%] MEM:73.71% [5.79/7.85] GB |ollama --version
      ollama version is 0.1.27
      
  • 开始安装模型(这里使用的电脑没有GUP太low,所以选择用cpu就可以运行的2b模型(20亿参数),对内存要求也不高,我这里只有约8GB内存)

    PS BAT [10:21:17 AM] [C:\Users\cxxu\Desktop]
    [🔋 100%] MEM:71.47% [5.61/7.85] GB |ollama run gemma:2b
    pulling manifest
    pulling c1864a5eb193...   1% ▕                                                        ▏  14 MB/1.7 GB  1.5 MB/s   18m1sPS BAT [10:28:04 AM] [C:\Users\cxxu\Desktop]
    [🔋 100%] MEM:48.33% [3.79/7.85] GB |ollama run gemma:2b
    pulling manifest
    pulling c1864a5eb193... 100% ▕████████████████████████████████████████████████████████▏ 1.7 GB
    pulling 097a36493f71... 100% ▕████████████████████████████████████████████████████████▏ 8.4 KB
    pulling 109037bec39c... 100% ▕████████████████████████████████████████████████████████▏  136 B
    pulling 22a838ceb7fb... 100% ▕████████████████████████████████████████████████████████▏   84 B
    pulling 887433b89a90... 100% ▕████████████████████████████████████████████████████████▏  483 B
    verifying sha256 digest
    writing manifest
    removing any unused layers
    success
    • 模型下载:我这里国内网络下载的挺快的,但是后面5%很慢,不知道为什么(有的可能会遇到下载不下来的情况,考虑切换网络环境或时间段重试,或者需要全局代理(you know))
  • 简单聊两句

    • >>> hello!
      Hello! 👋  It's nice to hear from you. How can I help you today? 😊>>> introduce yourself please😁
      Hey there! It's great to meet you as well! I'm a language AI, and I'm here to assist you with any questions or
      tasks you may have. How can I help you today?
      >>> how do you think about google
      Google is an American multinational technology company that specializes in search engines, software, and other
      services. They are one of the most valuable companies in the world, and their search engine is the most widely
      used in the world.What do you think about Google? Is it a good company to work for? What are your thoughts on their products and
      services?>>> replay it in Chinese anagin!
      谷歌是美國著名的科技公司,致力於搜尋引擎、軟體和其他服務。他們是世界上最具價值的公司之一,他們的搜尋引擎是世界最使用的之一。你對谷歌有什麼看法?谷歌是一個好的公司嗎?你對他們的產品和服務有什麼看法?
      

2b模型的效果小结👺

  • 2b模型不给力,至少中文方面是这样的,不知道7b的如何

  • >>> 鲁迅和周树人的关系?
    鲁迅和周树人之间存在着深厚的友情和敬意之情。鲁迅是周树人 的好友和老师,两人在文学创作、政治活动和社会发展鲁迅和周 树人之间存在着深厚的友情和敬意之情。鲁迅是周树人的好友和 老师,两人在文学创作、政治活动和社会发展方面有着深远的影 响力。**鲁迅对周树人的影响:*** 鲁迅是周树人的文学老师,他对周树人的写作技巧和精神追求 给予了指导。
    * 鲁迅曾写了一首诗,以表彰周树人的对中国文化的贡献,称为“周树人颂”。
    
  • 让它写一段快速排序也是错误的

ollama的进一步使用

帮助文档

  • PS>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 modelpull        Pull a model from a registrypush        Push a model to a registrylist        List 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安装了哪些模型

  • PS>ollama list
    NAME            ID              SIZE    MODIFIED
    gemma:2b        b50d6c999e59    1.7 GB  17 minutes ago
    

使用皮肤来使聊天更易用

  • Community Integrations

  • web&desktop

    • 例如GitHub - ivanfioravanti/chatbot-ollama: Chatbot Ollama is an open source chat UI for Ollama.

使用Chatbot UI皮肤

  • 这里以chatbot为例

安装docker👺

  • 使用docker方案安装UI:

    • 个人感觉docker desktop做的不是很完善
    • 下载最新版Docker Desktop release notes | Docker Docs
    • (主下载页面下载下来的反而不一定是最新版)Docker Desktop: The #1 Containerization Tool for Developers | Docker
  • 安装dockerd的过程启动安装界面比较慢,耐心等待,不要重复点击

    • docker版本更新:如果要安装新版的docker,直接安装可能会被阻止(旧版本的进程可能不容易杀死)
    • 建议更新前注销当前账户(登出windows),或者重启后安装
  • 安装或更新完毕,会要求重启电脑(对于初次安装使用者,先不要重启,看下一节)

启动docker

  • 如果安装时勾选了wsl2代替hyperv,那么重启电脑前执行wsl --update
  • 即重启前请执行wsl --update,否则即便重启后也可能无法启动docker
  • 执行完上述命令后重启
  • 然后以管理员权限运行docker,通常来讲就可成功启动docker

载入和退出docker

  • 进入docker和退出docker都挺耗时的,需要耐心一些(但是一般也不会超过2分钟,否则就可能是出问题了),毕竟是虚拟机操作

  • 在这里插入图片描述

chatbot 网页版皮肤

  • 国内直接安装是不容易下载下来(很慢),用代理的话可以快点,打断后需要重新下载一遍

    PS BAT [12:05:45 PM] [C:\Users\cxxu\Desktop]
    [🔋 100%] MEM:73.05% [5.73/7.85] GB |docker run -p 3000:3000 ghcr.io/ivanfioravanti/chatbot-ollama:main
    Unable to find image 'ghcr.io/ivanfioravanti/chatbot-ollama:main' locally
    main: Pulling from ivanfioravanti/chatbot-ollama
    4abcf2066143: Pull complete
    2f6d6b553e5a: Pull complete
    c6a5f30c1979: Pull complete
    0fff72987922: Pull complete
    eb03cd48595f: Pull complete
    80fa45e7c128: Pull complete
    f3a6b16fbbb9: Pull complete
    ba832799bc4f: Pull complete
    23fd0e505f52: Pull complete
    45892a5fb863: Pull complete
    e5e1e83df1a2: Pull complete
    Digest: sha256:a6bebee38b0359f092eca6cd6bf6cf49e36b9b0e4e28c8376e27d61c96a81e63
    Status: Downloaded newer image for ghcr.io/ivanfioravanti/chatbot-ollama:main> chatbot-ollama@0.1.0 start
    > next start▲ Next.js 14.1.0- Local:        http://localhost:3000✓ Ready in 1610ms
    
  • 可能遇到的报错

    • PS BAT [12:05:27 PM] [C:\Users\cxxu\Desktop]
      [🔋 100%] MEM:72.28% [5.67/7.85] GB |docker run -p 3000:3000 ghcr.io/ivanfioravanti/chatbot-ollama:mainUnable to find image 'ghcr.io/ivanfioravanti/chatbot-ollama:main' locally
      docker: Error response from daemon: Head "https://ghcr.io/v2/ivanfioravanti/chatbot-ollama/manifests/main": net/http: TLS handshake timeout.
      See 'docker run --help'.
      
    • 重试一两次即可,如果仍然不成功,可能是docker没安装好或网络不行

使用命令行聊天

  • 比起使用皮肤聊天,命令行方式少占用点资源,会输出顺畅一些

  • 使用cmd可能要比powershell好点(特别是powershell安装了皮肤,容易导致显示问题)

  • 使用ollama run gemma:2b启动模型,需要若干秒的时间(2b模型太拉了,别较真)

  • PS>ollama run gemma:2b
    >>> 陆地上哪种生物跑 得最快
    陆地上最大的速度是**松鼠**跑得最快,可以达到**90公里每小时**。>>> what's the fastest fish in the sea?
    最快的鱼是**热带鱼**,可以达到**60公里每小时**。>>> the area of China
    中国是世界上拥有最大生物多样性的国家,也是世界上速度最大生物的产地。**松鼠**是世界上速度最快的动物,可以达到**90公里每小时**。
    **热带鱼**是世界上速度第二快的鱼,可以达到**60公里每小时**。
    

小结👺

  • 低配电脑还是不要本地大模型了,配置不够,对话体验相当差(慢且乱),还是老老实实用在线大模型吧

  • 很离谱,下面的对话🤣

  • 在这里插入图片描述

这篇关于LLM@本地语言大模型@Gemma的安装与使用@dockerDesktop的安装和启动的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/762203

相关文章

Python使用getopt处理命令行参数示例解析(最佳实践)

《Python使用getopt处理命令行参数示例解析(最佳实践)》getopt模块是Python标准库中一个简单但强大的命令行参数处理工具,它特别适合那些需要快速实现基本命令行参数解析的场景,或者需要... 目录为什么需要处理命令行参数?getopt模块基础实际应用示例与其他参数处理方式的比较常见问http

C 语言中enum枚举的定义和使用小结

《C语言中enum枚举的定义和使用小结》在C语言里,enum(枚举)是一种用户自定义的数据类型,它能够让你创建一组具名的整数常量,下面我会从定义、使用、特性等方面详细介绍enum,感兴趣的朋友一起看... 目录1、引言2、基本定义3、定义枚举变量4、自定义枚举常量的值5、枚举与switch语句结合使用6、枚

使用Python从PPT文档中提取图片和图片信息(如坐标、宽度和高度等)

《使用Python从PPT文档中提取图片和图片信息(如坐标、宽度和高度等)》PPT是一种高效的信息展示工具,广泛应用于教育、商务和设计等多个领域,PPT文档中常常包含丰富的图片内容,这些图片不仅提升了... 目录一、引言二、环境与工具三、python 提取PPT背景图片3.1 提取幻灯片背景图片3.2 提取

Maven如何手动安装依赖到本地仓库

《Maven如何手动安装依赖到本地仓库》:本文主要介绍Maven如何手动安装依赖到本地仓库问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、下载依赖二、安装 JAR 文件到本地仓库三、验证安装四、在项目中使用该依赖1、注意事项2、额外提示总结一、下载依赖登

使用Python实现图像LBP特征提取的操作方法

《使用Python实现图像LBP特征提取的操作方法》LBP特征叫做局部二值模式,常用于纹理特征提取,并在纹理分类中具有较强的区分能力,本文给大家介绍了如何使用Python实现图像LBP特征提取的操作方... 目录一、LBP特征介绍二、LBP特征描述三、一些改进版本的LBP1.圆形LBP算子2.旋转不变的LB

Maven的使用和配置国内源的保姆级教程

《Maven的使用和配置国内源的保姆级教程》Maven是⼀个项目管理工具,基于POM(ProjectObjectModel,项目对象模型)的概念,Maven可以通过一小段描述信息来管理项目的构建,报告... 目录1. 什么是Maven?2.创建⼀个Maven项目3.Maven 核心功能4.使用Maven H

Python中__init__方法使用的深度解析

《Python中__init__方法使用的深度解析》在Python的面向对象编程(OOP)体系中,__init__方法如同建造房屋时的奠基仪式——它定义了对象诞生时的初始状态,下面我们就来深入了解下_... 目录一、__init__的基因图谱二、初始化过程的魔法时刻继承链中的初始化顺序self参数的奥秘默认

SpringBoot使用GZIP压缩反回数据问题

《SpringBoot使用GZIP压缩反回数据问题》:本文主要介绍SpringBoot使用GZIP压缩反回数据问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录SpringBoot使用GZIP压缩反回数据1、初识gzip2、gzip是什么,可以干什么?3、Spr

Spring Boot 集成 Quartz并使用Cron 表达式实现定时任务

《SpringBoot集成Quartz并使用Cron表达式实现定时任务》本篇文章介绍了如何在SpringBoot中集成Quartz进行定时任务调度,并通过Cron表达式控制任务... 目录前言1. 添加 Quartz 依赖2. 创建 Quartz 任务3. 配置 Quartz 任务调度4. 启动 Sprin

Linux下如何使用C++获取硬件信息

《Linux下如何使用C++获取硬件信息》这篇文章主要为大家详细介绍了如何使用C++实现获取CPU,主板,磁盘,BIOS信息等硬件信息,文中的示例代码讲解详细,感兴趣的小伙伴可以了解下... 目录方法获取CPU信息:读取"/proc/cpuinfo"文件获取磁盘信息:读取"/proc/diskstats"文