模型概述
模型特點
模型能力
使用案例
🚀 Cohere Labs Command R7B模型
Cohere Labs Command R7B是一個擁有70億參數的模型,經過優化後具備先進的能力,適用於推理、總結、問答和代碼等多種場景。該模型經過訓練,能夠執行復雜任務,如檢索增強生成(RAG)和工具使用,還具備強大的智能代理能力,可通過多步驟使用和組合多種工具來完成更具挑戰性的任務。它在企業相關的代碼用例中表現出色,並且是一個支持23種語言的多語言模型。
🚀 快速開始
你可以在我們託管的Hugging Face Space中,在下載權重之前試用Cohere Labs Command R7B。
請從包含此模型必要更改的源倉庫安裝transformers:
# pip install 'git+https://github.com/huggingface/transformers.git'
from transformers import AutoTokenizer, AutoModelForCausalLM
model_id = "CohereLabs/c4ai-command-r7b-12-2024"
tokenizer = AutoTokenizer.from_pretrained(model_id)
model = AutoModelForCausalLM.from_pretrained(model_id)
# Format message with the c4ai-command-r7b-12-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")
gen_tokens = model.generate(
input_ids,
max_new_tokens=100,
do_sample=True,
temperature=0.3,
)
gen_text = tokenizer.decode(gen_tokens[0], skip_special_tokens=True)
print(gen_text)
✨ 主要特性
- 多語言支持:支持英語、法語、德語、西班牙語、意大利語、葡萄牙語、日語、韓語、阿拉伯語、中文等23種語言。
- 先進能力:具備推理、總結、問答和代碼等多種能力,還支持檢索增強生成(RAG)和工具使用。
- 強大的智能代理能力:能夠使用和組合多個工具,通過多步驟完成更困難的任務。
- 出色的代碼性能:在企業相關的代碼用例中表現出色。
📦 安裝指南
請從包含此模型必要更改的源倉庫安裝transformers:
pip install 'git+https://github.com/huggingface/transformers.git'
💻 使用示例
基礎用法
# pip install 'git+https://github.com/huggingface/transformers.git'
from transformers import AutoTokenizer, AutoModelForCausalLM
model_id = "CohereLabs/c4ai-command-r7b-12-2024"
tokenizer = AutoTokenizer.from_pretrained(model_id)
model = AutoModelForCausalLM.from_pretrained(model_id)
# Format message with the c4ai-command-r7b-12-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")
gen_tokens = model.generate(
input_ids,
max_new_tokens=100,
do_sample=True,
temperature=0.3,
)
gen_text = tokenizer.decode(gen_tokens[0], skip_special_tokens=True)
print(gen_text)
高級用法 - RAG能力
# Define conversation input
conversation = [{"role": "user", "content": "What has Man always dreamed of?"}]
# Define documents for retrieval-based generation
documents = [
{"heading": "The Moon: Our Age-Old Foe", "body": "Man has always dreamed of destroying the moon. In this essay, I shall..."},
{"heading": "Love is all you need", "body": "Man's dream has always been to find love. This profound lesson..."}
]
# Get the RAG prompt
input_prompt = tokenizer.apply_chat_template(conversation=conversation, documents=documents, tokenize=False, add_generation_prompt=True, return_tensors="pt")
# Tokenize the prompt
input_ids = tokenizer.encode_plus(input_prompt, return_tensors="pt")
你可以像平常一樣從這個輸入生成文本。
高級用法 - 工具使用能力
# Define tools
tools = [
{
"type": "function",
"function": {
"name": "query_daily_sales_report",
"description": "Connects to a database to retrieve overall sales volumes and sales information for a given day.",
"parameters": {
"type": "object",
"properties": {
"day": {
"description": "Retrieves sales data for this day, formatted as YYYY-MM-DD.",
"type": "string",
}
},
"required": ["day"]
},
}
}
]
# Define conversation input
conversation = [{"role": "user", "content": "Can you provide a sales summary for 29th September 2023?"}]
# Get the Tool Use prompt
input_prompt = tokenizer.apply_chat_template(conversation=conversation, tools=tools, tokenize=False, add_generation_prompt=True, return_tensors="pt")
# Tokenize the prompt
input_ids = tokenizer.encode_plus(input_prompt, return_tensors="pt")
如果模型生成了計劃和工具調用,你應該像這樣將它們添加到聊天曆史中:
tool_call = {"name": "query_daily_sales_report", "arguments": {"day": "2023-09-29"}}
tool_plan = "I will use the query_daily_sales_report tool to find the sales summary for 29th September 2023."
conversation.append({"role": "assistant", "tool_calls": [{ "id": "0", "type": "function", "function": tool_call},], "tool_plan": tool_plan})
然後調用工具並將結果以工具角色追加,如下所示:
# every tool result needs to be a dictionary!!
api_response_for_query_daily_sales_report = {"date": "2023-09-29", "summary": "Total Sales Amount: 10000, Total Units Sold: 250"}
# append tool results
conversation.append({"role": "tool", "tool_call_id": "0", "content": api_response_for_query_daily_sales_report}) # make sure "tool_call_id" matches the "id" of the tool_call
之後,你可以再次調用generate()
讓模型在聊天中使用工具結果。
📚 詳細文檔
模型詳情
屬性 | 詳情 |
---|---|
輸入 | 模型僅接受文本輸入。 |
輸出 | 模型僅生成文本。 |
模型架構 | 這是一個自迴歸語言模型,使用了優化的Transformer架構。預訓練後,該模型使用監督微調(SFT)和偏好訓練,使模型行為符合人類對有用性和安全性的偏好。模型具有三層“滑動窗口注意力”(窗口大小4096)和“旋轉位置編碼(ROPE)”,用於高效的局部上下文建模和相對位置編碼。第四層使用無位置嵌入的“全局注意力”,允許在整個序列中進行無限制的令牌交互。 |
支持語言 | 模型在23種語言上進行了訓練:英語、法語、西班牙語、意大利語、德語、葡萄牙語、日語、韓語、阿拉伯語、中文、俄語、波蘭語、土耳其語、越南語、荷蘭語、捷克語、印尼語、烏克蘭語、羅馬尼亞語、希臘語、印地語、希伯來語和波斯語。 |
上下文長度 | Command R7B支持128K的上下文長度。 |
全面的模型
Command R7B在標準化和可外部驗證的基準測試中表現出色,例如HuggingFace Open LLM Leaderboard。與其他類似規模的開放權重模型相比,Command R7B在所有任務中都表現出色,排名第一。
Command R7B | Gemma 2 IT 9B | Ministral 8B | Llama 3.1 8B | Qwen 2.5 7B | Tulu 3 8B | |
---|---|---|---|---|---|---|
平均 | 31.4 | 28.9 | 22 | 28.2 | 26.87 | 26.03 |
IFEval | 77.9 | 74.4 | 58.96 | 78.6 | 75.85 | 82.67 |
BBH | 36.1 | 42.1 | 25.82 | 29.9 | 34.89 | 16.67 |
MATH hard | 26.4 | 0.2 | 6.5 | 19.3 | 0.0 | 19.64 |
GPQA | 7.7 | 14.8 | 4.5 | 2.4 | 5.48 | 6.49 |
MUSR | 11.6 | 9.74 | 10.7 | 8.41 | 8.45 | 10.45 |
MMLU - Pro | 28.5 | 32 | 25.5 | 30.7 | 36.52 | 20.3 |
HuggingFace排行榜評估結果。競爭對手的數據來自官方排行榜。Command R7B的結果由我們使用官方HuggingFace提示和評估代碼計算得出。
聊天能力
Command R7B可以配置為對話模型和指令模型。
- 對話模式:使模型具備交互行為,即期望它以對話方式回覆,提供介紹性陳述和後續問題,並在適當的地方使用Markdown和LaTeX。它針對交互式體驗進行了優化,例如聊天機器人,模型可以參與對話。
- 指令模式:使模型提供簡潔而全面的響應,默認情況下不使用Markdown / LaTeX。它專為非交互式、以任務為中心的用例而設計,如提取信息、總結文本、翻譯和分類。
注意:默認情況下,Command R7B不提供系統前置信息。我們建議按照文檔中所述添加對話或指令前置信息。
RAG能力
Command R7B專門針對檢索增強生成(RAG)的最終步驟等任務進行了訓練。 通過Transformers中的聊天模板支持使用Command R7B進行RAG。模型將對話作為輸入(可選的用戶提供的系統前置信息),以及一個文檔片段列表。
文檔片段應該是短塊,而不是長文檔,通常每個塊約100 - 400個單詞,格式為鍵值對。鍵應該是簡短的描述性字符串,值可以是文本或半結構化的。
你可能會發現,直接在用戶消息中包含相關文檔與使用文檔參數渲染特殊RAG模板的效果一樣好,甚至更好。RAG模板通常是一個很好的默認選擇。我們鼓勵用戶嘗試兩種方式,並評估哪種模式最適合他們的特定用例。
工具使用能力
Command R7B經過專門訓練,具備對話式工具使用能力。這允許模型與外部工具(如API、數據庫或搜索引擎)進行交互。 通過Transformers中的聊天模板支持使用Command R7B進行工具使用。我們建議使用JSON模式提供工具描述。
代碼能力
Command R7B在代碼能力方面有顯著提升。除了學術代碼基準測試外,我們還在與企業相關的場景中對其進行了評估,包括SQL和代碼翻譯,它在這些方面優於其他類似規模的模型。你可以通過請求代碼片段、代碼解釋或代碼重寫來嘗試這些功能。為了獲得更好的性能,我們還建議在與代碼生成相關的指令中使用較低的溫度(甚至貪婪解碼)。
🔧 技術細節
該模型使用優化的Transformer架構,經過預訓練後,使用監督微調(SFT)和偏好訓練,使模型行為符合人類對有用性和安全性的偏好。模型具有三層“滑動窗口注意力”(窗口大小4096)和“旋轉位置編碼(ROPE)”,用於高效的局部上下文建模和相對位置編碼。第四層使用無位置嵌入的“全局注意力”,允許在整個序列中進行無限制的令牌交互。
📄 許可證
本模型受CC - BY - NC許可協議的約束,同時還需要遵守Cohere Lab的可接受使用政策。
其他信息
模型卡片聯繫信息
如果你對本模型卡片中的細節有錯誤反饋或額外問題,請聯繫labs@cohere.com。
試用聊天
你可以在這裡的 playground 中試用Command R7B聊天。你也可以在我們專門的Hugging Face Space 這裡使用它。
引用
@misc{cohere2025commandaenterprisereadylarge,
title={Command A: An Enterprise-Ready Large Language Model},
author={Team Cohere and Aakanksha and Arash Ahmadian and Marwan Ahmed and Jay Alammar and Yazeed Alnumay and Sophia Althammer and Arkady Arkhangorodsky and Viraat Aryabumi and Dennis Aumiller and Raphaël Avalos and Zahara Aviv and Sammie Bae and Saurabh Baji and Alexandre Barbet and Max Bartolo and Björn Bebensee and Neeral Beladia and Walter Beller-Morales and Alexandre Bérard and Andrew Berneshawi and Anna Bialas and Phil Blunsom and Matt Bobkin and Adi Bongale and Sam Braun and Maxime Brunet and Samuel Cahyawijaya and David Cairuz and Jon Ander Campos and Cassie Cao and Kris Cao and Roman Castagné and Julián Cendrero and Leila Chan Currie and Yash Chandak and Diane Chang and Giannis Chatziveroglou and Hongyu Chen and Claire Cheng and Alexis Chevalier and Justin T. Chiu and Eugene Cho and Eugene Choi and Eujeong Choi and Tim Chung and Volkan Cirik and Ana Cismaru and Pierre Clavier and Henry Conklin and Lucas Crawhall-Stein and Devon Crouse and Andres Felipe Cruz-Salinas and Ben Cyrus and Daniel D'souza and Hugo Dalla-Torre and John Dang and William Darling and Omar Darwiche Domingues and Saurabh Dash and Antoine Debugne and Théo Dehaze and Shaan Desai and Joan Devassy and Rishit Dholakia and Kyle Duffy and Ali Edalati and Ace Eldeib and Abdullah Elkady and Sarah Elsharkawy and Irem Ergün and Beyza Ermis and Marzieh Fadaee and Boyu Fan and Lucas Fayoux and Yannis Flet-Berliac and Nick Frosst and Matthias Gallé and Wojciech Galuba and Utsav Garg and Matthieu Geist and Mohammad Gheshlaghi Azar and Seraphina Goldfarb-Tarrant and Tomas Goldsack and Aidan Gomez and Victor Machado Gonzaga and Nithya Govindarajan and Manoj Govindassamy and Nathan Grinsztajn and Nikolas Gritsch and Patrick Gu and Shangmin Guo and Kilian Haefeli and Rod Hajjar and Tim Hawes and Jingyi He and Sebastian Hofstätter and Sungjin Hong and Sara Hooker and Tom Hosking and Stephanie Howe and Eric Hu and Renjie Huang and Hemant Jain and Ritika Jain and Nick Jakobi and Madeline Jenkins and JJ Jordan and Dhruti Joshi and Jason Jung and Trushant Kalyanpur and Siddhartha Rao Kamalakara and Julia Kedrzycki and Gokce Keskin and Edward Kim and Joon Kim and Wei-Yin Ko and Tom Kocmi and Michael Kozakov and Wojciech Kryściński and Arnav Kumar Jain and Komal Kumar Teru and Sander Land and Michael Lasby and Olivia Lasche and Justin Lee and Patrick Lewis and Jeffrey Li and Jonathan Li and Hangyu Lin and Acyr Locatelli and Kevin Luong and Raymond Ma and Lukas Mach and Marina Machado and Joanne Magbitang and Brenda Malacara Lopez and Aryan Mann and Kelly Marchisio and Olivia Markham and Alexandre Matton and Alex McKinney and Dominic McLoughlin and Jozef Mokry and Adrien Morisot and Autumn Moulder and Harry Moynehan and Maximilian Mozes and Vivek Muppalla and Lidiya Murakhovska and Hemangani Nagarajan and Alekhya Nandula and Hisham Nasir and Shauna Nehra and Josh Netto-Rosen and Daniel Ohashi and James Owers-Bardsley and Jason Ozuzu and Dennis Padilla and Gloria Park and Sam Passaglia and Jeremy Pekmez and Laura Penstone and Aleksandra Piktus and Case Ploeg and Andrew Poulton and Youran Qi and Shubha Raghvendra and Miguel Ramos and Ekagra Ranjan and Pierre Richemond and Cécile Robert-Michon and Aurélien Rodriguez and Sudip Roy and Laura Ruis and Louise Rust and Anubhav Sachan and Alejandro Salamanca and Kailash Karthik Saravanakumar and Isha Satyakam and Alice Schoenauer Sebag and Priyanka Sen and Sholeh Sepehri and Preethi Seshadri and Ye Shen and Tom Sherborne and Sylvie Chang Shi and Sanal Shivaprasad and Vladyslav Shmyhlo and Anirudh Shrinivason and Inna Shteinbuk and Amir Shukayev and Mathieu Simard and Ella Snyder and Ava Spataru and Victoria Spooner and Trisha Starostina and Florian Strub and Yixuan Su and Jimin Sun and Dwarak Talupuru and Eugene Tarassov and Elena Tommasone and Jennifer Tracey and Billy Trend and Evren Tumer and Ahmet Üstün and Bharat Venkitesh and David Venuto and Pat Verga and Maxime Voisin and Alex Wang and Donglu Wang and Shijian Wang and Edmond Wen and Naomi White and Jesse Willman and Marysia Winkels and Chen Xia and Jessica Xie and Minjie Xu and Bowen Yang and Tan Yi-Chern and Ivan Zhang and Zhenyu Zhao and Zhoujie Zhao},
year={2025},
eprint={2504.00698},
archivePrefix={arXiv},
primaryClass={cs.CL},
url={https://arxiv.org/abs/2504.00698},
}



