TellWorldAI 世界档案
问档案English

首页›实践›实践

实践

gpt-oss-20b 用 LM Studio 本地跑

用 LM Studio 图形界面下载并在本机运行 gpt-oss-20b,再用 OpenAI 库调用本地 API,并通过 MCP 为模型接入工具。读完能跑通第一次本地对话。

这篇适合谁

适合想在自己电脑上运行大模型、又更喜欢图形界面的用户和开发者。读完你应该能在 LM Studio 中下载并对话 gpt-oss-20b,用 Python 调用它的本地 API,并了解如何为它接入 MCP 工具。

LM Studio 是什么

LM Studio 是一款在本地运行大语言模型的应用。它有比 Ollama 更丰富的图形界面,适合希望通过界面完成操作的用户[1]。它非常适合在无网络环境下部署和使用大模型[1]。本地运行的好处是隐私性好、可以定制,还能离线使用[1]。对只想先试一试的人,下载和对话都能在一个窗口里完成,不必记命令;对要写程序的人,它提供的是 OpenAI 风格的接口,客户端代码几乎不用改[1]。LM Studio 支持 Windows、macOS 和 Linux,下载页面是 lmstudio.ai/download[2]。

准备工作

先在 lmstudio.ai 下载并安装对应系统的版本[2]。gpt-oss-20b 是本文用到的模型,LM Studio 的模型搜索会根据硬件给出推荐[1]。如果只想下载 20B 版本,可以用命令行,另有 120B 版本可选[1]。

上手步骤

  1. 安装 LM Studio,并在界面里搜索 gpt-oss-20b 下载。如果网络不好,可以改为离线安装:从魔搭社区等来源下载模型文件,放到 LM Studio 的模型库目录里[1]。
  2. 用命令行下载模型(可选)。命令如下[1]:
# For 20B
lms get openai/gpt-oss-20b
# or for 120B
lms get openai/gpt-oss-120b
  1. 加载模型后,在 LM Studio 的聊天界面里直接对话[1]。也可以在终端里运行[1]:
lms chat openai/gpt-oss-20b #注意第一次运行之后才能使用lmx命令

这条命令要在 LM Studio 至少运行过一次之后才能使用[1]。

  1. 启动本地服务器,用 API 调用模型。在 LM Studio 中开启本地服务后,Python 的 OpenAI 客户端把 base_url 设为 http://localhost:1234/v1 即可;LM Studio 不要求 API Key,api_key 填任意值,示例里写的是 not-needed[1]:
from openai import OpenAI
 
client = OpenAI(
    base_url="http://localhost:1234/v1",
    api_key="not-needed"  # LM Studio does not require an API key
)
 
result = client.chat.completions.create(
    model="openai/gpt-oss-20b",
    messages=[
        {"role": "system", "content": "You are a helpful assistant."},
        {"role": "user", "content": "Explain what MXFP4 quantization is."}
    ]
)
 
print(result.choices[0].message.content)

请求中的 model 字段要写成 openai/gpt-oss-20b,与 LM Studio 中显示的模型名一致[1]。模型的回答在 result.choices[0].message.content 里,直接打印即可[1]。端口和模型名要与 LM Studio 里的服务设置对应,这两处对不上,请求就发不到模型上。

让模型用上 MCP 工具

LM Studio 是一个 MCP 客户端,可以连接 MCP 服务器,为 gpt-oss 模型提供外部工具[1][3]。MCP 的配置文件路径是 ~/.lmstudio/mcp.json[1]。

如果想在 Python 里直接给模型定义工具,可以安装 LM Studio 的 Python SDK,命令是 uv pip install lmstudio 或 pip install lmstudio[1][4]:

uv pip install lmstudio

示例中的工具是一个普通的 Python 函数 create_file(name, content),它会在本地创建文件[1][5]。函数不会覆盖已有文件,遇到同名文件时返回错误信息[1]:

def create_file(name: str, content: str):
    """创建指定名称和内容的文件。
    
    Args:
        name: 文件名(支持相对路径和绝对路径)
        content: 文件内容
        
    Returns:
        操作结果的描述信息
    """
    dest_path = Path(name)
    if dest_path.exists():
        return "错误:文件已存在,无法覆盖。"
    try:
        dest_path.write_text(content, encoding="utf-8")
    except Exception as exc:
        return f"错误:文件创建失败 - {exc!r}"
    return f"文件 '{name}' 创建成功。"

然后用 lms.llm 加载模型,并用 lms.Chat 建立带系统提示的对话[1]:

model = lms.llm("openai/gpt-oss-20b")  # 加载OpenAI GPT-OSS 20B模型
chat = lms.Chat("你是一个运行在用户计算机上的智能助手,可以帮助用户完成各种任务。")

model.act() 把聊天、工具列表和回调函数一起交给模型。它会在调用工具和推理之间切换,直到完成任务[1]:

    model.act(
        chat,                           # 聊天上下文
        [create_file],                  # 可用的工具函数列表
        on_message=chat.append,         # 将完整响应添加到聊天历史
        on_prediction_fragment=print_fragment,  # 流式输出回调
    )

回调函数 print_fragment 会在模型生成内容时逐段打印,形成流式输出[1]。示例程序在用户直接回车时退出[1]。工具定义的更多写法见官方文档[5]。

常见问题与下一步

本文的步骤集中在下载、加载、调用和 MCP 接入四个环节。如果在命令行里找不到 lms 命令,先启动一次 LM Studio 再试[1]。离线使用时,模型文件必须放在 LM Studio 的模型库目录里,界面才能识别到它[1]。关于 MCP 的配置和更多 SDK 功能,请以 LM Studio 官方文档为准,入口是 lmstudio.ai/docs[3][4]。

本文改编自 Datawhale 开源项目 self-llm 中的教程《03-gpt-oss-20b lmstudio 本地部署调用》[1],原文以 Apache-2.0 许可证发布。

来源

  1. 1
    03-gpt-oss-20b lmstudio 本地部署调用Datawhale self-llm (Apache-2.0)
  2. 2
  3. 3
  4. 4
    lmstudio-pythonLM Studio (GitHub)
  5. 5

引用本页: gpt-oss-20b 用 LM Studio 本地跑. TellWorld, https://www.tellworld.net/zh/practice/practice-gpt-oss-lmstudio. 更新于 2026-11-14

相关动态