当前位置:   article > 正文

基于ollama本地部署自己的大模型_ollama create -f

ollama create -f

由于涉及到一些信息安全等问题,尤其是公司内部文件或者体制内等,想要体验大模型带来的便捷,同时又可以规避掉数据泄漏的风险,这时候就可以考虑将一些大模型基于本地进行部署。这里就首推meta公司开源的ollama框架,可以快速对llm进行本地化部署。Ollama是一个用于在本地计算机上运行大型语言模型(LLMs)的命令行工具。它允许用户下载并本地运行像Llama 3、Code Llama等模型,并支持自定义和创建自己的模型。Ollama是免费开源的项目,支持macOS和Linux操作系统和Windows系统。它还提供了官方的Docker镜像,使用户可以通过Docker容器部署大型语言模型,确保所有与模型的交互都在本地进行,无需将私有数据发送到第三方服务。

官网下载页面:https://ollama.com/download
  • 1

(1)基础使用

一些基本的常见大模型模型可以在https://ollama.com/library 中找到,以中文微调过的 Llama2-Chinese 7B 模型为例,下述命令会下载接近 4GB 的 4-bit 量化模型文件,需要至少 8GB 的内存进行推理,推荐配备 16GB 以流畅运行。

ollama pull llama2-chinese
  • 1

下载完成后,使用 run 命令运行模型,可直接将消息附在命令后,或留空进入对话模式,对话模式内置了几个以斜杠引出的命令:

ollama run llama2-chinese "你是谁"
  • 1

值得一提的是,Ollama 会判别正在运行的硬件并在可行的情况下调用 GPU 加速,不妨在推理时打开活动监视器或任务管理器观察以验证。到此,你已经体验到触手可及的本地大模型了。总结一下ollama常用的基础操作:

1.运行模型 ollama run

2.创建模型 ollama create -f

Modelfile示例:

# 模型来自于哪个基础模型``   ``FROM llama3``# 设置创造力参数,1表示更高的创造性,较低则表示更加连贯``PARAMETER temperature 1``   ``# prompt``SYSTEM """ You are Mario from Super Mario Bros. Answer as Mario, the assistant, only. """
  • 1

3.查看有哪些模型 ollama list

4.删除模型 ollama rm

(2)进阶玩法

若是觉得命令行的形式不够易用,Ollama 有一系列的周边工具可供使用,包含了网页、桌面、终端等交互界面及诸多插件和拓展。之所以 Ollama 能快速形成如此丰富的生态,是因为它自立项之初就有清晰的定位:让更多人以最简单快速的方式在本地把大模型跑起来。于是,Ollama 不是简单地封装 llama.cpp,而是同时将繁多的参数与对应的模型打包放入;Ollama 因此约等于一个简洁的命令行工具和一个稳定的服务端 API。这为下游应用和拓展提供了极大便利。就 Ollama GUI 而言,根据不同偏好,有许多选择:

  • Web 版:Ollama WebUI 具有最接近 ChatGPT 的界面和最丰富的功能特性,需要以 Docker 部署;

  • 终端 TUI 版:oterm 提供了完善的功能和快捷键支持,用 brew 或 pip 安装;

  • 此外,llm-anything或者open-webui以及还有 Swift 编写的 macOS 原生应用 Ollamac、类似于 Notion AI 的 Obsidian Ollama 等有趣应用,可按需选用。

(3)高级玩法

–切换更高级别支持的模型

Ollama 采取了与 Docker 组织镜像相似的方案,使用模型名加上标签的形式( model:tag )来确定具体的模型版本,不加标签时默认为 latest ,通常对应 7B 参数量 4bit 量化版。而如果要运行 13B 版本,就可以使用 13b 标签,此外,还可以换用其他模型。在此,但官方模型库里对中文支持相对较好的不多,比如qwen系列等。

–支持图像

除了纯语言大模型,Ollama 自 0.1.15 版本开始提供支持的视觉模型也值得一玩。将本地图片的路径写在 prompt 里即可(macOS 用户可以直接将图片拖入终端来获得其路径):

% ollama run llava``   ``>>> What does the text in this image say? xx.png` `   ``Added image 'xx.png'``   ``The text in this image says "The Ollamas."
  • 1

–自定义系统提示词

根据 ChatGPT 的使用经验,多数人都已知晓系统提示词的重要性。好的系统提示词能有效地将大模型定制成自己需要的状态。在 Ollama 中,有多种方法可以自定义系统提示词。首先,不少 Ollama 前端已提供系统提示词的配置入口,推荐直接利用其功能。此外,这些前端在底层往往是通过 API 与 Ollama 服务端交互的,我们也可以直接调用,并传入系统提示词选项:

curl http://localhost:11434/api/chat -d '{`  `"model": "llama2-chinese:13b",`  `"messages": [`    `{`      `"role": "system",`      `"content": "以老师的口吻简单作答。"`    `},`    `{`      `"role": "user",`      `"content": "天空为什么是蓝色的?"`    `}`  `],`  `"stream": false``}'
  • 1

其中 role 为 system 的消息即为系统提示词。

–其他设置

Ollama 的 ModelFile 给用户留下了更多自定义的空间,基于ollama modelfile功能,构建自己的ollama模型,modelefile的原理和写法都和Dockerfile类似,除了系统提示词,包括对话模板、模型推理温度、上下文窗口长度等参数均可自行设置,适合进阶使用。在创建前,通过 ollama show --modelfile xx命令可以查看现有模型的 ModelFile 内容作为参考:

对于自定义modelfile可以参考官方链接ollama/docs/modelfile.md at main · ollama/ollama · GitHub,以自定义系统提示词并修改推理温度参数(流畅关联度)为例,应构建如下格式的 ModelFile,下面我会演示如何基于模型的System Message能力,使用ollama modelfile构建以女朋友口吻的一个Chatbot,需注意在Modelfile中是不会区分字母大小写的

FROM llama2-chinese:13b``SYSTEM "以可爱风格和萌萌哒的女朋友口吻作答。"``PARAMETER temperature 0.1
  • 1

然后使用 create 命令进行创建,新的模型会沿用原有模型的权重文件和未作调整的选项参数:

ollama create llama2-chinese-pirate -f ~/path/to/ModelFile
  • 1

这时候你就可以收获一个回答偏可爱萌萌哒风格的大模型了,当然它的性能还是主要依赖你的基准模型,如果想要效果更佳则需要对模型进行finetune,这个会安排在后面章节。

读者福利:如果大家对大模型感兴趣,这套大模型学习资料一定对你有用

对于0基础小白入门:

如果你是零基础小白,想快速入门大模型是可以考虑的。

一方面是学习时间相对较短,学习内容更全面更集中。
二方面是可以根据这些资料规划好学习计划和方向。

包括:大模型学习线路汇总、学习阶段,大模型实战案例,大模型学习视频,人工智能、机器学习、大模型书籍PDF。带你从零基础系统性的学好大模型!

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/人工智能uu/article/detail/859718
推荐阅读
相关标签