RWKV 的提示词格式

RWKV 是 RNN 的变体。出于架构原理,RWKV 对提示词的格式比 Transformer 更敏感。

RWKV 更适合 QA 和指令问答两种提示格式:

QA 格式 prompt

User: 将瑞典语 hur l?ng tid tog det att bygga twin towers 翻译成中文
 
Assistant:

QA(问答)格式是 RWKV 的默认训练格式。

其中 User: 是用户提问的问题,Assistant: 是模型的回答。因此我们需要在最后一个 Assistant: 后面留空,让模型进行续写。

指令问答格式 prompt

Instruction: 请将下列瑞典语翻译成中文
 
Input: hur l?ng tid tog det att bygga twin towers
 
Response:

指令问答是 RWKV 另一种训练格式。其中 Instruction: 是用户给模型的指令,Input: 是用户给模型的输入,Response: 是模型的回答。

Response: 后面留空,让模型进行续写。

Instruction: 以json格式总结下面的材料文本,包含date/location/title
 
Input: 2025 2 22 日,RWKV project 在中国上海漕河泾举办了主题为《RWKV-7 与未来趋势》的开发者大会。来自全国各地的开发者、行业专家和技术创新者齐聚一堂 —— 从知名高校实验室到前沿创业团队,现场涌动的创新能量印证了 RWKV-7 的优秀性能和深远意义。
 
Response:

参考的回复:

{
  "date": "2025年2月22日",
  "location": "中国上海漕河泾",
  "title": "RWKV-7 与未来趋势开发者大会"
}

RWKV7-G1 专用格式

RWKV7-G1 模型专用的提示词格式如下:

材料文本
 
Question: 问题? Answer:

这是 RWKV7-G1 系列的专用 Prompt 格式,尤其适合 RAG 等总结材料总结场景。其中 Question: 后面是用户给模型的问题,Answer: 后面留空,让模型进行回答。

RWKV7-G1 Prompt

也可以把 Question:Answer: 换成 User:Assistant::

材料文本
 
User: 问题
 
Assistant:

RWKV7-G1 Prompt-2

推荐把 Temperature、Top-p、Penalty 等解码参数调整为 0

few-shot

对于一些带上下文的问答任务,我们建议在 prompt 中重复几个同类的问题为模型作示范,这种技巧被称为 few-shot。

举个例子:如果你直接使用以下 prompt 进行续写,模型会告诉你自己是 AI 助手,所以不需要吃饭:

User: 你明天中午吃什么?
 
Assistant:

参考的模型回复:

我是一个AI机器人,没有口腔和消化系统,所以不需要吃饭。

如果我们使用下面这个 few-shot prompt 进行续写,模型可以从上下文中获得“我可以吃饭”这个信息,就会正常回答“你明天中午吃什么?”问题:

User: RWKV,中午吃了吗?
 
Assistant: 我中午吃了炸酱面,很好吃!
 
User: RWKV,晚上吃什么?
 
Assistant: 我晚上吃蔬菜沙拉、水煮鱼。
 
User: 你明天中午吃什么?
 
Assistant:

参考的回复:

我明天中午吃炒饭、红烧肉。

function call

RWKV7-G1 模型包含函数调用(function call)数据,可以通过特定格式的 prompt 实现 function call 功能。

RWKV7-G1 2.9B 模型,在续写模式下构造 function call 功能:

User: 你可以使用以下工具:
{
  "tools": [
    {
      "type": "function",
      "function": {
        "name": "get_current_weather",
        "description": "获取指定地区的当前天气信息",
        "parameters": {
          "type": "object",
          "properties": {
            "location": {
              "type": "string",
              "description": "城市或地区名称,例如:'北京'"
            },
            "unit": {
              "type": "string",
              "enum": ["celsius", "fahrenheit"],
              "description": "温度单位,默认为摄氏度"
            }
          },
          "required": ["location"]
        }
      }
    },
    {
      "type": "function",
      "function": {
        "name": "calculate_math_expression",
        "description": "计算数学表达式结果",
        "parameters": {
          "type": "object",
          "properties": {
            "expression": {
              "type": "string",
              "description": "数学表达式,例如:'(12+3.4)*5/2'"
            }
          },
          "required": ["expression"]
        }
      }
    }
  ]
}
请问:北京现在的天气如何?请给出json格式的调用格式
 
Assistant: <think>

参考的回复:

...模型的思考过程...
</think>
```json
{
  "name": "get_current_weather",
  "parameters": {
    "location": "北京",
    "unit": "celsius"
  }
}
```

通过在 Agent 或者 RAG 系统中解析此 json 请求,可以实现 function call 功能。

RWKV 基底模型未进行后训练,因此不支持 native tool calling。如果需要保持极高的 function call 准确度,建议对模型进行微调

视频介绍

高画质视频请跳转到 B 站观看。

这份文档对您有帮助吗?

意见反馈(可选)

联系方式(可选)

On this page