Ollama教程——入门:开启本地大型语言模型开发之旅
  • * 引言
    
    • 安装ollama
    •   * macOS
      
      • Windows预览版
      • Linux
      • Docker
    • ollama的库和工具
    •   * ollama-python
      
      • ollama-js
    • 快速开始
    •   * 运行模型
      
      • 访问模型库
    • 自定义模型
    •   * 从GGUF导入模型
      
      • 自定义提示
    • CLI参考
    •   * 创建模型
      
      • 拉取模型
      • 删除模型
      • 复制模型
      • 多行输入
      • 多模态模型
      • 提示作为参数传入
    • REST API
    •   * 生成响应
      
      • 与模型对话
    • 构建ollama
    •   * 安装依赖
      
      • 生成依赖
      • 构建二进制文件
    • 运行本地构建
    • 总结

![在这里插入图片描述](https://img-
blog.csdnimg.cn/direct/3c4f7d431a50430c982372fadad3dff5.png)

引言

在当今的技术世界里,大型语言模型(Large Language Models,
LLMs)已经成为了不可或缺的工具,它们能够在各种任务上展示出人类级别的性能,从文本生成到代码编写,再到语言翻译。然而,部署和运行这些模型通常需要大量的资源和专业知识,尤其是在本地环境中。这就是ollama登场的地方。

ollama是一个旨在简化大型语言模型本地部署和运行过程的工具。它提供了一个轻量级、易于扩展的框架,让开发者能够在本地机器上轻松构建和管理LLMs。通过ollama,开发者可以访问和运行一系列预构建的模型,或者导入和定制自己的模型,无需关注复杂的底层实现细节。

本文将指导您如何安装ollama,介绍其主要功能,以及如何利用它来探索和利用大型语言模型的强大能力。无论您是希望快速体验LLMs,还是需要在本地环境中深度定制和运行模型,ollama都能提供必要的工具和指南。

安装ollama

ollama的安装过程简单直接,支持包括macOS、Windows、Linux在内的多种操作系统,以及Docker环境,确保了广泛的可用性和灵活性。以下是各平台的安装指南。

macOS

对于macOS用户,ollama提供了一个预打包的zip文件,可以通过以下链接下载:[Download](https://ollama.com/download/Ollama-
darwin.zip)

下载完成后,解压zip文件,并按照包内的说明完成安装。安装过程可能需要您确认安全性和权限设置,以确保软件能够正常运行。

Windows预览版

Windows用户可以通过下面的链接下载安装程序:Download

运行安装程序并遵循屏幕上的指示完成安装。请注意,Windows版本目前处于预览阶段,可能还不如其他平台稳定。

Linux

在Linux上,您可以使用以下命令行方式进行安装:

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

此脚本会自动检测您的系统环境,并安装所需的依赖和ollama本身。如果您希望手动安装,也可以参考手动安装指南

Docker

ollama同样提供了官方Docker镜像,可以通过以下命令拉取:

docker pull ollama/ollama

使用Docker安装ollama,能够确保环境的一致性和隔离性,特别适合在多种环境中进行测试和部署。

ollama的库和工具

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

ollama-python

ollama- python库提供了一个Python接口来与ollama交互,使得Python开发者可以轻松地在他们的项目中集成和运行大型语言模型。安装此库非常简单,只需使用pip命令:

pip install ollama-python

安装后,您可以通过几行简单的代码来运行模型,比如:

import ollama

# 运行Llama 2模型
response = ollama.run('llama2', '你好,世界!')
print(response)
ollama-js

对于JavaScript开发者,ollama-js库同样提供了一个易于使用的接口。您可以通过npm或yarn来安装这个库:

npm install ollama-js
# 或者
yarn add ollama-js

安装完成后,您可以在Node.js项目中直接调用ollama:

const ollama = require('ollama-js');

// 运行Llama 2模型
ollama.run('llama2', 'Hello world!', response => {
  console.log(response);
});

通过这些库,ollama极大地简化了在不同语言项目中使用大型语言模型的过程,不论您是在构建AI驱动的应用,还是仅仅想要在本地测试和学习这些模型,ollama都能提供必要的支持。

快速开始

ollama的快速开始指南将帮助您迅速上手运行大型语言模型。这一部分将指导您如何利用简单的命令行操作来启动和与模型交互。

运行模型

要开始与模型交互,您首先需要选择一个模型来运行。ollama提供了一个丰富的模型库,包括最新的Llama 2模型。运行模型的命令非常直接:

ollama run llama2

这个命令会启动Llama 2模型,之后您就可以与它进行交互了。在命令行中输入您的问题或提示,模型将返回相应的答案。

访问模型库

ollama支持的模型列表可在ollama.com/library上找到。这里列出了所有可用的模型及其详细信息,包括模型的参数数量、大小和下载指令。下面是一些可以直接运行的示例模型:

模型 参数量 大小 下载指令
Llama 2 7B 3.8GB ollama run llama2
Dolphin Phi 2.7B 1.6GB ollama run dolphin-phi
Code Llama 7B 3.8GB ollama run codellama
Llama 2 Uncensored 7B 3.8GB ollama run llama2-uncensored

选择您感兴趣的模型,并使用相应的下载指令即可开始使用。请注意,运行大型模型可能需要较多的内存空间。例如,运行7B参数量的模型至少需要8GB的RAM,而13B参数量的模型则需要16GB的RAM。

自定义模型

ollama不仅支持运行预构建的模型,还提供了灵活的工具来导入和自定义您自己的模型。无论是从GGUF格式导入还是进行模型的个性化设置,ollama都能满足您的需求。

从GGUF导入模型

若您手头有GGUF格式的模型,可以轻松地将其导入到ollama中。首先,您需要创建一个名为Modelfile的文件,并在其中指定要导入的模型路径:

FROM ./your-model.gguf

然后,使用下面的命令来创建模型:

ollama create your-model-name -f Modelfile

最后,通过运行以下命令来启动模型:

ollama run your-model-name
自定义提示

您还可以通过自定义提示来调整模型的行为。首先,拉取您想要定制的模型:

ollama pull llama2

接着,创建一个Modelfile,在其中设置参数和系统消息:

FROM llama2
# 设置创造性更高的温度参数
PARAMETER temperature 1
# 设置系统消息
SYSTEM """
你是超级马里奥,以马里奥的身份回答问题。
"""

之后,创建并运行您的定制模型:

ollama create custom-llama2 -f Modelfile
ollama run custom-llama2

这样,您就能按照自己的需求定制模型了。

CLI参考

ollama提供了一套丰富的命令行界面(CLI)工具,允许用户从命令行管理模型。这些命令涵盖了从创建模型到更新、删除以及运行模型的各个方面。以下是一些核心命令的使用说明。

创建模型

使用ollama create命令可以根据Modelfile创建一个新的模型:

ollama create my-model -f ./Modelfile

这个命令会读取Modelfile中的配置,并创建一个名为my-model的新模型。

拉取模型

要从ollama的模型库中拉取一个模型到本地,可以使用ollama pull命令:

ollama pull llama2

这个命令不仅可以用来下载新的模型,也可以更新本地的模型。如果模型已经存在,ollama pull会仅下载变更的部分。

删除模型

如果需要删除一个本地的模型,可以使用ollama rm命令:

ollama rm my-model

这将从您的本地环境中删除名为my-model的模型。

复制模型

您可以使用ollama cp命令复制一个模型,创建一个新的模型副本:

ollama cp original-model new-model

这将创建一个original-model的副本,并将其命名为new-model

多行输入

对于需要多行输入的情况,您可以使用三个引号"""来包围文本:

ollama run my-model """第一行
第二行
第三行"""
多模态模型

ollama支持多模态模型,允许您处理包括文本和图片在内的多种类型的输入。例如:

ollama run my-multimodal-model "这张图片上是什么? /path/to/image.png"
提示作为参数传入

您还可以将提示直接作为命令行参数传给模型:

ollama run my-model "请总结这个文件:$(cat README.md)"

这将把README.md文件的内容作为提示传给模型。

REST API

除了命令行界面,ollama还提供了REST API,使得您可以通过HTTP请求与模型交互。这对于在Web应用程序中集成ollama尤其有用。

生成响应

要生成模型的响应,您可以发送一个POST请求到/api/generate

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

这将返回模型对于给定提示的回答。

与模型对话

如果您想要与模型进行对话式交互,可以发送请求到/api/chat

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

这将启动一个对话会话,并返回模型的回答。

既然我们已经探讨了ollama的核心功能和操作方法,让我们继续了解如何构建和运行ollama,以及如何从开发者的角度更深入地利用它。

构建ollama

构建ollama允许您参与到其开发中,定制特定的功能或对现有代码进行改进。以下是构建ollama的基本步骤。

安装依赖

构建ollama之前,您需要确保系统中安装了必要的依赖。对于大多数用户,这意味着需要安装cmakego。例如,在macOS上,您可以使用Homebrew来安装这些依赖:

brew install cmake go

在其他操作系统上,您可能需要使用不同的包管理器来安装cmakego

生成依赖

安装好必要的软件后,下一步是生成ollama的依赖项。这可以通过执行以下命令完成:

go generate ./...

这个命令会处理ollama项目中的所有必要的预生成步骤,确保后续的构建过程可以顺利进行。

构建二进制文件

完成依赖生成后,您就可以构建ollama的二进制文件了。构建过程同样简单,只需执行以下命令:

go build .

这将编译ollama的源代码,生成一个可执行的二进制文件。这个文件可以用来直接运行ollama,或者进行进一步的测试和开发。

更详细的构建指南和开发者文档可以在ollama的GitHub页面上找到。

运行本地构建

构建完成后,您就可以开始运行ollama了。首先,启动ollama的服务器:

./ollama serve

这个命令会启动ollama的后台服务,监听指定的端口,等待接收和处理请求。

然后,在另一个终端窗口,您可以运行一个模型,比如:

./ollama run llama2

这将使用您本地构建的ollama版本来运行Llama 2模型,您可以像使用发布版本的ollama一样与它进行交互。

总结

ollama提供了一个强大而灵活的平台,允许开发者在本地环境中轻松地部署和运行大型语言模型。无论您是希望快速体验这些模型的能力,还是需要深度定制和开发,ollama都能满足您的需求。通过上述的指南,您应该已经对如何使用ollama有了较为全面的了解,可以开始您的探索和开发之旅了。

👉AI大模型学习路线汇总👈

大模型学习路线图,整体分为7个大的阶段:(全套教程文末领取哈)

第一阶段: 从大模型系统设计入手,讲解大模型的主要方法;

第二阶段: 在通过大模型提示词工程从Prompts角度入手更好发挥模型的作用;

第三阶段: 大模型平台应用开发借助阿里云PAI平台构建电商领域虚拟试衣系统;

第四阶段: 大模型知识库应用开发以LangChain框架为例,构建物流行业咨询智能问答系统;

第五阶段: 大模型微调开发借助以大健康、新零售、新媒体领域构建适合当前领域大模型;

第六阶段: 以SD多模态大模型为主,搭建了文生图小程序案例;

第七阶段: 以大模型平台应用与开发为主,通过星火大模型,文心大模型等成熟大模型构建大模型行业应用。

👉大模型实战案例👈

光学理论是没用的,要学会跟着一起做,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。

在这里插入图片描述

👉大模型视频和PDF合集👈

观看零基础学习书籍和视频,看书籍和视频学习是最快捷也是最有效果的方式,跟着视频中老师的思路,从基础到深入,还是很容易入门的。
在这里插入图片描述
在这里插入图片描述

👉学会后的收获:👈

• 基于大模型全栈工程实现(前端、后端、产品经理、设计、数据分析等),通过这门课可获得不同能力;

• 能够利用大模型解决相关实际项目需求: 大数据时代,越来越多的企业和机构需要处理海量数据,利用大模型技术可以更好地处理这些数据,提高数据分析和决策的准确性。因此,掌握大模型应用开发技能,可以让程序员更好地应对实际项目需求;

• 基于大模型和企业数据AI应用开发,实现大模型理论、掌握GPU算力、硬件、LangChain开发框架和项目实战技能, 学会Fine-tuning垂直训练大模型(数据准备、数据蒸馏、大模型部署)一站式掌握;

• 能够完成时下热门大模型垂直领域模型训练能力,提高程序员的编码能力: 大模型应用开发需要掌握机器学习算法、深度学习框架等技术,这些技术的掌握可以提高程序员的编码能力和分析能力,让程序员更加熟练地编写高质量的代码。

👉获取方式:

😝有需要的小伙伴,可以保存图片到wx扫描二v码免费领取【保证100%免费】🆓

在这里插入图片描述

Logo

技术共进,成长同行——讯飞AI开发者社区

更多推荐