1. 为什么你需要一张 LLM 分类地图大语言模型LLM这个词现在几乎天天出现在技术群和需求文档里但真正落到选型时很多人还是会卡住同样是「大模型」为什么有的适合做文本分类有的适合写代码有的能一口气读完 200 页 PDF答案藏在分类维度里。LLM 不是一个单一物种而是一个庞大的家族按架构、训练方式、规模、应用定位、技术特性、开源与否可以切出至少六个维度。你不需要背下所有模型名字但需要建立一套判断框架才能在面对「用哪个模型」这个问题时快速缩小范围。这篇文章面向正在做 AI 应用落地的开发者尤其是需要对接多家模型 API、做模型对比或搭建统一调用通道的人。我会先把分类体系拆成可对照的表格再给出一套基于 TaoToken 统一 Key/API 通道的配置骨架让你用同一套代码去验证不同 LLM 的调用差异。整个过程不需要你分别注册五六家平台也不需要维护多套鉴权逻辑。读完你至少能拿到三样东西一张能直接贴进选型文档的分类对照表、一份可复制的多模型调用配置、一套遇到报错时能自己排查的检查清单。2. 六个分类维度从架构到应用场景2.1 按基础架构Encoder-only、Decoder-only、Encoder-Decoder架构决定了模型「怎么看文本」。Encoder-only 用双向注意力同时看上下文两侧擅长理解类任务比如文本分类、情感分析、命名实体识别代表是 BERT 系列。Decoder-only 是自回归生成从左到右逐 token 预测适合开放式生成、对话、代码GPT、LLaMA、Claude、Qwen 都属于这一类。Encoder-Decoder 则是编码器理解输入、解码器生成输出典型场景是翻译、摘要、问答T5、BART、GLM 是代表。当前主流是 Decoder-only因为 GPT 系列验证了自回归生成在通用任务上的扩展性。你在选型时如果做的是分类或抽取Encoder-only 的小模型往往性价比更高如果做对话或生成直接看 Decoder-only。2.2 按训练范式预训练、指令微调、对齐、多模态训练范式决定模型「会不会听话」。基础预训练模型只有通用语言能力不懂指令指令微调模型SFT学会了遵循「翻译这段话」「总结文章」这类要求对齐模型RLHF/RLAIF进一步优化了安全性和有用性ChatGPT、Claude 3 Opus 属于这一层。多模态模型则融合文本、图像、音频、视频GPT-4V、Gemini 1.5 Pro、Qwen-VL 是代表。实际调用时你会发现同一个基座模型的不同版本指令遵循能力差异很大。选型时优先看是否经过 SFT 和 RLHF除非你要自己做微调。2.3 按规模小型、中型、大型、超大规模参数量直接影响部署成本和能力上限。小于 10B 的小型模型适合端侧、IoT、边缘计算比如 Phi-3-mini、Gemma-2B、Qwen2-1.5B。10B 到 70B 的中型模型是性能和成本的最佳平衡点个人服务器和中小企业私有化部署首选LLaMA-2-13B、Mistral-7B、ChatGLM3-6B 都在这个区间。70B 到 100B 的大型模型能力接近顶级闭源但需要专业硬件LLaMA-2-70B、Qwen-72B、Mixtral 8x7B 是代表。超大规模模型100B 到万亿级只有少数头部机构能训练和部署GPT-4、PaLM-2 属于这一档。这里有个容易踩的坑MoE 架构的总参数量很大但实际推理只激活一部分。比如 Mixtral 8x7B 总参数 46.7B激活约 12.9B不能简单按总参数判断硬件需求。2.4 按应用定位通用、代码、垂直领域、中文优化、数学推理应用定位决定模型「擅长什么」。通用基座模型面向广泛任务GPT-4o、Claude 3.5 Sonnet、通义千问 2.5 是代表。代码专用模型针对代码理解和生成优化GitHub Copilot、CodeLlama-70B、DeepSeek-Coder-V2 属于这一类。垂直领域模型针对法律、医疗、金融深度优化LawGPT、Med-PaLM 2、BloombergGPT 是例子。中文优化模型针对中文语料和文化语境调优文心一言、通义千问、ChatGLM-4、Baichuan-3 都在做这件事。数学推理模型强化计算和证明能力DeepSeek-Math、Qwen2-Math、Minerva 是代表。选型时先问自己任务是通用问答还是代码补全还是领域知识问答定位错了再大的模型也白搭。2.5 按技术特性稠密、MoE、长上下文、RAG-native技术特性决定模型的效率和扩展性。稠密模型每次前向传播激活全部参数架构简单、训练稳定GPT-3、LLaMA-2-70B、Qwen-72B 是代表。MoE 模型把大模型拆成多个专家子网络通过门控动态激活部分专家总参数量大但推理成本低GPT-4据传 8×220B MoE、Mixtral 8x7B、DeepSeek-V2 是典型。长上下文模型支持超长输入窗口Gemini 1.5 Pro 支持 1M tokensKimi 支持 200K tokensGLM-4-9B-1M 支持 1M tokens。RAG-native 模型原生集成外部知识检索RAGFlow、Dify、Perplexity AI 属于这一类。如果你要处理整本书或大型代码库长上下文是硬指标如果知识需要实时更新RAG-native 或自己搭 RAG 更合适。2.6 按开源/闭源商业闭源、开放权重、半开放开源与闭源直接影响成本、隐私和定制化。闭源商业模型只通过 API 提供服务性能顶尖、持续迭代、无需运维但成本高、数据隐私有风险、无法定制GPT-4/GPT-4o、Claude 3、Gemini 1.5、文心一言、通义千问属于这一类。开放权重模型可以本地部署、二次开发数据隐私好、可定制、社区生态活跃但性能通常略逊于顶级闭源需要自行运维LLaMA-3、Mistral-7B/8x22B、Qwen2、DeepSeek-V2、ChatGLM-4 是代表。半开放模型权重有限开放需申请或签署协议LLaMA-2、Gemma 属于这一类。实际项目中常见做法是闭源模型做效果上限验证开放权重模型做私有化落地两者通过统一 API 通道切换。3. TaoToken 前置统一 Key 与 API 通道3.1 为什么需要统一通道做 LLM 分类验证时最麻烦的不是模型本身而是每家平台的鉴权方式、请求格式、返回结构都不一样。你可能要同时维护 OpenAI、Anthropic、Google 三套 SDK还要处理不同的错误码和限流策略。TaoToken 提供的是一个统一 Key/API 通道让你用同一套 OpenAI 兼容接口去调用不同厂商的模型省掉多平台注册和多套鉴权逻辑。官网地址是 https://taotoken.net/?utm_sourcetaotoken_aicg_blog_endutm_mediumcsdnutm_campaignrewriteutm_content API 入口是 https://taotoken.net/api 。你只需要在控制台创建一个 API Key就可以在代码里通过 base_url 切换不同模型。3.2 获取 API Key 与配置环境进入控制台后在 API Keys 页面创建一个新 Key。建议按项目或环境分开创建方便后续排查和轮换。创建后把 Key 存到环境变量里不要硬编码在代码中。export TAOTOKEN_API_KEYsk-你的实际Key export TAOTOKEN_BASE_URLhttps://taotoken.net/api如果你用的是 Python可以这样读取import os api_key os.environ.get(TAOTOKEN_API_KEY) base_url os.environ.get(TAOTOKEN_BASE_URL) print(Key 前缀:, api_key[:8] if api_key else 未设置) print(Base URL:, base_url)控制台里还能看到模型列表和用量统计建议先确认你要验证的模型是否在支持范围内。4. 可复制配置多模型调用骨架4.1 Python 调用骨架下面这段代码用 OpenAI SDK 的兼容模式通过 TaoToken 统一通道调用不同模型。你只需要改 model 参数就能在同一个脚本里对比不同 LLM 的输出。import os from openai import OpenAI client OpenAI( api_keyos.environ.get(TAOTOKEN_API_KEY), base_urlos.environ.get(TAOTOKEN_BASE_URL), ) def ask(model: str, prompt: str, temperature: float 0.7) - str: resp client.chat.completions.create( modelmodel, messages[ {role: system, content: 你是一个简洁的技术助手。}, {role: user, content: prompt}, ], temperaturetemperature, max_tokens512, ) return resp.choices[0].message.content if __name__ __main__: models [ gpt-4o, claude-3-5-sonnet, qwen2-72b, ] prompt 用一句话解释 Decoder-only 架构和 Encoder-only 架构的核心区别。 for m in models: print(f {m} ) try: print(ask(m, prompt)) except Exception as e: print(f调用失败: {e}) print()这段代码的关键点是 base_url 指向 TaoToken 的 API 入口model 参数填你要验证的模型标识。不同模型的返回结构在兼容层已经被统一成 OpenAI 格式你不需要为每个厂商写不同的解析逻辑。4.2 分类对照表可直接贴进选型文档维度类型核心特点适用任务代表模型架构Encoder-only双向注意力理解强分类、情感分析、NERBERT、RoBERTa架构Decoder-only自回归生成对话、代码、创意写作GPT-4、LLaMA-3、Claude 3架构Encoder-DecoderSeq2Seq 映射翻译、摘要、问答T5、BART、GLM训练范式基础预训练通用语言能力二次微调基座GPT-3、LLaMA-2训练范式指令微调遵循指令具体任务执行Alpaca、Vicuna训练范式对齐模型安全、有用生产环境对话ChatGPT、Claude 3 Opus规模小型 10B轻量高效端侧、IoTPhi-3-mini、Gemma-2B规模中型 10B-70B性能成本平衡私有化部署LLaMA-2-13B、Mistral-7B规模大型 70B-100B能力强企业数据中心LLaMA-2-70B、Qwen-72B应用定位通用基座广泛任务客服、创作、助手GPT-4o、通义千问 2.5应用定位代码专用代码理解生成IDE 插件、代码审查CodeLlama、DeepSeek-Coder应用定位垂直领域行业知识法律、医疗、金融Med-PaLM 2、BloombergGPT技术特性稠密全参数激活通用场景GPT-3、Qwen-72B技术特性MoE稀疏激活高性价比推理Mixtral 8x7B、DeepSeek-V2技术特性长上下文超长窗口整本书、代码库Gemini 1.5 Pro、Kimi开源/闭源闭源商业API 服务快速验证GPT-4、Claude 3开源/闭源开放权重本地部署私有化、定制LLaMA-3、Qwen24.3 选型判断清单拿到一个新需求时按这个顺序问自己第一任务是理解类还是生成类理解类优先看 Encoder-only 或经过指令微调的 Decoder-only生成类直接看 Decoder-only。第二需不需要遵循复杂指令需要的话确认模型是否经过 SFT 和 RLHF。第三部署环境是什么端侧选小型模型私有化选中型开放权重云端 API 选闭源或大型模型。第四上下文有多长超过 32K 就要专门看长上下文模型。第五数据能不能出本地不能的话开放权重本地部署是唯一选择。第六预算和延迟要求MoE 模型在总参数量大的情况下推理成本更低适合高并发场景。5. 验证请求与成功结果5.1 单模型验证先用一个模型跑通链路确认 Key、base_url、网络都正常。from openai import OpenAI import os client OpenAI( api_keyos.environ[TAOTOKEN_API_KEY], base_urlos.environ[TAOTOKEN_BASE_URL], ) resp client.chat.completions.create( modelgpt-4o, messages[{role: user, content: 回复 OK 两个字母即可。}], max_tokens10, ) print(resp.choices[0].message.content) print(usage:, resp.usage)如果返回OK并且 usage 里有 prompt_tokens 和 completion_tokens说明通道正常。5.2 多模型对比验证把 4.1 的脚本跑起来你会看到不同模型对同一个 prompt 的回答风格差异。比如问「用一句话解释 Decoder-only 和 Encoder-only 的核心区别」GPT-4o 可能偏结构化Claude 3.5 Sonnet 可能偏解释性Qwen2-72B 可能偏中文语境。这个对比过程本身就是分类认知的验证。python compare_models.py预期输出类似 gpt-4o Decoder-only 从左到右生成Encoder-only 双向理解。 claude-3-5-sonnet Decoder-only 是自回归生成每次预测下一个 tokenEncoder-only 是双向注意力同时看上下文两侧。 qwen2-72b Decoder-only 擅长生成Encoder-only 擅长理解前者是 GPT 系后者是 BERT 系。5.3 用 curl 快速验证如果你不想装 SDK可以直接用 curl 验证通道。curl -s https://taotoken.net/api/chat/completions \ -H Authorization: Bearer $TAOTOKEN_API_KEY \ -H Content-Type: application/json \ -d { model: gpt-4o, messages: [{role: user, content: 回复 OK}], max_tokens: 10 }返回 JSON 里如果有 choices 数组和 usage 字段说明请求成功。6. 本篇常见错排查6.1 401 Unauthorized最常见的原因是 Key 没设置或设置错了。检查环境变量echo $TAOTOKEN_API_KEY如果输出为空说明没 export 成功。注意 Key 前面通常有sk-前缀不要漏掉。另外确认你用的是 TaoToken 控制台创建的 Key而不是其他平台的。6.2 404 Not Foundbase_url 写错了。正确写法是https://taotoken.net/api不要在后面多加/v1或/chat。OpenAI SDK 会自动拼接/chat/completions。如果你用的是其他 SDK确认它的 base_url 拼接规则。6.3 model 参数不识别不同模型在 TaoToken 里的标识可能和官方文档不完全一样。比如 Claude 系列可能写成claude-3-5-sonnetQwen 系列可能写成qwen2-72b。建议先在控制台的模型列表里确认准确标识再填到代码里。6.4 超时或连接失败先确认网络能访问https://taotoken.net/api。如果公司网络有出口限制联系运维放行。另外检查是否设置了 HTTP_PROXY 之类的环境变量有时候本地代理会干扰请求。curl -I https://taotoken.net/api如果返回 200 或 401说明网络通如果超时就是网络问题。6.5 返回内容为空检查 max_tokens 是否设得太小或者 prompt 是否触发了内容过滤。有些模型对敏感词会返回空内容。把 max_tokens 调到 256 以上再试。6.6 usage 字段缺失部分模型在兼容层可能不返回 usage这不影响使用但会影响你的计费统计。如果需要精确统计建议在应用层自己记录 token 数或者用 tiktoken 之类的库本地估算。7. 下一步按场景选择入口分类认知建立之后下一步就是动手验证。如果你主要做模型对比和效果验证可以直接用模型对话入口快速试不同模型的输出差异https://taotoken.net/models?utm_sourcetaotoken_aicg_blog_endutm_contentmodel_chatutm_campaignrewrite 。如果你要长期做编码类任务或 Agent 开发建议看 Coding Plan它更适合持续性的代码生成和工具调用场景https://taotoken.net/coding-plan?utm_sourcetaotoken_aicg_blog_endutm_contentcoding_planutm_campaignrewrite 。如果你需要管理多个项目的 Key 和用量控制台入口在这里https://taotoken.net/console?utm_sourcetaotoken_aicg_blog_endutm_contentconsoleutm_campaignrewrite 。创建和管理 Key 的页面是https://taotoken.net/api-keys?utm_sourcetaotoken_aicg_blog_endutm_contentapi_keysutm_campaignrewrite 。接入文档里有更详细的参数说明和错误码对照https://taotoken.net/doc?utm_sourcetaotoken_aicg_blog_endutm_contentdocutm_campaignrewrite 。如果你用 Claude Code 做开发Anthropic 兼容通道的配置参考https://taotoken.net/claude-code-anthropic?utm_sourcetaotoken_aicg_blog_endutm_contentclaude_codeutm_campaignrewrite 。我自己的习惯是先把分类表贴在项目 README 里每次选型时对着表过一遍判断清单再用统一通道跑三个模型的对比请求。这样既不会漏掉关键维度也不会在多个平台之间来回切换浪费时间。