license: apache-2.0
library_name: transformers
base_model:
- Qwen/Qwen2.5-32B
pipeline_tag: text-generation
Cogito v1 预览版 - 32B
博客文章
Cogito 大语言模型是指令调优的生成式模型(文本输入/文本输出)。所有模型均采用开放许可协议,允许商业用途。
- Cogito 模型是混合推理模型。每个模型可以直接回答问题(标准大语言模式),或在回答前进行自我反思(类似推理模型)。
- 这些大语言模型采用**迭代蒸馏与放大(IDA)**训练——一种可扩展且高效的对齐策略,通过迭代自我改进实现超智能。
- 模型针对编程、STEM、指令遵循和通用帮助性进行了优化,在多语言、编程和工具调用能力上显著优于同规模竞品。
- 无论是标准模式还是推理模式,Cogito v1 预览版模型在常见行业基准测试中均优于同规模竞品。
- 每个模型支持 30 多种语言训练,上下文长度达 128k。
评估
我们将模型与同规模的最先进模型在直接模式和推理模式下进行对比。直接模式对比对象为 Llama/Qwen 指令调优版,推理模式则使用 Deepseek 的 R1 蒸馏版和 Qwen 的 QwQ 模型。
Livebench 全球平均分:
详细评估请参阅博客文章。
使用方法
以下是 Transformers 的使用示例:
import transformers
import torch
model_id = "deepcogito/cogito-v1-preview-qwen-32B"
pipeline = transformers.pipeline(
"text-generation",
model=model_id,
model_kwargs={"torch_dtype": torch.bfloat16},
device_map="auto",
)
messages = [
{"role": "system", "content": "你是一个海盗聊天机器人,回答时请始终使用海盗口吻!"},
{"role": "user", "content": "简单介绍一下大语言模型。"},
]
outputs = pipeline(
messages,
max_new_tokens=512,
)
print(outputs[0]["generated_text"][-1])
启用深度思考
- 默认情况下,模型以标准模式回答。
- 启用思考模式有两种方法:
- 添加特定系统提示,或
- 在应用聊天模板时设置
enable_thinking=True
。
方法 1 - 添加特定系统提示
在系统提示中使用:system_instruction = '启用深度思考子程序。'
若已有系统提示,则使用:system_instruction = '启用深度思考子程序。' + '\n\n' + system_instruction
示例:
DEEP_THINKING_INSTRUCTION = "启用深度思考子程序。"
messages = [
{"role": "system", "content": DEEP_THINKING_INSTRUCTION},
{"role": "user", "content": "编写一个 bash 脚本,将格式为 '[1,2],[3,4],[5,6]' 的矩阵字符串转置并输出相同格式的结果。"},
]
方法 2 - 在分词器中设置 enable_thinking
使用 Huggingface 分词器时,只需在模板应用中添加参数:
text = tokenizer.apply_chat_template(
messages,
tokenize=False,
add_generation_prompt=True,
enable_thinking=True
)
工具调用
Cogito 模型支持工具调用(单次、并行、多次及并行多次),适用于标准和深度思考模式。
示例:
def get_current_temperature(location: str) -> float:
"""获取指定地点的当前温度"""
return 22.0
messages = [{"role": "user", "content": "巴黎现在多少度?"}]
text = tokenizer.apply_chat_template(messages, tools=[get_current_temperature], add_generation_prompt=True)
工具调用响应示例:
<tool_call>
{"name": "get_current_temperature", "arguments": {"location": "Paris, France"}}
</tool_call>
处理工具结果后再次生成:
messages.append({"role": "tool", "name": "get_current_temperature", "content": "22.0"})
output_text = "巴黎当前气温为 22.0 度。"
许可证
本仓库及模型权重遵循 Apache 2.0 许可协议。
联系我们
邮件联系:contact@deepcogito.com