跳到正文
土土金API

销售与 CRM 助手

销售场景用三类模型配合:主力模型把通话和会议转写稿整理成 CRM 纪要,另一个主力模型起草跟进邮件,便宜的小模型按写清楚的标准给线索评分、批量清洗 CRM 备注。每个销售团队用一把单独的 API Key,控制台「操作日志」按 Key 筛选,就能分清各团队花了多少。按每月 3,000 通电话、1 万条新线索、2 万条历史备注估算,用各模型最低价分组的实时价格计算,模型费用每月约 ¥71.26。

价格更新于 2026年11月13日 17:53

月成本估算

假设:30 人的销售团队,每月 3,000 通电话或会议,转写稿每份约 6,000 tokens,整理纪要每次输入约 7,000 tokens、输出约 600 tokens;起草 3,000 封跟进邮件,每封输入约 1,500 tokens、输出约 400 tokens;1 万条新线索评分,每条输入约 800 tokens、输出约 100 tokens;夜间清洗 2 万条历史备注,每条输入约 600 tokens、输出约 300 tokens。

¥71.26/ 月

  • 通话纪要¥35.62
  • 跟进邮件¥26.04
  • 线索评分¥2.4
  • CRM 备注清洗¥7.2
看用量假设

业务问题

销售每天打电话、开会,CRM 里却常常只有一句“已沟通,待跟进”。客户的痛点、预算、决策人、下一步约定散落在各人的记忆和聊天记录里,换人跟进就得从头再问一遍。

线索越来越多,先跟进谁全凭感觉;CRM 备注格式五花八门,想按行业、阶段、下次跟进时间做个统计都做不出来。

大模型适合把这些文字工作先做一遍:从转写稿整理纪要,按约定起草跟进邮件,按写清楚的标准给线索评分,把历史备注整理成统一字段。邮件由销售改过再发,评分标准由销售负责人来定。

推荐模型组合

推荐模型按实时目录自动选取,价格取各模型最低价分组,更新于 2026年11月13日 17:53。点模型名可查看全部分组价格。

参考架构

  1. 1

    转写与收集

    通话录音按语音转写方案转成文字,会议软件导出的转写稿可以直接用;新线索来自官网表单、展会名单或 CRM 导出。

  2. 2

    纪要写回 CRM

    主力模型从转写稿抽取固定字段:摘要、痛点、异议、决策人、下一步和日期,只写对话里出现过的内容,按 JSON 写回 CRM 对应字段。

  3. 3

    起草跟进邮件

    根据纪要和客户资料起草邮件,保存为草稿,由销售修改后发送;价格、折扣、交期只引用纪要里明确说过的内容。

  4. 4

    按标准给线索评分

    销售负责人写好评分标准和分值,小模型对每条标准回答是、否或不确定,程序按分值求和、排出跟进顺序;标准调整后重新计算。

  5. 5

    夜间批量处理

    历史备注清洗和线索评分放到夜间批量跑,客户端限制并发数(比如 8 个),遇到 429 等一会儿再重试,失败的放回队列第二天再跑。

  6. 6

    按团队分 Key 管成本

    每个销售团队或区域一把 API Key,并设好额度上限;控制台「操作日志」按 Key 筛选、导出 CSV,就能按团队核算模型费用。

成本估算

假设:30 人的销售团队,每月 3,000 通电话或会议,转写稿每份约 6,000 tokens,整理纪要每次输入约 7,000 tokens、输出约 600 tokens;起草 3,000 封跟进邮件,每封输入约 1,500 tokens、输出约 400 tokens;1 万条新线索评分,每条输入约 800 tokens、输出约 100 tokens;夜间清洗 2 万条历史备注,每条输入约 600 tokens、输出约 300 tokens。

项目模型用量假设费用
通话纪要qwen3.5-plus3,000 次 × 输入 7,000 + 输出 600 tokens¥35.62
跟进邮件deepseek-v4.1-flash3,000 次 × 输入 1,500 + 输出 400 tokens¥26.04
线索评分gemini-2.5-flash-lite10,000 次 × 输入 800 + 输出 100 tokens¥2.4
CRM 备注清洗gemini-2.5-flash-lite20,000 次 × 输入 600 + 输出 300 tokens¥7.2
合计(每月)¥71.26

按各模型最低价分组的实时价格计算,价格更新于 2026年11月13日 17:53。

只含模型调用费用,不含录音转写、CRM 系统和人工成本,录音转文字的费用见语音转写方案。历史备注清洗通常是一次性或阶段性的,清洗完之后每月只需处理新增备注。按团队分 Key 时,各团队的实际费用以控制台「操作日志」为准。

示例代码

每个团队一把 Key;主力模型把转写稿整理成 CRM 字段,小模型按评分标准逐项判断、程序计分,线索评分用线程池批量跑;跟进邮件只生成草稿,由销售修改后发送。

示例代码(Python,纪要、线索评分与跟进邮件)
import json
import os
from concurrent.futures import ThreadPoolExecutor
from openai import OpenAI

# One API key per sales team (e.g. TUTUJIN_KEY_EAST): usage details can then be filtered and exported per key.
TEAM = os.environ.get("SALES_TEAM", "EAST")
client = OpenAI(base_url="https://www.tutujin.com/v1", api_key=os.environ["TUTUJIN_KEY_" + TEAM], max_retries=3)

# Set by the sales lead; every lead is scored on the same criteria.
CRITERIA = [
    {"id": "budget", "points": 30, "text": "Mentions a budget or a buying timeline"},
    {"id": "authority", "points": 25, "text": "The contact decides or names who decides"},
    {"id": "need", "points": 30, "text": "Describes a problem our product solves"},
    {"id": "fit", "points": 15, "text": "Company has 50 to 2,000 employees"},
]


def ask(model, system, user, temperature=0):
    resp = client.chat.completions.create(
        model=model,
        messages=[{"role": "system", "content": system}, {"role": "user", "content": user}],
        temperature=temperature,
    )
    return resp.choices[0].message.content


def as_json(raw):
    return json.loads(raw[raw.find("{"): raw.rfind("}") + 1])


def call_notes(transcript):
    return as_json(ask(
        "qwen3.5-plus",
        "Turn the sales call transcript into CRM notes. Use only what was said. Reply with JSON only: "
        '{"summary": "", "pain_points": [], "objections": [], "decision_makers": [], "next_step": "", "next_step_date": "YYYY-MM-DD or empty"}',
        transcript,
    ))


def score_lead(lead):
    answers = as_json(ask(
        "gemini-2.5-flash-lite",
        'For each criterion answer yes, no or unknown, using only the lead data. Reply with JSON only, e.g. {"budget": "unknown"}',
        "Criteria:\n" + json.dumps(CRITERIA) + "\n\nLead:\n" + json.dumps(lead, ensure_ascii=False),
    ))
    return {"id": lead["id"], "score": sum(c["points"] for c in CRITERIA if answers.get(c["id"]) == "yes"), "answers": answers}


def follow_up_draft(notes, contact):
    # saved as a draft: the rep checks and sends it
    return ask(
        "deepseek-v4.1-flash",
        "Write a short follow-up email for the sales rep. Restate the agreed next step and date. "
        "Never promise prices, discounts or delivery dates that are not in the notes.",
        "Contact: " + json.dumps(contact, ensure_ascii=False) + "\nNotes: " + json.dumps(notes, ensure_ascii=False),
        temperature=0.5,
    )


# nightly batch: score yesterday's leads with a few requests in flight at a time
leads = [{"id": 1, "company": "Example Co", "employees": 300, "message": "I run support and we must replace our ticket tool before Q3."}]
with ThreadPoolExecutor(max_workers=8) as pool:
    ranked = sorted(pool.map(score_lead, leads), key=lambda r: r["score"], reverse=True)
print(ranked)

with open("call-0412.txt", encoding="utf-8") as f:
    notes = call_notes(f.read())
print(follow_up_draft(notes, {"name": "Ms. Chen", "company": "Example Co"}))

用一把 Key 试试这个方案

注册后在控制台创建 API Key,把上面代码里的 base_url 和 Key 换成你的就能运行。企业采购、开发票可以加客服微信 JsnonoChat。

土土金客服微信二维码
微信JsnonoChat

扫码或搜索微信号添加客服

常见问题

销售团队每月用大模型要花多少钱?

按每月 3,000 通电话整理纪要、3,000 封跟进邮件、1 万条线索评分、2 万条备注清洗估算,用最低价分组计算约 ¥71.26。不含录音转写费用;转写稿越长,纪要这一项越贵。

怎么按团队统计模型费用?

给每个销售团队或区域单独建一把 API Key,并设好额度上限。控制台「操作日志」可以按 Key 筛选、导出 CSV,按团队核算;某个团队用超了,只停那一把 Key,其他团队不受影响。

批量处理大量线索要注意什么?

客户端限制并发数,从 8 个左右开始,看 429 出现的比例再调;收到 429 等一会儿再重试,失败的放回队列。批量任务可以放到夜间跑,也可以用一把单独的 Key,方便和线上调用分开统计。

模型写的跟进邮件可以自动发出吗?

不建议。模型可能写错客户名称,或者写出对话里没有的承诺。邮件应先保存为草稿,由销售核对后发送;系统提示词里也要要求只使用纪要里出现过的信息。

线索评分准不准?

取决于评分标准写得是否具体、线索资料是否完整。让模型逐条回答是、否或不确定,再由程序按固定分值计分,结果可以复核;定期把评分和实际成交情况对照,调整标准和分值。

转写稿里有客户的个人信息,能发给模型吗?

请求会经本站转发给模型服务处理。建议只提交整理纪要需要的内容,隐去手机号、身份证号这类信息,并按你们适用的个人信息保护规定和公司制度评估。