当前位置: 首页 > news >正文

Ollama学习1:安装、命令、API

文章目录

    • 概述
    • 模型厂家
    • 安装
      • Windows
      • Linux
      • Docker
    • 环境变量
    • 命令
    • 查看下载的模型支持什么能力
    • API
      • 版本
      • 运行中的模型列表
      • 某个模型信息展示
      • 列出下载好的所有模型信息
      • 普通文本问答(常用)
      • 识图问答(常用)
      • 输入文本总结文本内容,并且指定回答内容是Json,里面字段的含义以及数据类型
      • 文本问答(基于前后,进行插入补全代码)
      • 函数调用

概述

作用: 直接在本地计算机上快速部署和运行管理开源大语言模型,提供命令提问、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_PORTAPI的端口号,默认11434
OLLAMA_ORIGINSHTTP客户端的请求来源,用于配置跨域资源共享(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"]}}}]
}

在这里插入图片描述

相关文章:

  • 微信推送在哪个网站做百度公司排名
  • 用dreamweaver做网站怎么切块品牌推广与传播方案
  • 江苏省内网站建设外贸网站建站
  • 做海报图片去哪个网站找 知乎品牌策划案例
  • 一诺网站建设百度推广怎么收费的
  • 大庆做网站的如何制作网页教程
  • LLM基础-什么是大模型推理(LLM Inferencing)
  • 鸿蒙开发:了解$$运算符
  • STL的map和set(关联式容器深度解析)
  • C语言指针进阶
  • Python类属性与实例属性的覆盖机制:从Vector2d案例看灵活设计
  • 力扣HOT100之回溯:78. 子集
  • 项目难点 与 缓存
  • CodeTop之LRU缓存
  • kaggle房价预测-0.12619-排名:757
  • Java 基础
  • 刷题记录(6)栈与队列相关操作
  • 墨水屏 函数Paint_SetScale的详解
  • 6个月Python学习计划 Day 4 - 列表 元组基础
  • no cmake_c_compiler could be found.
  • 电子学会Python一级考试
  • 字节跳动2025年校招笔试手撕真题教程(一)
  • Android应用中设置非系统默认语言(java)
  • 腾讯云国际站可靠性测试
  • Seata分布式事务详解:原理、实现与代码示例
  • 基于PySide6与pycatia的CATIA几何阵列生成器开发实践