想象一下,只需一条简单的命令,你就能在本地运行最前沿的开源大型语言模型,像Llama 2这样的模型再也不需要复杂的配置和部署。这一切,Ollama帮你搞定

一.功能介绍

Ollama是一款开源的大型语言模型服务工具,专为简化和优化在本地运行大型语言模型而设计。它将模型权重、配置和数据捆绑到一个包中,称之为Modelfile。这样,用户无需手动设置和调整模型的细节,只需简单配置即可高效运行。Ollama还针对GPU的使用进行了优化,确保模型运行时的性能最大化。

轻量级

Ollama的代码设计简洁明了,运行时占用的资源非常少。这意味着你不需要昂贵的硬件设备或大量的计算资源,就能在本地高效地运行大型语言模型。更值得一提的是,Ollama支持热加载模型文件,这意味着你可以在不中断当前运行的情况下,随时切换不同的模型,这为实验和开发带来了极大的便利。

易用性

Ollama的安装过程非常简单,提供了多种安装方式,支持Mac和Linux平台,并且还提供了Docker镜像。即使你没有深厚的技术背景,只需按照安装指南操作,就能轻松完成安装和配置。Ollama将复杂的技术简化为易于操作的步骤,让每个人都能快速上手,体验在本地运行大型语言模型的强大功能。通过Ollama,你不仅能节省时间和精力,还能充分利用本地资源,探索大型语言模型的无限可能。无论是研究、开发还是实际应用,Ollama都能为你提供强有力的支持。

二.安装教程

下载地址

链接:https://pan.baidu.com/s/1bvVblTGUmIgg9BtHBMcsqA

提取码:fwln

ollama官网地址:https://ollama.com/

1.window安装

解压打开安装包,如下图

点击install即可安装成功

2.linux安装

在线安装

sh install.sh 

离线安装

下载ollama二进制文件

Ollama 以独立二进制文件的形式分发。将其下载到 PATH 中的目录中:

sudo curl -L https://ollama.com/download/ollama-linux-amd64 -o /usr/bin/ollama
#ollama文件已经放在整合包内,直接将ollama文件放入/usr/bin/目录下
sudo chmod +x /usr/bin/ollama

添加 Ollama 作为启动服务(推荐)

为 Ollama 创建用户:

sudo useradd -r -s /bin/false -m -d /usr/share/ollama ollama

在以下位置创建服务文件/etc/systemd/system/ollama.service

[Unit]
Description=Ollama Service
After=network-online.target

[Service]
ExecStart=/usr/bin/ollama serve
User=ollama
Group=ollama
Restart=always
RestartSec=3

[Install]
WantedBy=default.target

然后启动服务:

sudo systemctl daemon-reload
sudo systemctl enable ollama


三.使用模型

方式一、下载模型

官网地址:https://ollama.com/,进入官网选择模型

点击喜欢的模型,复制对应命令,例:ollama run llama3

等待下载完毕,输入ollama list查看模型

方式二、导入模型

1.新建文件Modelfile

2.输入内容

FROM (这里填写你的路径)

3.创建模型

ollama create test -f Modelfile

4.查看模型,输入ollama list,,显示了我们刚刚导入的模型

5.运行模型,即可对话

ollama run test

启动模型进行会话

输入ollama list查看模型列表

输入以下命令运行模型

ollama run 模型名称

进入会话界面即可开始聊天

按住ctrl+d即可退出模型

四.api调用

1.启动api服务

ollama serve

2.访问接口

默认端口是localhost:11434

通用方式:

curl http://localhost:11434/api/generate -d '{
  "model": "llama3",
  "prompt":"Why is the sky blue?"
}'

openai调用方式(使用与llama模型)

curl --location 'http://localhost:11434/v1/chat/completions' \
--header 'Content-Type: application/json' \
--data '{
  "messages": [
    {
      "content": "你是誰",
      "role": "system"
    },
    {
      "content": "请用中文回复我下面的问题",
      "role": "user"
    }
  ],
  "model": "模型名称",#注意这里写你模型的名称
  "stream": false,#是否开启流式对话
  "max_tokens": 2048,
  "stop": [
    "hello"
  ],
  "frequency_penalty": 0,
  "presence_penalty": 0,
  "temperature": 0.7,
  "top_p": 0.95
}'

PowerShell