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

如何使用Ollama在本地运行gpt-oss

想在自己的硬件上运行OpenAI的GPT-OSS模型?本指南将手把手教你如何用Ollama本地部署GPT-OSS-20B或GPT-OSS-120B,实现离线对话、API调用,甚至连接Agents SDK。

注意:本指南针对消费级硬件(如PC/Mac)运行模型的情况。

选择模型

Ollama支持两种规格的GPT-OSS模型:

  • gpt-oss-20b
    • 较小模型
    • 建议≥16GB显存或统一内存
    • 适合高端消费级GPU或苹果M系列芯片
  • gpt-oss-120b
    • 完整大模型
    • 建议≥60GB显存或统一内存
    • 适合多GPU或工作站配置
注意事项:
  • 当前仅提供MXFP4量化版本
  • 显存不足时可卸载到CPU运行(但速度会降低)

快速安装

  1. 安装Ollama → 下载地址
  2. 拉取所需模型:
# 20B版本
ollama pull gpt-oss:20b# 120B版本
ollama pull gpt-oss:120b

开始对话

通过应用或终端启动聊天:

ollama run gpt-oss:20b

Ollama默认采用OpenAI和谐模式的对话模板,直接输入内容即可交流。

API调用

Ollama提供兼容OpenAI的Chat Completions API,无需修改即可使用OpenAI SDK。Python示例:

from openai import OpenAIclient = OpenAI(base_url="http://localhost:11434/v1",  # Ollama本地APIapi_key="ollama"                       # 虚拟密钥
)response = client.chat.completions.create(model="gpt-oss:20b",messages=[{"role": "system", "content": "你是一个助人为乐的AI助手。"},{"role": "user", "content": "解释什么是MXFP4量化?"}]
)print(response.choices[0].message.content)

熟悉OpenAI SDK的用户可无缝切换。也可直接使用Ollama的Python/JavaScript SDK。

工具调用

Ollama支持:

  • 函数调用
  • 内置浏览器工具(应用中)

函数调用示例:

tools = [{"type": "function","function": {"name": "get_weather","description": "获取指定城市当前天气","parameters": {"type": "object","properties": {"city": {"type": "string"}},"required": ["city"]},},}
]response = client.chat.completions.create(model="gpt-oss:20b",messages=[{"role": "user", "content": "柏林现在天气如何?"}],tools=tools
)print(response.choices[0].message)

由于模型通过思维链(CoT)实现工具调用,需将API返回的推理结果反馈给工具调用接口,循环直至获得最终答案。

Responses API 替代方案

目前 Ollama 尚未原生支持 Responses API。

若您希望使用 Responses API,可以通过 Hugging Face 的 Responses.js 代理工具将 Chat Completions 转换为 Responses API 格式。

对于基础使用场景,您也可以运行我们提供的 Python 示例服务器(以 Ollama 为后端)。该服务器仅为基础示例,暂未实现…

pip install gpt-oss
python -m gpt_oss.responses_api.serve \--inference_backend=ollama \--checkpoint gpt-oss:20b

代理SDK集成

想在OpenAI代理SDK中使用gpt-oss?

两种代理SDK都允许您覆盖OpenAI基础客户端,通过聊天补全功能指向Ollama,或使用Responses.js代理本地模型。您也可以使用内置功能将代理SDK指向第三方模型。

  • Python:使用LiteLLM通过LiteLLM代理到Ollama
  • TypeScript:使用AI SDK搭配ollama适配器

以下是使用LiteLLM的Python代理SDK示例:

import asyncio
from agents import Agent, Runner, function_tool, set_tracing_disabled
from agents.extensions.models.litellm_model import LitellmModelset_tracing_disabled(True)@function_tool
def get_weather(city: str):print(f"[debug] getting weather for {city}")return f"The weather in {city} is sunny."async def main(model: str, api_key: str):agent = Agent(name="Assistant",instructions="You only respond in haikus.",model=LitellmModel(model="ollama/gpt-oss:120b", api_key=api_key),tools=[get_weather],)result = await Runner.run(agent, "What's the weather in Tokyo?")print(result.final_output)if __name__ == "__main__":asyncio.run(main())
http://www.dtcms.com/a/319173.html

相关文章:

  • 09-netty基础-手写rpc-原理-01
  • 上位机知识篇---aptapt-get
  • 全栈:怎么把sql导入SQLserver里面
  • [特殊字符] 2025年生成式大模型部署与推理优化全景解析
  • STM32 串口控制电机运行系统
  • PyTorch + PaddlePaddle 语音识别
  • 【基础】go进阶学习笔记
  • Android渲染/合成底层原理详解
  • B 站 SEO 优化全景指南:从基础到进阶的实操方法
  • 贪心+矩阵算法
  • Oracle 关闭 impdp任务
  • 云原生安全挑战与治理策略:从架构思维到落地实践
  • 基于大数据的美食视频播放数据可视化系统 Python+Django+Vue.js
  • 解读 gpt-oss-120b 和 gpt-oss-20b开源模型
  • 仓库管理系统-20-前端之记录管理的联表查询
  • Android中视图测量、布局、绘制过程
  • 嵌入式 - 数据结构:二叉树
  • GitHub 上 Star 数量前 20 的开源 AI 项目
  • X4000 私有 5G 实验室入门套件
  • 90-基于Flask的中国博物馆数据可视化分析系统
  • MySQL的变量、控制流程和游标:
  • 智能升级新纪元:基于Deepoc具身模型外拓开发板的除草机器人认知进化
  • git工程多个remote 拉取推送
  • 配置VScode内置Emmet自动补全代码
  • leetcode 415.字符串相加
  • 如何重塑企业服务体验?
  • 六边形架构模式深度解析
  • 深度学习(1):pytorch
  • SurgRIPE 挑战赛:手术机器人器械位姿估计基准测试|文献速递-医学影像算法文献分享
  • Next.js 样式:CSS 模块、Sass 等