能力标签
🛠
AI工具

中文大模型通用SDK

基于 Python · 开源免费,本地部署,数据完全自主可控
英文名:cnllm
⭐ 121 Stars 🍴 13 Forks 💻 Python 📄 Apache-2.0 🏷 AI 7.8分
7.8AI 综合评分
SDK中文大模型工作流接口适配批量处理
✦ AI Skill Hub 推荐

经 AI Skill Hub 精选评估,中文大模型通用SDK 获评「推荐使用」。这款AI工具在功能完整性、社区活跃度和易用性方面表现出色,AI 评分 7.8 分,适合有一定技术背景的用户使用。

📚 深度解析
中文大模型通用SDK 是一款基于 Python 的开源工具,在 GitHub 上收获 0k+ Star,是SDK、中文大模型、工作流、接口适配领域中的优质开源项目。开源工具的最大优势在于代码完全透明,你可以审计每一行代码的安全性,也可以根据自身需求进行二次开发和定制。

**为什么要使用开源工具而非商业 SaaS?**
对于个人开发者和有隐私需求的用户,本地部署的开源工具意味着数据不离本机,不受第三方服务商的数据政策约束。同时,开源工具通常没有使用次数限制和月度费用,一次安装即可长期使用,对于高频使用场景的总拥有成本(TCO)远低于订阅制商业工具。

**安装与环境准备**
中文大模型通用SDK 依赖 Python 运行环境。建议通过 pyenv(Python)或 nvm(Node.js)管理 Python 版本,避免全局环境污染。对于新手用户,推荐先创建虚拟环境(python -m venv venv && source venv/bin/activate),再安装依赖,这样即使出现问题也可以随时删除虚拟环境重新开始,不影响系统稳定性。

**社区与维护**
GitHub Issue 和 Discussion 是获取帮助的最快渠道。在提问前建议先检查 Closed Issues(已关闭的问题),大多数常见问题都已有解答。遇到 Bug 时,提供 pip list 的输出、完整错误堆栈和最小可复现示例,能显著提高开发者响应速度。AI Skill Hub 将持续追踪 中文大模型通用SDK 的版本更新,及时通知重要功能变化。
📋 工具概览

专为中文优化的AI大模型SDK,提供统一接口适配、响应解析增强和批量处理能力。深度集成OpenAI生态的LangChain、LlamaIndex、AutoGen等框架,适合构建中文AI应用和工作流的开发者。

中文大模型通用SDK 是一款基于 Python 开发的开源工具,专注于 SDK、中文大模型、工作流 等核心功能。作为 GitHub 开源项目,它拥有活跃的社区支持和持续的版本迭代,代码完全透明可审计,支持本地部署以保护数据隐私。无论是个人使用还是集成到企业工作流,都能提供稳定可靠的解决方案。

GitHub Stars
⭐ 121
开发语言
Python
支持平台
Windows / macOS / Linux
维护状态
轻量级项目,按需更新
开源协议
Apache-2.0
AI 综合评分
7.8 分
工具类型
AI工具
Forks
13
📖 中文文档
以下内容由 AI Skill Hub 根据项目信息自动整理,如需查看完整原始文档请访问底部「原始来源」。

专为中文优化的AI大模型SDK,提供统一接口适配、响应解析增强和批量处理能力。深度集成OpenAI生态的LangChain、LlamaIndex、AutoGen等框架,适合构建中文AI应用和工作流的开发者。

中文大模型通用SDK 是一款基于 Python 开发的开源工具,专注于 SDK、中文大模型、工作流 等核心功能。作为 GitHub 开源项目,它拥有活跃的社区支持和持续的版本迭代,代码完全透明可审计,支持本地部署以保护数据隐私。无论是个人使用还是集成到企业工作流,都能提供稳定可靠的解决方案。

📌 核心特色
  • 开源免费,支持本地部署,数据完全自主可控
  • 活跃的 GitHub 开源社区,持续迭代更新
  • 提供详细文档和使用示例,新手友好
  • 支持自定义配置,灵活适配不同使用环境
  • 可作为基础组件集成进现有技术栈或进行二次开发
🎯 主要使用场景
  • 本地部署运行,保护数据隐私,满足合规要求
  • 自定义集成到现有系统,扩展技术栈能力
  • 作为开源基础组件进行商业化二次开发
以下安装命令基于项目开发语言和类型自动生成,实际以官方 README 为准。
安装命令
# 方式一:pip 安装(推荐)
pip install cnllm

# 方式二:虚拟环境安装(推荐生产环境)
python -m venv .venv
source .venv/bin/activate  # Windows: .venv\Scripts\activate
pip install cnllm

# 方式三:从源码安装(获取最新功能)
git clone https://github.com/kanchengw/cnllm
cd cnllm
pip install -e .

# 验证安装
python -c "import cnllm; print('安装成功')"
📋 安装步骤说明
  1. 访问 GitHub 仓库页面
  2. 按照 README 文档完成依赖安装
  3. 根据系统环境完成初始化配置
  4. 参考官方示例或文档开始使用
  5. 遇到问题可在 GitHub Issues 中查找解答
以下用法示例由 AI Skill Hub 整理,涵盖最常见的使用场景。
常用命令 / 代码示例
# 命令行使用
cnllm --help

# 基本用法
cnllm input_file -o output_file

# Python 代码中调用
import cnllm

# 示例
result = cnllm.process("input")
print(result)
以下配置示例基于典型使用场景生成,具体参数请参照官方文档调整。
配置示例
# cnllm 配置文件示例(config.yml)
app:
  name: "cnllm"
  debug: false
  log_level: "INFO"

# 运行时指定配置文件
cnllm --config config.yml

# 或通过环境变量配置
export CNLLM_API_KEY="your-key"
export CNLLM_OUTPUT_DIR="./output"
📑 README 深度解析 真实文档 完整度 64/100 查看 GitHub 原文 →
以下内容由系统直接从 GitHub README 解析整理,保留代码块、表格与列表结构。

简介

![Figure 1][Figure 1]

[Figure 1]: pics/figure_1.png

支持的模型

Chat Completions 支持:

  • DeepSeek
  • deepseek-chatdeepseek-reasonerdeepseek-v4-prodeepseek-v4-flash
  • KIMI (Moonshot AI)
  • kimi-k2.6kimi-k2.5moonshot-v1-128kmoonshot-v1)、moonshot-v1-8kmoonshot-v1-32kmoonshot-v1-vision-preview
  • 豆包 Doubao
  • doubao-seed-2-0-pro-260215doubao-seed-2-0-pro)、doubao-seed-2-0-mini-260215doubao-seed-2-0-mini)、doubao-seed-2-0-lite-260215doubao-seed-2-0-lite)、doubao-seed-2-0-code-preview-260215doubao-seed-2-0-code)、doubao-seed-1-8-251228doubao-seed-1-8)、doubao-seed-1-6-251015doubao-seed-1-6)、doubao-seed-1-6-flash-250828doubao-seed-1-6-flash)、doubao-seed-1-6-vision-250815doubao-seed-1-6-vision)、doubao-1-5-vision-pro-32k-250115doubao-1-5-vision-pro)、doubao-seed-1-5-lite-32k-250115doubao-seed-1-5-lite)、doubao-seed-1-5-pro-32k-250115doubao-seed-1-5-pro-32k)、doubao-seed-1-5-pro-256k-250115doubao-seed-1-5-pro
  • 智谱 GLM
  • glm-4.6glm-4.7glm-4.7-flashglm-4.7-flashxglm-5glm-5-turboglm-5.1glm-4.5glm-4.5-xglm-4.5-airglm-4.5-airxglm-4.5-flashglm-5v-turboglm-4.5vglm-4.6vglm-4.6v-flash
  • 小米 mimo
  • mimo-v2-promimo-v2-omnimimo-v2-flashmimo-v2.5-promimo-v2.5
  • MiniMax
  • MiniMax-M2MiniMax-M2.1MiniMax-M2.5MiniMax-M2.5-highspeedMiniMax-M2.7MiniMax-M2.7-highspeed
  • 千问 Qwen
  • qwen3.6-max-previewqwen3.6-plusqwen3.6-flashqwen3.5-plusqwen3.5-flashqwen3.5-397b-a17bqwen3.5-122b-a10bqwen3.5-27bqwen3.5-35b-a3b
  • 百度千帆 Baidu
  • ernie-5.1ernie-5.0ernie-5.0-thinking-perviewernie-4.5-8k-previewernie-4.5-turbo-128kernie-4.5-turbo)、ernie-4.5-turbo-32kernie-4.5-turbo-vlernie-4.5-turbo-vl-32kernie-4.5-0.3bernie-speed-pro-128kernie-speed-pro)、ernie-lite-pro-128kernie-lite-pro)、ernie-x1.1ernie-x1-turbo-32kernie-x1-turbo
  • 腾讯混元 Hunyuan
  • hy3-previewhunyuan-2.0-thinking-20251109hunyuan-2.0-thinking)、hunyuan-2.0-instruct-20251111hunyuan-2.0-instruct

Embeddings 支持:

  • GLMembedding-2embedding-3embedding-3-pro
  • 千问 Qwentext-embedding-v4text-embedding-v3text-embedding-v2text-embedding-v1
  • 百度千帆 Baiduembedding-v1bge-large-zhbge-large-en

2.5 批量调用高级功能

批量 chat completions/Embeddings 调用都支持进度回调、自定义请求 ID 、遇错停止、字段存储控制、未知参数处理策略

2.5.1 自定义请求 ID

通过 custom_ids 参数为批量请求指定自定义 ID,批量响应中会替换原 request\_id。

resp = client.embeddings.batch(
    input=["文本1", "文本2", "文本3"],
    custom_ids=["doc_001", "doc_002", "doc_003"]
)

resp.results["doc_001"]          # 获取 doc_001 的响应
resp.think["doc_002"]            # 获取 doc_002 的推理内容

2.5.2 进度回调

回调会在每个请求完成时被调用,可以用于:

  • 实时显示处理进度
  • 记录已完成的任务
  • 动态调整后续任务
  • ...
def on_complete(request_id, status):          # 回调函数示例,支持自定义
    print(f"[{request_id}] {status}")

resp = client.chat.batch(
    requests,
    callbacks=[on_complete]
)

2.5.3 遇错停止

当批量请求遭遇第一个错误时,会立即抛出异常并中断后续任务,若批量请求中存在成功请求,则同时返回批量对象,其中包含已处理的请求结果,可被正常访问:

```python resp = client.embeddings.batch( input=requests, stop_on_error=True )

1. 快速开始

1.1 安装

#### 1.1.1 SDK 安装

pip install cnllm

1.1.2 作为 Agent Skill 安装

一键安装

npx skills add https://github.com/kanchengw/cnllm

或手动将项目根目录的 SKILL.md 文件复制到 Agent 的技能目录下,在调用中文大模型时, 会优先使用 CNLLM

BatchResponse(status={...}, usage={...})

print(resp.results)

BatchResponse(status={...},usage={...},batch_info={...})


**to\_dict():** 将响应转换为字典,保留指定字段,未在 keep 声明的字段若保留会产生警告:
python resp.to_dict() # 默认:保留 vectors 字段 + 元数据 (status/usage/batch_info) resp.to_dict(results=True) # 保留 results 字段 + 元数据 (status/usage/batch_info) ```

2.4 批量调用控制参数

批量调用支持重试策略、并发控制参数配置:

参数类型默认值说明
batch_sizeint动态计算批处理大小,仅 Embeddings 调用支持配置
max_concurrentint12/3最大并发数,Embeddings 默认12,Chat completions 默认3
rpsfloat10/2每秒请求数,Embeddings 默认10,Chat completions 默认2
timeoutint30单请求超时(秒)
max_retriesint3最大重试次数
retry_delayfloat1.0重试延迟(秒)

batch\_size: 仅支持批量 Embeddings 调用时配置,默认根据请求数量自适应计算,不建议手动配置。

4. CNLLM 统一接口参数

除下表中作特殊说明的参数,其他参数都接受在客户端初始化和调用入口配置,调用入口处的配置会覆盖客户端初始化的配置。

4.1 CNLLM 请求参数

CNLLM 请求参数与OpenAI 标准参数基本一致,覆盖范围基于国内厂商情况稍有扩展,未覆盖的参数则使用厂商命名并进行透传。 注:并非所有支持模型都支持全部请求参数,请参考厂商官方文档确认,或配置 drop_params="ignore" 以忽略不支持的参数。

4.1.1 基础参数

| 参数 | 类型 | 默认值 | 说明 | | ------------------- | ------------------------------- | ------------------------------- | ------------------------------------------------------ | | model | str | - | 模型名称,客户端初始化必填,调用入口可覆盖 | | api_key | str | - | API 密钥 | | base_url | str | 自动适配 | 可自定义 API 地址 | | messages | list[dict]/list[list[dict]] | - | chat() 输入参数,支持上下文管理/图片识别(仅支持调用入口配置) | | prompt | str/list[str] | - | chat() 输入参数(仅支持调用入口配置) | | requests | list[dict] | - | chat.batch() 输入参数,支持对批量请求中 per-request 独立配置(仅支持调用入口配置) | | input | str/list[str] | - | embeddings() 输入参数(仅支持调用入口配置) | | stream | bool | False | 流式响应 | | thinking ¹ | bool/dict | 由模型端口决定,默认多为 False | 思考模式,支持 True/False,部分模型支持 "auto" | | tools | list | - | 工具/函数定义列表 |

¹ thinking 映射: - GLM、DeepSeek、Baidu、Hunyuan、Xiaomi、Kimi:True{"type": "enabled"}False{"type": "disabled"} - Doubao:True"enabled"False"disabled""auto""auto" - Qwen:Trueenable_thinking: trueFalseenable_thinking: false

4.1.2 高级参数

| 参数 | 类型 | 默认值 | 说明 | | ------------------- | ------------------------------- | ------------------------------- | ------------------------------------------------------ | | temperature | float | 由模型端口决定 | 生成随机性 | | max_completion_tokens | int | 由模型端口决定 | 最大生成 token 数(包含思维链) | | max_tokens | int | 由模型端口决定 | 最大生成 token 数(不包含思维链) | | top_p | float | 由模型端口决定 | 核采样阈值 | | stop | str/list | - | 停止序列 | | reasoning_effort | str | 由模型端口决定 | 推理深度控制 | | tool_choice | str/dict | - | 工具选择策略 | | response_format | dict | 由模型端口决定,默认多为 {"type": "text"} | 响应格式 | | n | int | 1 | 生成候选数 | | presence_penalty | float | - | 存在惩罚 | | frequency_penalty | float | - | 频率惩罚 | | logit_bias | dict | - | Token 级别偏差 | | user ¹ | str | - | 用户标识 | | seed | int | - | 随机种子,相同 seed 可复现结果 | | stream_options | dict | - | 流式输出配置,如 {"include_usage": true} | | logprobs | bool | False | 是否返回输出 Token 的对数概率 | | top_logprobs | int | 0 | 每个位置返回概率最高的候选 Token 个数 |

¹ user 映射: - GLM: useruser_id

4.1.3 厂商透传参数

4.1.1/4.1.2 中未覆盖的其他模型支持的参数,CNLLM 会透传到模型端口。

厂商透传参数
**KIMI**prompt_cache_key, safety_identifier, stream_options
**Doubao**service_tier, stream_options
**GLM**do_sample, request_id, tool_stream, dimensions
**MiniMax**stream_options(原生接口),group_id(原生接口)
**千问Qwen**enable_thinking, preserve_thinking, thinking_budget, top_k, repetition_penalty, vl_high_resolution_images, enable_code_interpreter, enable_search, search_options, parallel_tool_calls, dimensions
**百度千帆Baidu**enable_thinking, thinking_budget, thinking_strategy, penalty_score, repetition_penalty, parallel_tool_calls, web_search, metadata

4.2 SDK 控制参数

CNLLM 内部定义的参数,控制内部执行的行为或策略,不向 API 端口传输。

4.2.1 通用参数

参数类型默认值说明
timeoutint60请求超时(秒)
max_retriesint3最大重试次数
retry_delayfloat1.0重试延迟(秒)
fallback_models¹dict-备用模型(仅支持客户端初始化配置),见下方说明
drop_paramsstr"warn"见 [未知参数处理策略](#255)

¹fallback_models 模型降级策略:

备用模型仅支持客户端初始化时配置,若 model 未成功响应,将顺序尝试传入的fallback_models,对应用的稳健性有要求,建议配置此项,并配置 drop_params="ignore" 避免参数支持性的影响。

fallback_models = {
    "deepseek-chat": {
        "api_key": "ds-key-456",     # 必填
        "base_url": "https://api.deepseek.com/v1",
    },
    "qwen-plus": {
        "api_key": "my-key",         # 不配置 base_url 时,使用默认 URL
    },
}

说明: - 调用入口处再次指定 model 会覆盖客户端配置的主模型,当调用入口的 model 失败时,仍会尝试 fallback_models - chat.batch() 中按 per-req 尝试 fallback - 不可重试的错误(模型不存在、参数缺失、内容过滤)会直接抛出,不触发 fallback - 全部模型失败时抛出 FallbackError,聚合所有失败信息

4.2.2 批量方法参数

仅对 chat.batch()embeddings.batch() 调用生效:

参数类型默认值说明
max_concurrentintChat: 3 / Embeddings: 12最大并发数
rpsfloatChat: 2 / Embeddings: 10每秒请求数限制
batch_sizeint动态计算批处理大小,仅 Embeddings 支持
stop_on_errorboolFalse遇错时停止后续请求,返回已处理结果
callbackslist-进度回调函数列表
custom_idslist[str]-自定义请求 ID 列表
keepset/list见 [字段存储控制](#254)迭代后保留的数据字段

deepseek-v4 系列需配置 thinking=False ,以接收 with_structured_output() 中包含的 tool_choice 参数;其他模型/厂商无此限制

class Person(BaseModel): name: str = Field(description="姓名") age: int = Field(description="年龄")

structured = runnable.with_structured_output(Person) result = structured.invoke("张三28岁") print(result) # → Person(name="张三", age=28)

{'id': '...', 'object': '...', 'created': '...', 'model': '...', 'choices': [{'delta': {'content': '实时累积的模型回复', 'reasoning_content': '实时累积的推理过程'}, 'finish_reason': 'None'}]}

```

reasoning_content chunks (模型推理过程,若有):

{'id': 'chatcmpl-xxx', 'object': 'chat.completion.chunk', 'created': 1234567890, 'model': 'minimax-m2.7', 'choices': [{'index': 0, 'delta': {'reasoning_content': '推理..'}, 'finish_reason': None}]}

5. 框架集成

🎯 aiskill88 AI 点评 B 级 2026-05-23

针对中文大模型优化的实用SDK,解决OpenAI生态中文适配痛点,架构清晰功能完整,值得关注

⚡ 核心功能
👥 适合人群
AI 技术爱好者研究人员和学生开发者和工程师技术创业者
🎯 使用场景
  • 本地部署运行,保护数据隐私,满足合规要求
  • 自定义集成到现有系统,扩展技术栈能力
  • 作为开源基础组件进行商业化二次开发
⚖️ 优点与不足
✅ 优点
  • +Apache-2.0 协议,可免费商用
  • +完全开源免费,无授权费用
  • +本地部署,数据完全自主可控
  • +开发者社区支持,遇问题可查可问
⚠️ 不足
  • 安装和初始配置可能需要一定技术基础
  • 功能完整性通常不如成熟商业产品
  • 技术支持主要依赖开源社区,响应速度不稳定
⚠️ 使用须知

AI Skill Hub 为第三方内容聚合平台,本页面信息基于公开数据整理,不对工具功能和质量作任何法律背书。

建议在沙箱或测试环境中充分验证后,再部署至生产环境,并做好必要的安全评估。

📄 License 说明

✅ Apache 2.0 — 宽松开源协议,可商用,需保留版权声明和 NOTICE 文件,含专利授权条款。

🔗 相关工具推荐
🧩 你可能还需要
基于当前 Skill 的能力图谱,自动补全的工具组合
❓ 常见问题 FAQ
支持OpenAI及兼容生态的模型,深度适配中文场景的各类商业和开源大模型
💡 AI Skill Hub 点评

AI Skill Hub 点评:中文大模型通用SDK 的核心功能完整,质量良好。对于AI 技术爱好者来说,这是一个值得纳入个人工具库的选择。建议先在非生产环境试用,再逐步推广。

📚 深入学习 中文大模型通用SDK
查看分步骤安装教程和完整使用指南,快速上手这款工具
🌐 原始信息
原始名称 cnllm
Topics SDK中文大模型工作流接口适配批量处理
GitHub https://github.com/kanchengw/cnllm
License Apache-2.0
语言 Python
🔗 原始来源
🐙 GitHub 仓库  https://github.com/kanchengw/cnllm

收录时间:2026-05-23 · 更新时间:2026-05-24 · License:Apache-2.0 · AI Skill Hub 不对第三方内容的准确性作法律背书。