开完会,群里留下几条安排,你可以把它们整理成可复制的行动清单。本教程用 Python 调用电脑上运行的 Ollama,把一段虚构工作记录转换为 JSON;内容留在本机,不需要云端 API Key。

我们选 Qwen3.8-27B,是因为这次任务要读懂中文时间表达,并按固定字段输出结构化结果。本机已有这个模型。一次测试正确提取了三项安排;这只是一个样例,不能当成模型准确率保证。

先准备本地模型

Ollama 是在电脑上运行大模型的软件。若还没安装,可先看本站 Ollama 安装教程。安装后打开终端检查:

ollama --version
ollama list

从 Ollama 官方模型库下载 Qwen3.8:

ollama pull qwen3.8

本机模型标签可能显示为 qwen3.8:latest、qwen3.8-27b:latest 等。运行 ollama list,记下实际名称。Qwen3.8 模型比较大;这次在 M1 Max、64GB 统一内存的电脑上实测,运行时 Ollama 显示约 34GB 内存占用。内存较小的电脑先用自己能运行的轻量模型,把练习包里的模型名改成 ollama list 显示的标签再试。

把 API 接进 Python 程序

Ollama 提供本机 Chat API,地址是 http://localhost:11434/api/chat。程序提交模型名和对话内容,收到响应后从 message.content 读取回答。这个小程序使用 Python 自带的 urllib,不必安装第三方库。

下载并解压本地大模型 API 练习包。在终端进入解压后的文件夹,运行:

python3 提取行动项.py

粘贴一段安排,例如:

周五前给小周发合同初稿;周三下午2点和林老师开会讨论春季课程;周五复盘上周报名数据。

脚本会向本机 /api/chat 发送模型名、系统要求和这段文字。stream: false 让 API 一次返回完整回答,程序可以直接读取 JSON;format: "json" 要求模型按 JSON 格式作答。脚本还会检查字段类型和时间格式,格式不对就停止并提示重试。

正常情况下会得到类似这样的结果:

{
  "tasks": [
    {
      "action": "给小周发合同初稿",
      "person": "小周",
      "due_expression": "周五前",
      "time": ""
    },
    {
      "action": "和林老师开会讨论春季课程",
      "person": "林老师",
      "due_expression": "周三下午2点",
      "time": "14:00"
    },
    {
      "action": "复盘上周报名数据",
      "person": "",
      "due_expression": "周五",
      "time": ""
    }
  ]
}

这里保留了“周五前”“周三下午2点”等原始说法,没有猜具体日期。接入自己的应用时,JSON 可以作为后续界面的数据输入;在写入日历、工单或客户系统之前,仍要让人检查任务有没有漏、时间有没有理解错。

改用自己下载的模型

如果 ollama list 显示的模型名不是 qwen3.8:latest,可以在运行时指定它,不用改代码。例如:

OLLAMA_MODEL=qwen3.8-27b:latest python3 提取行动项.py

再运行练习包里的基础自检:

python3 selfcheck.py

自检会用模拟 API 响应检查 JSON 格式、请求参数和输入长度限制,不会生成模型内容。真实模型效果以你本机的测试为准。

我们试了什么

在 Ollama 0.35.1 上,用本机 qwen3.8-27b:latest 处理上面的虚构记录。API 返回 3 项任务,联系人和相对时间与原文一致,明确的“下午2点”转换为 14:00;单次请求约 46 秒,模型加载约 14 秒。这只能说明该样例通过,其他写法、方言和更长的群聊记录都需要单独检查。

Ollama 本机 API 默认不需要云端密钥;它也没有替这个示例加用户登录或权限校验。只在本机使用时,把脚本和服务都留在本机;不要为了让网页方便访问就把 11434 端口直接暴露到公网。练习脚本只把回复打印到终端,不会保存原始工作记录。

练习包里有什么

  • 提取行动项.py:完整的 API 调用程序
  • selfcheck.py:无模型依赖的输入和返回格式自检
  • model_response.json:本次模型响应样例
  • test_record.md:环境、用时和核验结果

要做成团队服务,还需另外设计登录、并发队列、数据保存期限和访问权限。本教程只完成个人电脑上的调用原型。