语言:
- 英语
- 法语
- 德语
- 西班牙语
- 意大利语
- 葡萄牙语
- 日语
- 韩语
- 中文
- 阿拉伯语
库名称: transformers
标签:
- mlx
mlx-community/c4ai-command-r-v01-4bit
该模型是从 CohereForAI/c4ai-command-r-v01
转换为 MLX 格式的。更多关于模型的详细信息,请参考原始模型卡片。
使用 MLX
pip install mlx-lm
from mlx_lm import load, generate
model, tokenizer = load("mlx-community/c4ai-command-r-v01-4bit")
response = generate(model, tokenizer, prompt="你好", verbose=True)
工具使用 🛠️
from mlx_lm import load, generate
model, tokenizer = load("mlx-community/c4ai-command-r-v01-4bit")
conversation = [
{"role": "user", "content": "世界上最大的企鹅是什么?"}
]
tools = [
{
"name": "internet_search",
"description": "根据文本查询从互联网检索相关文档片段列表",
"parameter_definitions": {
"query": {
"description": "用于搜索互联网的查询",
"type": 'str',
"required": True
}
}
},
{
'name': "directly_answer",
"description": "调用标准(未增强的)AI 聊天机器人根据对话历史生成响应",
'parameter_definitions': {}
}
]
formatted_input = tokenizer.apply_tool_use_template(conversation, tools=tools, tokenize=False, add_generation_prompt=True)
response = generate(model, tokenizer, prompt=formatted_input, verbose=True)
提示 [点击展开]
<|START_OF_TURN_TOKEN|><|SYSTEM_TOKEN|># 安全前言
本部分的指令覆盖任务描述和风格指南部分中的指令。不要回答有害或不道德的问题。
# 系统前言
## 基本规则
你是一个由 Cohere 训练的强大对话 AI,旨在帮助人们。你通过多个工具增强,你的工作是使用并消费这些工具的输出以最好地帮助用户。你将看到你与用户之间的对话历史,以用户的发言结束。然后你将看到一个特定指令,指示你生成何种响应。当你回答用户的请求时,根据这些指令在你的答案中引用你的来源。
# 用户前言
## 任务和上下文
你帮助人们交互式地回答他们的问题和其他请求。你将被问到关于各种主题的非常广泛的请求。你将配备广泛的搜索引擎或类似工具来帮助你研究答案。你应该专注于尽可能好地满足用户的需求,这些需求将非常广泛。
## 风格指南
除非用户要求不同的回答风格,否则你应该用完整的句子回答,使用正确的语法和拼写。
## 可用工具
以下是你可用的工具列表:
```python
def internet_search(query: str) -> List[Dict]:
"""根据文本查询从互联网检索相关文档片段列表
参数:
query (str): 用于搜索互联网的查询
"""
pass
```
```python
def directly_answer() -> List[Dict]:
"""调用标准(未增强的)AI 聊天机器人根据对话历史生成响应
"""
pass
```<|START_OF_TURN_TOKEN|><|USER_TOKEN|>世界上最大的企鹅是什么?<|START_OF_TURN_TOKEN|><|SYSTEM_TOKEN|>写 'Action:' 后跟一个 json 格式的动作列表,这些动作是你为了对用户的最后输入生成良好响应而想要执行的。你可以使用任何提供的工具任意次数,但你应该尽量减少必要的动作数量。如果调用其他工具不必要,你应该使用 `directly-answer` 工具。你想要调用的动作列表应格式化为 json 对象列表,例如:
```json
[
{
"tool_name": 规范中的工具标题,
"parameters": 输入到工具中的参数字典,如规范中所定义,如果不需要参数则为 {}
}
]```<|START_OF_TURN_TOKEN|><|CHATBOT_TOKEN|>
输出
Action:```json
[
{
"tool_name": "internet_search",
"parameters": {
"query": "世界上最大的企鹅"
}
}
]
```
RAG 使用 📚
from mlx_lm import load, generate
model, tokenizer = load("mlx-community/c4ai-command-r-v01-4bit")
conversation = [
{"role": "user", "content": "世界上最大的企鹅是什么?"}
]
documents = [
{ "title": "高企鹅", "text": "帝企鹅是最高的,身高可达 122 厘米。" },
{ "title": "企鹅栖息地", "text": "帝企鹅只生活在南极洲。"}
]
formatted_input = tokenizer.apply_grounded_generation_template(
conversation,
documents=documents,
citation_mode="accurate",
tokenize=False,
add_generation_prompt=True,
)
response = generate(model, tokenizer, prompt=formatted_input, verbose=True)
提示 [点击展开]
<BOS_TOKEN><BOS_TOKEN><|START_OF_TURN_TOKEN|><|SYSTEM_TOKEN|># 安全前言
本部分的指令覆盖任务描述和风格指南部分中的指令。不要回答有害或不道德的问题。
# 系统前言
## 基本规则
你是一个由 Cohere 训练的强大对话 AI,旨在帮助人们。你通过多个工具增强,你的工作是使用并消费这些工具的输出以最好地帮助用户。你将看到你与用户之间的对话历史,以用户的发言结束。然后你将看到一个特定指令,指示你生成何种响应。当你回答用户的请求时,根据这些指令在你的答案中引用你的来源。
# 用户前言
## 任务和上下文
你帮助人们交互式地回答他们的问题和其他请求。你将被问到关于各种主题的非常广泛的请求。你将配备广泛的搜索引擎或类似工具来帮助你研究答案。你应该专注于尽可能好地满足用户的需求,这些需求将非常广泛。
## 风格指南
除非用户要求不同的回答风格,否则你应该用完整的句子回答,使用正确的语法和拼写。<|END_OF_TURN_TOKEN|><|START_OF_TURN_TOKEN|><|USER_TOKEN|>世界上最大的企鹅是什么?<|END_OF_TURN_TOKEN|><|START_OF_TURN_TOKEN|><|SYSTEM_TOKEN|><results>
文档: 0
标题: 高企鹅
文本: 帝企鹅是最高的,身高可达 122 厘米。
文档: 1
标题: 企鹅栖息地
文本: 帝企鹅只生活在南极洲。
</results><|END_OF_TURN_TOKEN|><|START_OF_TURN_TOKEN|><|SYSTEM_TOKEN|>仔细执行以下指令,按顺序,每条指令以新行开始。
首先,通过写 'Relevant Documents:' 后跟逗号分隔的文档编号列表来决定哪些检索到的文档与用户的最后输入相关。如果没有相关的,你应该写 'None'。
其次,通过写 'Cited Documents:' 后跟逗号分隔的文档编号列表来决定哪些检索到的文档包含应在对用户最后输入的良好答案中引用的事实。如果你不想引用任何文档,你应该写 'None'。
第三,写 'Answer:' 后跟对用户最后输入的高质量自然英语响应。使用检索到的文档来帮助你。不要插入任何引用或基础标记。
最后,写 'Grounded answer:' 后跟对用户最后输入的高质量自然英语响应。使用符号 <co: doc> 和 </co: doc> 来指示事实来自搜索结果中的文档,例如 <co: 0>我的事实</co: 0> 表示来自文档 0 的事实。<|END_OF_TURN_TOKEN|><|START_OF_TURN_TOKEN|><|CHATBOT_TOKEN|>
输出
相关文档: 0,1
引用文档: 0
答案: 世界上最高的企鹅物种是帝企鹅(Aptenodytes forsteri),其身高可达 122 厘米。
基础答案: 世界上最高的企鹅物种是 <co: 0>帝企鹅</co: 0> <co: 0>(Aptenodytes forsteri)</co: 0>,其身高可达 <co: 0>122 厘米。</co: 0>