Ollama 在本地快速部署大型语言模型,可进行定制并创建属于您自己的模型

ollama
# Ollama 在本地快速部署并运行大型语言模型。

macOS

点击下载

Windows 预览版

点击下载

Linux

curl -fsSL https://ollama.com/install.sh | sh

手动安装指南

Docker

官方的 Ollama Docker 镜像 ollama/ollama 已经在 Docker Hub 上发布。

  • ollama-python
  • ollama-js

快速开始

启动服务

刚安装完成时,默认时开启的,如果停止后请执行,下面命令开启:

 service ollama start

停止服务

在Linux环境下,如果"ollama"是一个后台运行的服务,可以通过以下类似命令来停止:

service ollama stop

运行模型

要运行并与 Llama 2 进行交互:

ollama run llama2

模型库

Ollama 支持一系列可在 ollama.com/library 查找的语言模型列表。

以下是一些可下载的示例模型:

模型名称参数数量大小下载命令
Llama 270亿3.8GBollama run llama2
Mistral70亿4.1GBollama run mistral
Dolphin Phi27亿1.6GBollama run dolphin-phi
Phi-227亿1.7GBollama run phi
Neural Chat70亿4.1GBollama run neural-chat
Starling70亿4.1GBollama run starling-lm
Code Llama70亿3.8GBollama run codellama
Llama 2 无限制版70亿3.8GBollama run llama2-uncensored
Llama 2 130亿参数版130亿7.3GBollama run llama2:13b
Llama 2 700亿参数版700亿39GBollama run llama2:70b
Orca Mini30亿1.9GBollama run orca-mini
Vicuna70亿3.8GBollama run vicuna
LLaVA70亿4.5GBollama run llava
Gemma20亿1.4GBollama run gemma:2b
Gemma70亿4.8GBollama run gemma:7b

注意:运行 70亿参数模型至少需要 8 GB 内存,运行 130亿参数模型需要 16 GB 内存,而运行 330亿参数模型则需要 32 GB 内存。

自定义模型

从GGUF导入模型

Ollama支持从GGUF导入模型至Modelfile中:

  1. 创建一个名为Modelfile的文件,其中包含一个FROM指令,指定要导入的本地模型文件路径。

    FROM ./vicuna-33b.Q4_0.gguf
    
  2. 在Ollama中创建模型

    ollama create example -f Modelfile
    
  3. 运行模型

    ollama run example
    

从PyTorch或Safetensors导入

有关导入模型的更多信息,请参阅导入指南。

自定义提示

可以从Ollama库中自定义带有提示的模型。例如,要自定义llama2模型:

ollama pull llama2

创建一个Modelfile

FROM llama2# 设置温度为1 [数值越高创造力越强,数值越低连贯性越好]
PARAMETER temperature 1# 设置系统消息
SYSTEM """
您是来自《超级马里奥兄弟》的马里奥。请以马里奥助手的身份作答。
"""

接下来,创建并运行模型:

ollama create mario -f ./Modelfile
ollama run mario
>>> hi
你好!我是你的朋友马里奥。

更多示例请查看示例目录。有关如何使用Modelfile的更多详细信息,请参阅Modelfile文档。

CLI参考文献


翻译摘要

Ollama工具支持导入GGUF格式的模型,流程如下:

  1. Modelfile文件中通过FROM语句指定本地模型文件路径进行导入。
  2. 利用Ollama创建导入模型实例。
  3. 运行创建好的模型实例。

对于从PyTorch或Safetensors导入模型,请参照相关导入指南。

Ollama还允许用户自定义模型的提示内容,例如针对llama2模型的定制:

  1. 先拉取llama2模型。
  2. 创建一个Modelfile文件,设置参数如温度,并提供系统消息(即提示文本)。
  3. 根据Modelfile文件创建并运行自定义模型实例。

更多例子可在示例目录中查看,有关Modelfile的详细使用说明请参阅Modelfile文档部分。

创建模型

使用ollama create命令基于Modelfile创建模型。

ollama create 我的模型 -f ./Modelfile

下载模型

ollama pull llama2

此命令也可用于更新本地模型。只会拉取差异部分。

删除模型

ollama rm llama2

复制模型

ollama cp llama2 我的-llama2

多行输入

对于多行输入,可以使用 """ 包裹文本:

>>> """
... 你好,
... 世界!
... """
我是一个基础程序,会在控制台上打印著名的"你好,世界!"消息。

多模态模型

>>> 这张图片里面是什么?/Users/jmorgan/Desktop/smile.png
图片中有一个黄色笑脸,很可能是图片的焦点所在。

将提示作为参数传递

$ ollama run llama2 "总结这个文件:$(cat README.md)"Ollama是一款轻量级、可扩展的框架,用于在本地机器上构建和运行语言模型。它提供了一个简单的API,用于创建、运行和管理模型,同时也提供了一系列预建模型库,这些模型可在多种应用中轻松使用。

列出计算机上的模型

ollama list

启动Ollama服务

当你不想运行桌面应用程序而直接启动Ollama时,使用ollama serve命令。

构建过程

安装cmakego开发工具:

brew install cmake go

然后生成依赖项:

go generate ./...

接着编译二进制文件:

go build .

更详细的构建指南可以在开发者指南中找到。

运行本地构建

接下来启动服务器:

./ollama serve

最后,在另一个终端窗口中运行模型:

./ollama run llama2

REST API

Ollama提供了一个用于运行和管理模型的REST API。

默认启动的11434端口,但是只能本机访问。如果需要设置外网访问,修改修改服务配置

修改文件 /etc/systemd/system/ollama.service

[Unit]
Description=Ollama Service
After=network-online.target[Service]
ExecStart=/usr/local/bin/ollama serve
User=ollama
Group=ollama
Restart=always
RestartSec=3
Environment="OLLAMA_HOST=0.0.0.0"
Environment="PATH=/home/dtjk/bin:/home/dtjk/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin:/home/dtjk/.dotnet/tools:/home/dtjk/.dotnet/tools"[Install]
WantedBy=default.target
  • 文件内添加 Environment=“OLLAMA_HOST=0.0.0.0” 保存

更新配置命令

sudo systemctl daemon-reload
sudo service ollama restart   

生成响应

curl http://localhost:11434/api/generate -d '{"model": "llama2","prompt": "为什么天空是蓝色的?"
}'

与模型聊天

curl http://localhost:11434/api/chat -d '{"model": "mistral","messages": [{ "role": "user", "content": "为什么天空是蓝色的?" }]
}'

有关所有端点的详细信息,请查阅API文档。

社区集成

网页与桌面应用集成

  • Bionic GPT
  • Enchanted (macOS native)
  • HTML UI
  • Chatbot UI
  • Typescript UI
  • Minimalistic React UI for Ollama Models
  • Open WebUI
  • Ollamac
  • big-AGI
  • Cheshire Cat assistant framework
  • Amica
  • chatd
  • Ollama-SwiftUI
  • MindMac
  • NextJS Web Interface for Ollama
  • Msty
  • Chatbox
  • WinForm Ollama Copilot
  • NextChat with Get Started Doc
  • Odin Runes
  • LLM-X: Progressive Web App

终端

  • oterm
  • Ellama Emacs client
  • Emacs client
  • gen.nvim
  • ollama.nvim
  • ollama-chat.nvim
  • ogpt.nvim
  • gptel Emacs client
  • Oatmeal
  • cmdh
  • tenere
  • llm-ollama for Datasette’s LLM CLI.
  • ShellOracle

数据库

  • MindsDB

包管理

  • Pacman
  • Helm Chart

  • LangChain and LangChain.js with example
  • LangChainGo with example
  • LangChain4j with example
  • LlamaIndex
  • LangChain4j
  • LiteLLM
  • OllamaSharp for .NET
  • Ollama for Ruby
  • Ollama-rs for Rust
  • Ollama4j for Java
  • ModelFusion Typescript Library
  • OllamaKit for Swift
  • Ollama for Dart
  • Ollama for Laravel
  • LangChainDart
  • Semantic Kernel - Python
  • Haystack
  • Elixir LangChain
  • Ollama for R - rollama
  • Ollama-ex for Elixir
  • Ollama Connector for SAP ABAP

移动

  • Enchanted
  • Maid

扩展和插件

  • Raycast extension
  • Discollama (Discord bot inside the Ollama discord channel)
  • Continue
  • Obsidian Ollama plugin
  • Logseq Ollama plugin
  • NotesOllama (Apple Notes Ollama plugin)
  • Dagger Chatbot
  • Discord AI Bot
  • Ollama Telegram Bot
  • Hass Ollama Conversation
  • Rivet plugin
  • Llama Coder (Copilot alternative using Ollama)
  • Obsidian BMO Chatbot plugin
  • Copilot for Obsidian plugin
  • Obsidian Local GPT plugin
  • Open Interpreter
  • twinny (Copilot and Copilot chat alternative using Ollama)
  • Wingman-AI (Copilot code and chat alternative using Ollama and HuggingFace)
  • Page Assist (Chrome Extension)

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

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

相关文章

超详细测试项目——Web电商项目测试点整理.....

虽然说近些年来,软件测试找工作的时候,简历中如果写着电商项目被认为是烂大街的项目,甚至受到根本不了解行情的HR或者部分公司的技术人员的刁难,但是:电商这么流行普遍的项目和应用,这不是很正常么&#xf…

阿里云2核4G云服务器165元一年,ECS u1优惠价格199元一年

阿里云2核4G服务器租用优惠价格,轻量2核4G服务器165元一年、u1服务器2核4G5M带宽199元一年、云服务器e实例30元3个月,活动链接 aliyunfuwuqi.com/go/aliyun 活动链接如下图: 阿里云2核4G服务器优惠价格 轻量应用服务器2核2G4M带宽、60GB高效…

浅谈数据治理之道 数据采集(二)

数据采集是数据治理过程中的一个非常关键和重要地环节,不仅关系到数据的及时性、准确性、完整性和有效性等,还涉及到数据的安全和隐私。其次,涉及到从各种数据源获取原始数据,并将其转换为适合进一步处理和分析的格式。今天 咱们就…

如何从小白,到掌握Python

作为前端开发人员想要掌握Python编程语言,以下是一个学习路径建议: ### 初级阶段: 1. **学习Python基础:** - 学习Python的基本语法、数据类型、流程控制等基础知识。 - 可以通过在线教程、书籍或视频课程来学习&#xff…

Android单片机硬件通信《GPIO通信》

一、什么是GPIO? GPIO(英语:General-purpose input/output),通用型输入输出端口,在单片机上一般是通过一个GND引脚和若干个io引脚配合工作。 单片机可以配置GPIO输入输出模式,与外界环境进行通信交互。在输入环境下&…

网络传输(3):TFTP客户端使用

1. 简要说明 在前面的文章中已经讲述了如何安装TFTP客户端和TFTP服务器。其中: tftp-hpa为客户端 tftpd-hpa为服务器。 2. 启动TFTP服务器 我们在设置好相关的TFTP根路径,运行模式以后,可以通过如下指令重启TFTP服务器,使设置生…

【Node.js】events

EventEmitter 像是 Vue2 的event bus,或者Vue3 的 mitt。主要采用了发布订阅模式来处理事件。 const EventEmitter require(events);const event new EventEmitter() // 监听(订阅)事件 event.on(test,(data)>{console.log(data) })event.emit(test,testtt) /…

Visual Studio 2013 - 高亮设置突出显示的引用

Visual Studio 2013 - 高亮设置突出显示的引用 1. 高亮设置 突出显示的引用References 1. 高亮设置 突出显示的引用 工具 -> 选项… -> 环境 -> 字体和颜色 References [1] Yongqiang Cheng, https://yongqiang.blog.csdn.net/

Flutter 事件传递简单概述、事件冒泡、事件穿透

前言 当前案例 Flutter SDK版本:3.13.2 本文对 事件传递只做 简单概述,主要讲解,事件传递过程中可能遇到的问题解决,比如 事件冒泡、事件穿透; 不是我偷懒,是自认为没有这几位写的详细、仔细&#xff0c…

xss漏洞总结

学了好久的漏洞,现在来做个小总结。 目录 一、xss简要概述 二、同源策略 三、主要危害 四、存在的场景 五、攻击类型 反射型、储存型、DOM型 六、绕过技巧 七、payload标签 八、防御 一、xss简要概述 概述: xxs全称:跨站脚本(cr…

乐优商城(九)数据同步RabbitMQ

1. 项目问题分析 现在项目中有三个独立的微服务: 商品微服务:原始数据保存在 MySQL 中,从 MySQL 中增删改查商品数据。搜索微服务:原始数据保存在 ES 的索引库中,从 ES 中查询商品数据。商品详情微服务:做…

【力扣hot100】128.最长连续序列

给定一个未排序的整数数组 nums ,找出数字连续的最长序列(不要求序列元素在原数组中连续)的长度。 请你设计并实现时间复杂度为 O(n) 的算法解决此问题。 示例 1: 输入:nums [100,4,200,1,3,2] 输出:4 解…

JavaSE:类与对象

目录 一、前言 二、类与对象的介绍 1.类的定义格式 三、类的实例化 1.类的实例化介绍 2.成员初始化 3.类中方法的实现 四、封装 1.private实现封装 2.getter和setter方法 五、构造方法的使用 1.构造方法的介绍 2.构造方法的特性 六、this引用 1.this的介绍 2.th…

win10在更新黑屏(火绒查杀explorer.exe)屏幕只有鼠标

win10在更新黑屏(火绒查杀explorer.exe)屏幕只有鼠标 黑屏产生的原因修机过程方法1方法2方法3方法4总结 黑屏产生的原因 微软在Win10系统的最近更新中,为了和360抢夺搜索框的资源,微软进行特定的代码判断,如果在中国地…

rfc793-page36

rfc793原文 If the connection is in any non-synchronized state (LISTEN,SYN-SENT, SYN-RECEIVED), and the incoming segment acknowledgessomething not yet sent (the segment carries an unacceptable ACK), orif an incoming segment has a security level or compart…

jQuery详细教程

文章目录 前言一、安装与快速上手二、直接寻找标签1.ID选择器2.类选择器/样式选择器3.标签选择器4.层级选择器5.多选择器6.属性选择器 三、间接寻找标签1.找兄弟2.找父子 四、值操作五、事件六、样式操作 前言 jQuery是一个快速、简洁的JavaScript框架,是继Prototyp…

樊登读书-《终生成长》【视频笔记 +个人思考】

樊登读书-《终生成长》【视频笔记 个人思考】 成长型思维:能力可以通过努力来培养。 不急于证明。 情绪稳定。 不怕挫败。 不讲排场,这才哪儿到哪儿,这个世界有那么多东西需要去探索和学习。 不怕丢脸,说错了被嘲笑没关系&…

2024年华为OD机试真题-剩余银饰的重量-Python-OD统一考试(C卷)

题目描述: 有N块二手市场收集的银饰,每块银饰的重量都是正整数,收集到的银饰会被熔化用于打造新的饰品。 每一回合,从中选出三块 最重的 银饰,然后一起熔掉。假设银饰的重量分别为 x 、y和z,且 x <= y <= z。那么熔掉的可能结果如下: 如果 x == y == z,那么三块银…

基于树莓派实现 --- 智能家居

最效果展示 演示视频链接&#xff1a;基于树莓派实现的智能家居_哔哩哔哩_bilibilihttps://www.bilibili.com/video/BV1Tr421n7BM/?spm_id_from333.999.0.0 &#xff08;PS&#xff1a;房屋模型的搭建是靠纸板箱和淘宝买的家居模型&#xff0c;户型参考了留学时短租的公寓~&a…

【prompt六】MaPLe: Multi-modal Prompt Learning

1.motivation 最近的CLIP适应方法学习提示作为文本输入,以微调下游任务的CLIP。使用提示来适应CLIP(语言或视觉)的单个分支中的表示是次优的,因为它不允许在下游任务上动态调整两个表示空间的灵活性。在这项工作中,我们提出了针对视觉和语言分支的多模态提示学习(MaPLe),以…