企业私有化AI部署-律所案例

2 阅读11分钟

给一家 120 人律所做私有化 AI 部署的 11 天:踩过的坑和一些数据

前段时间接了一个案子:帮一家 120 人规模的律所把四个国产大模型(DeepSeek、通义千问、豆包、Kimi)私有化部署到所里内网,做统一网关、统一账号、部门计量、审计日志。

项目从签合同到正式上线用了 11 个工作日,合伙人最后反馈"省心"。这篇把技术方案和踩过的坑完整写出来,给同样在做企业 AI 落地的朋友参考。


一、需求背景

律所主任找过来的时候,问题说得很具体:

"所里年轻律师都在用 DeepSeek 和 Kimi 查案例、写合同稿,但有两件事让合伙人睡不着觉。

一是上周我发现有个律师把一个工伤索赔客户的完整卷宗粘到 Kimi 网页版让它总结——这案子涉及某上市公司,资料如果流出我们要被客户起诉。

二是每人自己开会员,有人包月、有人按次,没人算得清所里到底在 AI 上花了多少钱,谁用得多。"

这是典型的中小企业 AI 使用痛点:便宜的工具带来的数据风险和管理混乱

律所的构成也比较典型:

  • 公司业务部(40 人,合同起草为主)
  • 诉讼部(35 人,案例检索、法条查询)
  • 家事部(18 人,离婚协议、调解书等)
  • 知产部(12 人,专利、商标)
  • 行政/财务(15 人)

二、方案评估:为什么不用现成的

讨论过三条路,都被否了。

路径 A:公司统一买钉钉/飞书的企业 AI

  • 飞书 Aily 在法律场景表现一般,合同和案例的专业性不够
  • 核心痛点没解决:数据依然上云到飞书服务器

路径 B:买 DeepSeek 企业版 + 通义企业版 + 其他

算过账:120 人 × 3-4 个模型会员 × 人均 ¥300/月 ≈ ¥12 万-¥15 万/月。

  • 数据依然出内网
  • 账号管理还是一团乱

路径 C:自己招人开发

律所哪有技术团队,招一个后端 25K/月起,半年才能上线,一年成本 40 万起。对 120 人规模的律所不划算。

最终选:自建私有化网关(基于开源项目二次开发)

核心判断是:这个问题开源社区已经解决了 70%,剩下 30% 是企业场景的适配

底座用 one-hub(Apache 2.0 协议,one-api 的一个 fork),在它基础上加:

  1. 企业微信单点登录
  2. 部门级 Token 计量和报表
  3. 审计日志(脱敏 + 加密)
  4. 场景化模型路由
  5. 律所专用的提示词模板库

三、技术架构

员工浏览器/企业微信
        ↓ 内网 HTTPS
所里局域网 AI 网关 (Docker Compose)
    ├── 认证中间件(对接企业微信扫码登录)
    ├── 审计日志(每条 prompt 脱敏后存 PostgreSQL)
    ├── Token 计量(按部门/个人/项目三维度)
    └── 模型路由层
         ├── DeepSeek V3(合同起草)- 走专线到 api.deepseek.com
         ├── 通义 Qwen-Max(案例检索)- 走阿里云 VPC 专线
         ├── Kimi K1.5(长卷宗摘要)- 走公网 API
         └── 本地 Qwen-14B-Chat(敏感内容脱敏/初筛)
             └── 部署在所里一台带 A100 的工作站

分层思路很重要:敏感内容走本地模型,一般查询走 API,长文档走 Kimi(128K 上下文这个点其他国产 API 还没完全跟上)。

技术点 1:OpenAI 兼容层的隐藏差异

四个模型都号称 OpenAI 兼容,实际有不少坑:

模型实际差异
DeepSeekfinish_reason 在流式响应中会漂移,有时 stop,有时 length,需要后置归一化
通义 DashScope兼容模式对 tool_calls 不完全支持,要切回 function_call
豆包Rate limit 错误码不返回标准 429,返回自定义的 ResourceExhausted
Kimi首 token 延迟较高(实测平均 2.3 秒),流式体验得加"AI 正在思考..."的中间态

我们做了一层 provider adapter,每个模型一个实现,对外暴露统一的 OpenAI 接口。

技术点 2:部门级 Token 统计

合伙人最在意的功能。实现上看着简单,但要考虑三维度聚合:

CREATE TABLE usage_logs (
    id BIGSERIAL PRIMARY KEY,
    user_id INT NOT NULL,
    department_id INT NOT NULL,
    project_tag VARCHAR(64),      -- 可选,案件编号
    model_name VARCHAR(32) NOT NULL,
    prompt_tokens INT NOT NULL,
    completion_tokens INT NOT NULL,
    cost_cents INT NOT NULL,      -- 用分而不是元,避免浮点
    prompt_hash VARCHAR(64),      -- SHA256(prompt),用于审计查找
    created_at TIMESTAMPTZ DEFAULT NOW()
);

CREATE INDEX idx_usage_dept_time ON usage_logs(department_id, created_at DESC);
CREATE INDEX idx_usage_user_time ON usage_logs(user_id, created_at DESC);

每天凌晨跑一个聚合任务,把明细数据压缩到日报表,保留两个月原始数据。报表直接用 Metabase 搭出来,合伙人自己在手机上看。

技术点 3:审计日志脱敏

合伙人要求每条 prompt 都能追溯,但又不想把身份证号、合同金额这些真实信息直接存数据库(万一数据库被脱,反而更糟)。

方案分两层:

  • 脱敏版:正则替换身份证、手机号、金额、姓名等敏感字段后存储,用于日常查询统计
  • 原文版:AES-256 加密后存到隔离的审计表,需要合伙人双人授权才能解密,用于真出事了的取证

这个设计过了所里法务内审。

技术点 4:场景化路由

一开始给所有场景默认 DeepSeek V3。结果家事部的律师抱怨"离婚协议模板生成得太啰嗦",换成 Qwen-Max 后反馈立刻好。

最后的路由规则:

routing_rules:
  合同起草: deepseek-chat
  案例检索: qwen-max
  调解文书: qwen-max        # 风格更贴中文行政公文
  专利文书: deepseek-chat
  长卷宗摘要: kimi-latest    # 128K 上下文
  敏感内容预处理: local-qwen-14b
  默认: deepseek-chat

国产模型各有擅长,不是一个模型打天下。 这是之前没想到的。


四、部署过程

从签合同到所里员工正式使用,11 个工作日:

时间做了什么
Day 1现场调研,梳理 5 个部门的使用场景
Day 2-3采购机器(一台 Mac Studio M2 Ultra 跑 Qwen-14B + 一台 2U 服务器跑网关和数据库)
Day 4-6环境部署、模型测试、企业微信接入
Day 7合伙人 + 3 个种子律师试用
Day 8-9根据反馈调整:UI 中文化、常用 Prompt 模板、快捷键
Day 10全员培训 2 小时
Day 11正式上线

硬件清单(可以直接参考):

  • Mac Studio M2 Ultra 192GB / ¥56,000(跑 14B 模型绰绰有余,比买 A100 卡省一半)
  • 戴尔 R740 2U 服务器 / ¥28,000(跑网关、PG、Redis、Metabase)
  • 千兆内网交换机 + 企业 SSL 证书

五、上线 45 天后的数据

指标数值
日活员工81 / 120(67.5%)
月总请求18.4 万次
月 Token 消耗3.1 亿(输入 2.2 亿,输出 0.9 亿)
月成本(API + 电费)约 ¥4,200
审计日志抓到的"可疑粘贴"7 次,其中 2 次确认是客户敏感资料(被系统拦截未流出)
律师反馈"离不开"63%

部门消耗排名:

  1. 公司业务部(合同起草多)—— 42%
  2. 诉讼部(案例检索、法条查询)—— 28%
  3. 家事部(调解书、离婚协议等模板)—— 15%
  4. 知产部 —— 9%
  5. 行政/财务 —— 6%

比"每人一个 Kimi/DeepSeek 会员"方案每月省约 ¥34,000。一次性投入(硬件 + 部署服务费)在 6-8 个月内回本。


六、文档里不会写的真正麻烦

几个实施过程里踩到的坑,分享一下:

1. 律师年龄结构大,培训比技术难

所里最年长的合伙人 58 岁,用电脑习惯双击浏览器图标。培训 2 小时里有 40 分钟是在教他新建对话、复制回答。后来专门做了一个内部 wiki,录了 6 个 5 分钟的教学视频,按岗位拆开(诉讼律师看诉讼的,合同律师看合同的)。

启示:企业 AI 项目的易用性天花板不是技术,是最老的那批员工能不能用。

2. 合伙人要的不是"AI 变强",是"省心"

最后发现律所老板真正关心的不是模型多聪明,是:

  • 我所里员工数据外流的概率是不是降低了?
  • 我这月到底花了多少钱?
  • 律师生产力有没有提升?

前两个问题是主要诉求,第三个是锦上添花。我们上线后做的仪表盘,首页就是这三个数字的月环比,合伙人每周会主动看一次。

3. 企业微信 SSO 的权限同步是长期麻烦

员工离职、部门调整,企业微信里改了,网关这边要同步。一开始是每天跑一次定时任务,后来发现有 24 小时延迟风险(离职那天还能用内网 AI 查客户资料),改成了监听企业微信的通讯录变更 webhook,5 分钟内同步。

这种细节不做,项目就是半成品。

4. 选型上的两个后悔

  • PostgreSQL 没选 MySQL:后来发现所里原有系统(OA、案管系统)全是 MySQL,DBA 对 PG 不熟。下个项目会根据客户现有技术栈决定数据库
  • 没做离线模型冷启动预热:本地 Qwen-14B 冷启动要 20 秒,第一次用户体验很差。后来加了启动后自动做一次 warmup 请求

七、对其他企业的建议

如果你们公司规模在 50-500 人,也在考虑把 AI 能力统一接入、解决数据合规问题,以下几点可以参考:

1. 不要一上来就开发

先盘清楚几个数字:

  • 公司现在有多少员工在私下用 AI?(通常远超你想象)
  • 他们都用在什么场景?
  • 如果不做,未来 3-6 个月最坏情况是什么?(数据泄露?业务部门私自买工具的预算失控?)

这些数字比任何"AI 战略"都重要。

2. 国产四大模型都要接,但不是都要同等对待

实测下来:

  • DeepSeek V3:性价比王,日常 80% 的请求都用它
  • 通义 Qwen-Max:中文文风最正,写正式文书用它
  • Kimi:长文档处理刚需,短对话不推荐(延迟高)
  • 豆包:营销/创意场景更强,白领办公场景一般

3. 私有化部署不等于本地跑大模型

很多人误解私有化 = 本地 GPU 跑 70B 模型。实际上对大多数中小企业,"本地网关 + API 专线"就够了,数据在企业内网做脱敏和审计,大模型算力走云端 API。

真正要本地跑模型的场景:

  • 法律、医疗、军工等行业监管明确要求的
  • 数据极敏感、全链路不能出内网的
  • 长期使用量巨大、算云 API 成本反而比本地贵的

4. 审计日志是销售卖点,不是技术细节

做企业项目,客户老板不懂 Token、不懂模型,但他们懂"出了事我能不能交代"。审计能力几乎是 to-B AI 项目里转化率最高的功能点。


八、如果你也有类似需求

我目前主要接的项目类型:

  • 50-300 人规模的律所、会计所、医院信息科、制造业、金融科技
  • 需要私有化部署国产大模型(DeepSeek / 通义 / 豆包 / Kimi)
  • 需要做统一账号管理、部门计量、审计日志、合规审查

项目周期一般 10-15 天,费用看规模(5-12 万为主流区间)。

如果你们公司也在考虑这个方向,可以通过知乎私信我简单聊聊你们的场景。我会先免费帮你评估一下值不值得做这个项目——有些需求其实公网 SaaS 加个脱敏层就够了,不一定非得私有化。别一上来就花大钱。

也欢迎评论区讨论:你们公司现在的 AI 使用是怎么管理的?遇到过什么坑?


后续会继续写几篇实战复盘:

  • 《给一家会计师事务所做 AI 审计助手的技术方案》
  • 《医院信息科的 AI 病例辅助系统:为什么必须本地化部署》
  • 《企业私有化 AI 网关的成本怎么算:一张表说清楚》

关注一下,不迷路。