概述

作用: 直接在本地计算机上快速部署和运行管理开源大语言模型,提供命令提问、api接口访问等

官网: https://ollama.com/

支持系统: windows、macos、linux

模型查看: https://ollama.com/search

API接口文档: https://github.com/ollama/ollama/blob/main/docs/api.md
官方说明,硬件可部署的模型量: 您应该至少有8GB的RAM内存条则可用于运行7B模型,16GB用于运行13B模型,32GB用于运行33B模型

模型厂家

国内
国外
国外
国内
国内
国外
国外
国外
国内
模型厂家
国内
国外
qwen:阿里开源
gemma:谷歌开源
llama:脸书Facebook开源
deepseek:深度开源 - 深度思考模型开创者
GLM:智谱开源
devstral:Mistral AI公司开源
phi:微软开源
Command R:Cohere开源
Yi:零一万物

安装

下载地址: https://ollama.com/download

安装成功后,会对外开发11434端口: http://IP地址:11434/

在这里插入图片描述

Windows

注意事项: 直接安装包,没啥配置的,安装成功后,命令行会有 ollama 命令使用

修改模型下载位置(默认C盘): 添加环境变量【OLLAMA_MODELS】用于指定模型下载的目录

在这里插入图片描述

Linux

Docker

环境变量

参数 标识与配置
OLLAMA_MODELS 拉取的模型存放位置,建议必须修改调整,要不然撑爆系统C盘
OLLAMA_HOST 可以允许外部访问的IP地址,默认只能本127.0.0.1,如果需要支持外部访问,需调整成0.0.0.0 == 修改需要重启
OLLAMA_PORT API的端口号,默认11434
OLLAMA_ORIGINS HTTP客户端的请求来源,用于配置跨域资源共享(CORS)如果本地使用不受限制,可以设置成星号*
OLLAMA_KEEP_ALIVE 单位(秒)大模型加载到内存中后的存活时间 默认300,0代表处理请求响应后立即卸载模型,任何负数则表示一直存活
OLLAMA_NUM_PARALLEL 请求处理的并发数量,默认为1
OLLAMA_MAX_QUEUE 请求队列长度,默认值为512
OLLAMA_DEBUG 输出 Debug 日志,应用研发阶段可以设置成1(即输出详细日志信息,便于排查问题)
OLLAMA_MAX_LOADED_MODELS 最多同时加载到内存中模型的数量,默认为1

命令

// ollama 支持的所有子命令
ollama -h

// 程序版本号
ollama -v

// 查看已下载的模型列表
ollama list

//  查看 已下载的 某个模型 信息
ollama show 模型名

// 正在运行中的模型
ollama ps

// 启动运行某个模型,如果没有下载镜像,则会先去下载模型再启动运行
ollama run 模型名

// 删除某个模型
ollama rm 模型名

//  停止某个模型
ollama stop 模型名


在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

查看下载的模型支持什么能力

ollama show 模型名

在这里插入图片描述

API

API接口文档: https://github.com/ollama/ollama/blob/main/docs/api.md

generate接口: 单问题回答,请求体不能输入前面的问答历史,对于知识问答挺有作用的吧

chat接口: 记录上下文历史回答,请求体能输入前面的问答历史,对于聊天很关键

版本

# ollama版本查看
curl --request GET --url http://127.0.0.1:11434/api/version

在这里插入图片描述

运行中的模型列表

# 运行中的模型列表
curl --request GET --url http://localhost:11434/api/ps

在这里插入图片描述

某个模型信息展示

# 某个模型信息展示
 curl --request POST  --url http://localhost:11434/api/show   --data "{\"model\": \"deepseek-r1:1.5b\"}"

在这里插入图片描述

列出下载好的所有模型信息

# 当前你的Oollama程序已经下载的模型
curl --request GET --url http://localhost:11434/api/tags

在这里插入图片描述

普通文本问答(常用)

# 文本问答
curl --request POST --url http://localhost:11434/api/chat --data "{\"model\": \"qwen3:1.7b\",\"messages\": [{\"role\": \"user\",\"content\": \"你是由哪家公司开发出来的\"}],\"stream\": false}"

在这里插入图片描述

识图问答(常用)

# 文本问答
curl --request POST --url http://localhost:11434/api/generate --data "{\"model\": \"qwen2.5vl:3b\",\"prompt\": \"这张图片里面有什么\",\"stream\": false,\"images\": [\"图片的Base64编码\"]}"

在这里插入图片描述

输入文本总结文本内容,并且指定回答内容是Json,里面字段的含义以及数据类型

# 文本问答
curl --request POST --url http://localhost:11434/api/chat --data "请求体内容"
// 上面的接口的请求体示例值
{
  "model": "qwen3:1.7b",
  "messages": [
    {
      "role": "user",
      "content": "小兔子在森林里迷路了,遇到了善良的猫头鹰。猫头鹰用智慧指引它回家,小兔子感激不已。从此,它们成了无话不谈的好朋友. 总结这段故事基于JSON结构,需要里面出现的事物,以及这个故事的简介10个字"
    }
  ],
  "stream": false,
  "format": {
    "type": "object",
    "properties": {
      "thing": {
        "type": "array"
      },
      "briefIntroduction": {
        "type": "string"
      }
    },
    "required": [
      "thing",
      "briefIntroduction"
    ]
  },
  "options": {
    "temperature": 0
  }
}

在这里插入图片描述

文本问答(基于前后,进行插入补全代码)

注意: 需要模型能力支持:insert

# 文本问答
curl --request POST --url http://localhost:11434/api/generate --data "请求体内容"

{
  "model": "qwen2.5-coder:7b",
  "prompt": "public static String propertiesToYaml(String propertiesContent) {",
  "suffix": "   }",
  "options": {
    "temperature": 0
  },
  "stream": false
}


在这里插入图片描述

函数调用

注意: 需要模型能力支持:tools

# 文本问答
curl --request POST --url http://localhost:11434/api/chat --data "请求体内容"


{
  "model": "qwen3:1.7b",
  "messages": [
    {
      "role": "user",
      "content": "为什么狗会吃屎?"
    },
    {
      "role": "assistant",
      "content": "<think>\n嗯,用户问为什么狗会吃屎。首先,我需要确认这个问题的背景。可能用户是出于好奇,或者在观察动物行为时遇到了这种情况。不过,从科学角度来看,狗吃屎其实并不是什么特别的习性,可能只是本能行为。\n\n首先,我得回忆一下狗的行为学。狗作为动物,它们的本能可能包括捕食、狩猎,但吃屎可能和这些无关。不过,可能有其他因素,比如清洁、消化,或者某种本能。比如,狗可能通过吃粪便来检测周围是否有危险,或者帮助消化。\n\n不过,科学上是否真的有这种行为呢?可能需要查证。比如,是否有研究显示狗吃屎?或者是否属于正常行为?比如,有些狗可能因为习惯而这样做,但并不是所有狗都会。可能和品种、训练有关。\n\n另外,用户可能误解了某些行为,或者有其他意图,比如想了解狗的行为模式,或者是否有健康问题。需要解释清楚,同时避免误导。\n\n还要注意,用户可能对狗的行为有误解,比如认为狗是“恶习”,但实际上可能只是本能或习惯。需要区分本能和习性,以及可能的健康因素,比如消化问题,但通常狗不会因为吃屎而生病,除非有特殊原因。\n\n可能还需要提到,虽然狗吃屎在某些情况下是本能,但在野外可能更常见,而在家养环境下可能因为训练或习惯而出现。同时,不同品种的狗可能有不同的行为,比如牧羊犬可能更倾向于吃粪便,而其他品种可能较少。\n\n最后,要确保回答准确、科学,并且易于理解,避免使用专业术语,同时给出全面的信息,帮助用户正确理解狗的行为。\n</think>\n\n狗吃屎的现象在动物行为学中并不常见,但可以从以下几个角度解释:\n\n### 1. **本能行为 vs. 习性**\n   - **本能行为**:狗的本能可能包括清洁、检测环境、消化残留物等。例如,狗通过吃粪便来感知周围是否有危险(如寄生虫、细菌)或帮助消化。\n   - **习性**:部分狗因习惯或训练(如牧羊犬、导盲犬等)可能更倾向于吃粪便,但这属于个体差异,非普遍现象。\n\n### 2. **生理需求**\n   - **消化系统**:狗的肠道菌群和消化能力较弱,部分粪便可能难以完全消化,导致它们通过吃粪便“清理”体内残留物。\n   - **卫生习惯**:在野外,狗通过吃粪便检测环境中的寄生虫或细菌,这是生存的本能。\n\n### 3. **环境因素**\n   - **野外 vs. 家养**:在自然环境中,狗可能因本能而吃粪便;而在家养环境下,若缺乏训练或环境干扰,可能因习惯或好奇心而出现。\n   - **品种差异**:某些品种(如牧羊犬、猎犬)因工作需要,可能更频繁地接触粪便,从而形成习惯。\n\n### 4. **误解与误区**\n   - **人类认知偏差**:人类可能将狗吃粪便视为“恶习”,但这是动物的自然行为,而非故意行为。\n   - **健康问题**:若狗因消化问题(如肠梗阻)而吃粪便,需及时就医,但正常情况下这类行为并不常见。\n\n### 5. **科学解释**\n   - **行为学研究**:动物行为学家发现,狗的“吃粪便”行为可能与以下因素相关:\n     - **清洁本能**:通过吃粪便检测环境中的寄生虫或细菌。\n     - **消化需求**:部分粪便可能难以消化,需通过吃粪便“清理”。\n     - **环境适应**:在自然环境中,这种行为是生存的必要手段。\n\n### 总结\n狗吃屎并非“恶习”,而是动物的自然行为,可能与本能、生理需求或环境因素有关。若发现狗异常行为(如频繁吃粪便),建议观察其健康状况,必要时咨询兽医。理解这一现象有助于更科学地看待动物行为。"
    },
    {
      "role": "user",
      "content": "今天是2025-05-12,广州前天天气怎么样?"
    }
  ],
  "stream": false,
  "tools": [
    {
      "type": "function",
      "function": {
        "name": "get_current_weather",
        "description": "获取某个地方某天的天气",
        "parameters": {
          "type": "object",
          "properties": {
            "location": {
              "type": "string",
              "description": "客户询问的天气的地方 比如:佛山、东莞、北京等"
            },
            "day": {
              "type": "string",
              "description": "客户询问的天气日期 比如:2025-03-10,20250101"
            }
          },
          "required": ["location", "day"]
        }
      }
    }
  ]
}



在这里插入图片描述

Logo

汇聚全球AI编程工具,助力开发者即刻编程。

更多推荐