模型简介
模型特点
模型能力
使用案例
🚀 C4AI Command R 08 - 2024 模型卡片
Cohere Labs Command R 08 - 2024 是一款拥有 320 亿参数的高性能生成模型的研究版本。它是一个开放权重的大语言模型,针对推理、总结和问答等多种用例进行了优化。该模型具备多语言生成能力,在 23 种语言上进行训练,并在 10 种语言上进行评估,同时还拥有出色的检索增强生成(RAG)能力。
🚀 快速开始
如果你想在下载权重之前试用 Command R,可以在 这里 的 Hugging Face 空间中使用该模型。
请使用 transformers
4.39.1 或更高版本:
# pip install 'transformers>=4.39.1'
from transformers import AutoTokenizer, AutoModelForCausalLM
model_id = "CohereLabs/c4ai-command-r-08-2024"
tokenizer = AutoTokenizer.from_pretrained(model_id)
model = AutoModelForCausalLM.from_pretrained(model_id)
# Format message with the command-r-08-2024 chat template
messages = [{"role": "user", "content": "Hello, how are you?"}]
input_ids = tokenizer.apply_chat_template(messages, tokenize=True, add_generation_prompt=True, return_tensors="pt")
## <BOS_TOKEN><|START_OF_TURN_TOKEN|><|USER_TOKEN|>Hello, how are you?<|END_OF_TURN_TOKEN|><|START_OF_TURN_TOKEN|><|CHATBOT_TOKEN|>
gen_tokens = model.generate(
input_ids,
max_new_tokens=100,
do_sample=True,
temperature=0.3,
)
gen_text = tokenizer.decode(gen_tokens[0])
print(gen_text)
✨ 主要特性
- 多语言支持:支持 23 种语言的训练和 10 种语言的评估,包括英语、法语、西班牙语、意大利语、德语、葡萄牙语、日语、韩语、阿拉伯语和简体中文等。
- 长上下文处理:支持 128K 的上下文长度。
- 高性能 RAG 能力:能够基于提供的文档片段生成响应,并在响应中包含引用信息。
- 工具使用能力:支持单步工具使用(“函数调用”)和多步工具使用(“代理”),可以与外部工具如 API、数据库或搜索引擎进行交互。
- 代码交互能力:经过优化,可与代码进行交互,如请求代码片段、代码解释或代码重写。
📦 安装指南
请使用 transformers
4.39.1 或更高版本:
pip install 'transformers>=4.39.1'
💻 使用示例
基础用法
# pip install 'transformers>=4.39.1'
from transformers import AutoTokenizer, AutoModelForCausalLM
model_id = "CohereLabs/c4ai-command-r-08-2024"
tokenizer = AutoTokenizer.from_pretrained(model_id)
model = AutoModelForCausalLM.from_pretrained(model_id)
# Format message with the command-r-08-2024 chat template
messages = [{"role": "user", "content": "Hello, how are you?"}]
input_ids = tokenizer.apply_chat_template(messages, tokenize=True, add_generation_prompt=True, return_tensors="pt")
## <BOS_TOKEN><|START_OF_TURN_TOKEN|><|USER_TOKEN|>Hello, how are you?<|END_OF_TURN_TOKEN|><|START_OF_TURN_TOKEN|><|CHATBOT_TOKEN|>
gen_tokens = model.generate(
input_ids,
max_new_tokens=100,
do_sample=True,
temperature=0.3,
)
gen_text = tokenizer.decode(gen_tokens[0])
print(gen_text)
高级用法 - 接地生成
from transformers import AutoTokenizer
model_id = "CohereLabs/c4ai-command-r-08-2024"
tokenizer = AutoTokenizer.from_pretrained(model_id)
# define conversation input:
conversation = [
{"role": "user", "content": "Whats the biggest penguin in the world?"}
]
# define documents to ground on:
documents = [
{ "title": "Tall penguins", "text": "Emperor penguins are the tallest growing up to 122 cm in height." },
{ "title": "Penguin habitats", "text": "Emperor penguins only live in Antarctica."}
]
# render the tool use prompt as a string:
grounded_generation_prompt = tokenizer.apply_grounded_generation_template(
conversation,
documents=documents,
citation_mode="accurate", # or "fast"
tokenize=False,
add_generation_prompt=True,
)
print(grounded_generation_prompt)
高级用法 - 单步工具使用
from transformers import AutoTokenizer
model_id = "CohereLabs/c4ai-command-r-08-2024"
tokenizer = AutoTokenizer.from_pretrained(model_id)
# define conversation input:
conversation = [
{"role": "user", "content": "Whats the biggest penguin in the world?"}
]
# Define tools available for the model to use:
tools = [
{
"name": "internet_search",
"description": "Returns a list of relevant document snippets for a textual query retrieved from the internet",
"parameter_definitions": {
"query": {
"description": "Query to search the internet with",
"type": 'str',
"required": True
}
}
},
{
'name': "directly_answer",
"description": "Calls a standard (un-augmented) AI chatbot to generate a response given the conversation history",
'parameter_definitions': {}
}
]
# render the tool use prompt as a string:
tool_use_prompt = tokenizer.apply_tool_use_template(
conversation,
tools=tools,
tokenize=False,
add_generation_prompt=True,
)
print(tool_use_prompt)
📚 详细文档
模型详情
- 输入:仅接受文本输入。
- 输出:仅生成文本输出。
- 模型架构:这是一个自回归语言模型,使用了优化的 Transformer 架构。在预训练之后,该模型使用监督微调(SFT)和偏好训练来使模型行为符合人类对有用性和安全性的偏好。使用分组查询注意力(GQA)来提高推理速度。
- 支持的语言:在 23 种语言(英语、法语、西班牙语、意大利语、德语、葡萄牙语、日语、韩语、阿拉伯语、简体中文、俄语、波兰语、土耳其语、越南语、荷兰语、捷克语、印尼语、乌克兰语、罗马尼亚语、希腊语、印地语、希伯来语和波斯语)上进行训练,并在 10 种语言(英语、法语、西班牙语、意大利语、德语、葡萄牙语、日语、韩语、阿拉伯语、简体中文)上进行评估。
- 上下文长度:支持 128K 的上下文长度。
接地生成和 RAG 能力
Command R 08 - 2024 经过专门训练,具备接地生成能力。这意味着它可以根据提供的文档片段列表生成响应,并在响应中包含引用信息,以表明信息的来源。这可用于实现接地总结和检索增强生成(RAG)的最后一步。这种行为通过监督微调与偏好微调的结合进行训练,使用特定的提示模板。偏离此提示模板可能会降低性能,因此建议使用下面描述的提示模板。
有关使用 Command R 08 - 2024 的接地生成提示模板的详细文档,请参阅 这里、这里 和 这里。
单步工具使用能力(“函数调用”)
单步工具使用(或“函数调用”)允许 Command R 08 - 2024 与外部工具(如 API、数据库或搜索引擎)进行交互。单步工具使用由两个模型推理步骤组成:
- 工具选择:模型决定调用哪些工具以及使用什么参数。然后由开发人员执行这些工具调用并获取工具结果。
- 响应生成:模型根据工具结果生成最终响应。
有关单步工具使用的更多信息,请参阅 文档。
多步工具使用能力(“代理”)
多步工具使用适用于构建能够使用多个工具规划和执行一系列操作的代理。与单步工具使用不同,模型可以执行多个推理周期,通过“行动 → 观察 → 反思”的循环迭代,直到确定最终响应。有关多步工具使用的更多详细信息,请参阅 多步工具使用文档。
代码能力
Command R 08 - 2024 经过优化,可与代码进行交互,如请求代码片段、代码解释或代码重写。对于纯代码补全,它可能无法直接达到良好的性能。为了获得更好的性能,建议在与代码生成相关的指令中使用较低的温度(甚至贪婪解码)。
🔧 技术细节
- 模型类型:自回归语言模型,使用优化的 Transformer 架构。
- 训练数据:在 23 种语言的数据上进行训练。
- 微调方法:使用监督微调(SFT)和偏好训练来使模型行为符合人类对有用性和安全性的偏好。
- 注意力机制:使用分组查询注意力(GQA)来提高推理速度。
属性 | 详情 |
---|---|
模型类型 | 自回归语言模型,使用优化的 Transformer 架构 |
训练数据 | 在 23 种语言的数据上进行训练 |
微调方法 | 监督微调(SFT)和偏好训练 |
注意力机制 | 分组查询注意力(GQA) |
📄 许可证
本模型受 CC - BY - NC 许可证约束,同时需要遵守 Cohere Lab 的可接受使用政策。
模型卡片联系方式
如果对本模型卡片中的细节有错误反馈或额外问题,请联系 labs@cohere.com。
使用条款
我们希望通过向全球研究人员发布这个拥有 320 亿参数的高性能模型的权重,使基于社区的研究工作更加容易开展。该模型受 CC - BY - NC 许可证约束,并附有可接受使用附录,同时还需要遵守 Cohere Lab 的可接受使用政策。
试用聊天
你可以在 这里 的 playground 中试用 Command - R 聊天。
引用
如需引用此模型,请使用以下 BibTeX 格式:
@misc {cohere_for_ai_2024,
author = { {Cohere Labs} },
title = { c4ai-command-r-08-2024 },
year = 2024,
url = { https://huggingface.co/CohereLabs/c4ai-command-r-08-2024 },
doi = { 10.57967/hf/3134 },
publisher = { Hugging Face }
}



