律师事务所、财税机构、医疗机构和企业法务经常要处理包含姓名、身份证号、银行账户、商业秘密的材料。把这些文档直接上传到云端模型,是否符合委托合同、内部制度和监管要求,需要谨慎评估。

最近我一直在探索一个成本尽可能低、又能让普通人实际用起来的本地方案。最后采用的是:

DeepSeek Harness:负责读取文件、运行工具和组织任务;

Ling-3.0-tiny:负责在本机完成推理;

我是在一台五年前的 MacBook Pro 上运行的。遇到需要多步推理的任务,实测生成速度约为40 tokens/s。它当然比不上云端旗舰模型,但用于合同摘要、时间线整理、主体与金额抽取、材料交叉核对,已经能够工作。

测试设备

  • 电脑:2021 款 16 英寸 MacBook Pro
  • 芯片:Apple M1 Pro
  • 内存:32GB 统一内存
  • 推理后端:Metal + MLX
  • 上下文:8192 tokens

模型版本

使用

inclusionAI/Ling-3.0-tiny

官方原始版本:

  • 权重:BF16
  • 没有进行 INT4 或 FP8 量化
  • 总参数:7.9B
  • 激活参数:约1.3B

TPS 实测

预热后开启思考模式,纯模型解码速度如下:

任务 输入 输出 纯生成 TPS 总耗时 峰值内存
起诉状摘要 16.43GiB 1107 tokens 512 tokens 40.5 16.97秒
合同 JSON 抽取 1254 tokens 304 tokens 42.3 11.76秒 16.75GiB
跨文档时间线 1162 tokens 512 tokens 43.0 15.79秒 16.75GiB
加权结果 3523 tokens 1328 tokens 41.9 44.52秒 最高16.75GiB

需要先强调:本地运行不等于自动合规,也不等于结果一定正确。 本文只是部署和使用经验,不构成法律意见或信息安全认证。正式用于真实案件前,仍需结合所在机构的数据分级、访问控制、保密制度和人工复核流程。

一、这套方案如何工作?

它的数据路径大致是:

本地 PDF ↓ DeepSeek Harness 读取文件、调用本地工具提取文字 ↓ http://127.0.0.1:11434/v1 ↓ 本机运行的 Ling-3.0-tiny ↓ 分析结果写回本地工作目录

其中最重要的是 127.0.0.1。它代表本机回环地址:Harness 与模型在同一台电脑里通信,不需要把案件正文发送到公网。

但是,Harness 是一个可以读写文件、运行命令的 Agent 框架。它的能力比普通聊天框更强,权限风险也更高。因此,真实使用时应当让它处理材料副本,限定工作目录,并保留操作审批。

二、为什么选择 Ling-3.0-tiny?

Ling-3.0-tiny 的综合指数仅落后于 Gemma-4-26B-A4B 的 26 分,接近 4B 激活规模的更大 MoE 模型;高于 gpt-oss-120B(high)、Qwen3.5-9B、Gemma-4-12B 以及 Gemma-4-E4B。

Ling-3.0-tiny 拥有 7.9B 总参数,但每个 Token 仅激活 1.3B 参数。以更低的激活规模,进入了主流 4B–12B 级模型的综合能力区间,也就是能用更低的硬件成本发挥更大的模型能力。

它比较适合:

  • 合同、起诉状、答辩状和证据目录摘要;
  • 当事人、金额、日期、案号等结构化抽取;
  • 多份材料的时间线整理;
  • 原告与被告观点对照;
  • 简单金额复核和材料矛盾识别;
  • 在本地工作区内批量重命名、分类和生成索引。

三、部署 Ling-3.0-tiny

Ling-3.0-tiny 的模型地址是:

https://huggingface.co/inclusionAI/Ling-3.0-tiny

目前它在 Apple Silicon 上通过 Ollama 运行时,需要采用模型卡指定的实验支持和 MLX 后端。对纯新手来说,最省事的方式仍然是让编程 Agent 部署,但提示词最好写得具体一点:

1
2
3
4
5
6
7
8
9
10
11
12
请帮我在这台 Apple Silicon Mac 上部署本地模型:
https://huggingface.co/inclusionAI/Ling-3.0-tiny

要求:
1. 严格参考模型官方 README 中的 Apple Silicon/Ollama 方法;
2. 使用官方模型卡指定的 Ollama 支持分支和 MLX 后端;
3. 模型服务只监听 127.0.0.1:11434;
4. 暴露 OpenAI 兼容接口 /v1/chat/completions;
5. 默认上下文先设置为 8192,避免内存不足;
6. 创建 start、stop、test 脚本和完整卸载文档;
7. 部署完成后实际发送一次测试请求;
8. 不上传本机文件,不配置任何云端 API 密钥。

部署结束后,可以用下面的命令检查本地接口:

curl http://127.0.0.1:11434/v1/models

如果结果里出现 ling-3.0-tiny:latest,说明 Harness 能够通过 OpenAI 兼容接口发现这个模型。

四、安装 DeepSeek Harness

DeepSeek Harness 是 DeepSeek AI 开源的 Agent Harness,目前仍处于开发者预览阶段,它目前没有独立桌面客户端,也没有传统 TUI,但官方提供了 WebUI。最简单的启动方式不是从源码编译,而是先安装 Node.js,然后在终端运行:

1
npx @deepseek-ai/dsh web

首次运行会下载所需组件。启动成功后,在浏览器打开:

http://127.0.0.1:3080

如果你完全不熟悉终端,也可以把下面这段话发给 Codex、Claude Code 或其他编程 Agent:

1
2
3
4
5
6
7
8
9
请根据官方仓库帮我在这台 Mac 上安装并启动 DeepSeek Harness:
https://github.com/deepseek-ai/deepseek-harness

要求:
1. 优先使用官方 README 推荐的 npm 方式;
2. 只监听本机地址,不开放到局域网或公网;
3. 启动 WebUI 后告诉我访问地址;
4. 不要配置任何云端模型或上传本地文件;
5. 记录安装了哪些依赖,并提供卸载方法。

打开 WebUI 后,配置Ling-3.0-tiny。

测试Ling-3.0-tiny的能力

就以法律行业来举例,我让Codex帮我模拟生成了一系列的文书,然后让Ling-3.0-tiny分析

五、用法律文书测试本地模型

为了避免接触真实案件,我先让 Codex 生成了一套纯虚构材料,包括:

  • 软件实施服务合同;
  • 项目验收单;
  • 律师催款函;
  • 民事起诉状;
  • 民事答辩状;
  • 证据目录。

这些文件被排版成带文字层的 PDF,并且故意设置了日期差异、授权争议、证据缺口和一处十倍的违约金计算错误。

第一个测试:单份文书摘要

把起诉状放进工作区,然后发送:

1
2
3
4
5
6
7
8
9
10
你是一名法律文档整理助手。请仅依据所提供的文档回答,不要使用外部知识,不要预测判决结果。

请概括:
1. 当事人
2. 合同关系
3. 履行情况
4. 争议金额
5. 原告的诉讼请求

文档没有记载的信息必须写“材料未载明”。

第二个测试:多文档交叉分析

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
请从合同中提取信息,只输出合法JSON,不要输出解释或Markdown代码块。

{
"合同编号": "",
"甲方": "",
"乙方": "",
"合同总价": 0,
"已付款": 0,
"尾款": 0,
"正式版本提交期限": "",
"尾款付款条件": "",
"逾期付款日违约金率": "",
"争议管辖法院": ""
}

金额使用数字,日期使用YYYY-MM-DD。找不到的字段填null,禁止猜测。

第三个测试:时间线测试

1
2
3
4
5
6
7
8
9
10
请根据材料生成案件时间线。

每项包含:
- 日期
- 事件
- 来源文件
- 是否存在争议
- 争议内容

必须区分正式版本交付、验收、系统上线、缺陷修复、付款到期和催款,不得把它们合并成同一事件。

整体测试下来,Ling-3.0-tiny 完成度都很高,基本可以胜任这样的工作。

本地大模型过去常被认为是显卡玩家的玩具,但 MoE 架构和本地 Agent 工具正在降低门槛。Ling-3.0-tiny让“敏感文档留在本机、模型完成基础分析”这件事变得可行。

如果你也希望在有限硬件上搭建自己的本地文档 Agent,Ling-3.0-tiny 是一个值得实际下载、部署和测试的起点。它的优势是提供了一套成本低、可掌控、能够真正运行起来的方案。

最后仍要记住:无论模型运行在云端还是本地,专业文书都必须由专业人员复核。把数据边界和人工责任设计清楚之后,Ling-3.0-tiny 才能从一次有趣的技术演示,变成可靠的生产力工具。