🚀 Cohere Labs Command R+ 08-2024模型卡片
Cohere Labs Command R+ 08-2024是一款具有高度先进能力的1040亿参数模型的开放权重研究版本。它支持检索增强生成(RAG)和工具使用,可自动化完成复杂任务。该模型经过23种语言的训练,并在10种语言中进行了评估,适用于推理、总结和问答等多种场景。
🚀 快速开始
在下载权重之前,你可以在我们托管的 Hugging Face Space 中试用Cohere Labs Command R+。
请使用 transformers
版本4.39.1或更高版本:
from transformers import AutoTokenizer, AutoModelForCausalLM
model_id = "CohereLabs/c4ai-command-r-plus-08-2024"
tokenizer = AutoTokenizer.from_pretrained(model_id)
model = AutoModelForCausalLM.from_pretrained(model_id)
messages = [{"role": "user", "content": "Hello, how are you?"}]
input_ids = tokenizer.apply_chat_template(messages, tokenize=True, add_generation_prompt=True, return_tensors="pt")
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种语言中进行了评估,包括英语、法语、西班牙语、意大利语、德语、葡萄牙语、日语、韩语、阿拉伯语和简体中文等。
- 检索增强生成(RAG):支持检索增强生成,能够结合外部文档生成更准确的回答,并在回答中包含引用信息。
- 工具使用能力:支持单步和多步工具使用,可与外部工具(如API、数据库或搜索引擎)进行交互,以完成复杂任务。
- 代码交互能力:经过优化,可与代码进行交互,如请求代码片段、代码解释或代码重写。
📚 详细文档
模型详情
属性 |
详情 |
输入 |
模型仅接受文本输入。 |
输出 |
模型仅生成文本输出。 |
模型架构 |
这是一个自回归语言模型,使用了优化的Transformer架构。预训练后,该模型使用监督微调(SFT)和偏好训练,使模型行为符合人类对有用性和安全性的偏好。使用分组查询注意力(GQA)提高推理速度。 |
支持语言 |
模型在23种语言上进行了训练(英语、法语、西班牙语、意大利语、德语、葡萄牙语、日语、韩语、阿拉伯语、简体中文、俄语、波兰语、土耳其语、越南语、荷兰语、捷克语、印尼语、乌克兰语、罗马尼亚语、希腊语、印地语、希伯来语和波斯语),并在10种语言中进行了评估(英语、法语、西班牙语、意大利语、德语、葡萄牙语、日语、韩语、阿拉伯语、简体中文)。 |
上下文长度 |
Command R+ 08-2024支持128K的上下文长度。 |
基于文档的生成和RAG能力
Command R+ 08-2024经过专门训练,具备基于文档的生成能力。这意味着它可以根据提供的文档片段列表生成响应,并在响应中包含引用信息,以指示信息的来源。这可用于实现基于文档的总结和检索增强生成(RAG)的最后一步。
你可以使用 apply_grounded_generation_template()
函数渲染基于文档的生成提示模板。以下是一个最小的工作示例:
用法:渲染基于文档的生成提示 [点击展开]
from transformers import AutoTokenizer
model_id = "CohereLabs/c4ai-command-r-plus-08-2024"
tokenizer = AutoTokenizer.from_pretrained(model_id)
conversation = [
{"role": "user", "content": "Whats the biggest penguin in the world?"}
]
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."}
]
grounded_generation_prompt = tokenizer.apply_grounded_generation_template(
conversation,
documents=documents,
citation_mode="accurate",
tokenize=False,
add_generation_prompt=True,
)
print(grounded_generation_prompt)
单步工具使用能力(“函数调用”)
单步工具使用(或“函数调用”)允许Command R+ 08-2024与外部工具(如API、数据库或搜索引擎)进行交互。单步工具使用由两个模型推理步骤组成:
- 工具选择:模型决定调用哪些工具以及使用哪些参数。然后由开发人员执行这些工具调用并获取工具结果。
- 响应生成:模型根据工具结果生成最终响应。
你可以使用 apply_tool_use_template()
函数渲染单步工具使用提示模板。以下是一个最小的工作示例:
用法:渲染单步工具使用提示 [点击展开]
from transformers import AutoTokenizer
model_id = "CohereLabs/c4ai-command-r-plus-08-2024"
tokenizer = AutoTokenizer.from_pretrained(model_id)
conversation = [
{"role": "user", "content": "Whats the biggest penguin in the world?"}
]
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': {}
}
]
tool_use_prompt = tokenizer.apply_tool_use_template(
conversation,
tools=tools,
tokenize=False,
add_generation_prompt=True,
)
print(tool_use_prompt)
多步工具使用能力(“代理”)
多步工具使用适用于构建能够使用多个工具规划和执行一系列操作的代理。与单步工具使用不同,模型可以执行多个推理周期,通过“行动 → 观察 → 反思”的循环,直到决定最终响应。
有关多步工具使用的详细信息,请参阅我们的 文档。
代码交互能力
Command R+ 08-2024经过优化,可与代码进行交互,如请求代码片段、代码解释或代码重写。对于纯代码完成任务,可能无法直接达到最佳性能。为了获得更好的性能,我们建议在代码生成相关指令中使用较低的温度(甚至贪婪解码)。
📄 许可证
该模型受 CC-BY-NC 许可证的约束,同时需要遵守 Cohere Lab的可接受使用政策。
引用
如需引用此模型,请使用以下格式:
@misc {cohere_for_ai_2024,
author = { {Cohere Labs} },
title = { c4ai-command-r-plus-08-2024 },
year = 2024,
url = { https://huggingface.co/CohereLabs/c4ai-command-r-plus-08-2024 },
doi = { 10.57967/hf/3135 },
publisher = { Hugging Face }
}
模型卡片联系信息
如有关于此模型卡片详细信息的错误或其他问题,请联系 labs@cohere.com。
试用聊天
你可以在 此处 的游乐场中试用Command R+ 08-2024聊天功能。你也可以在我们专门的Hugging Face Space 此处 中使用它。