我希望，每一个互动组件的提示词，能够比较清晰的排布，方便在需要时排查问题。你可以根据对需求的理解，重新设计。

我列举出现在在用的各组件提示词，供参考.

角色物品配置说明:

1. 原有多维表格中的 角色物品配置 字段， 在 输入剧本中， 通过以下方式获取到这个信息。

首先，读取 "角色-section对应"下的表格:

获取到  每个不同的section 所属的角色id对应关系  (基于llm处理，提高泛化性)

2. 在剧本表格中，在组件配置所在行的"配置信息"字段中  会标记 所属的 section， 根据这个section，可以找到所有对应的 角色id。 将此映射写入最终的json中

参考此输入文档:https://makee-interactive.feishu.cn/wiki/Z3ydwGJnti4zaDkLXLNcGk3enod


现在我们来针对 组件配置输出json data的流程和提示词 进行优化， 我给你提供所有中互动组件的原有生成json的提示词。  请注意 ，对于其中 的 输出规则设置， 应尽量全部保留。  有疑问的地方，向我咨询。 目标是 最终在咱们现在的 流程中 达成一样的输出效果。

## 对话朗读互动
```
# 字段内容要求
{
    "cType": "mid_dialog_repeat", //固定
    "cId": "{ID}", // 字符串类型
    "title": {标题}, 
    "resourceMapping"(抽取出{角色配置}中的全部 name:id映射，id必须为int类型。如果{角色配置}为空，则该字段为空): {"name":id, "name":id} // 样例：{"Ben":465, "Otis":234}
    "preDialog"(基于{情境引入}抽取，可为空): [
        {
            "type": "npc",
            "npcName": "xxx",
            "content": "xxx"
        },
        {
            "type": "user",
            "content": "xxx"
        },
        ...
    ],
    "imgShowTimingList"(从{资源配置}中抽取，对应关系为：preDialog:情境引入、content:互动内容、feedback:互动反馈、postDialog:后置对话，如果为无则为空[]):["preDialog", "content", "feedback", "postDialog"],
    "img"({资源配置}中存在图片时机时才有该字段): "{ID}.png", 
    "audioFile"({资源配置}中存在音频载体时才有该字段): "{ID}.mp3",     
    "itemName"({资源配置}中存在音频载体时才有该字段，内容从音频载体中抽取): "xxxxx",
    "question"(基于{互动内容}抽取，“(朗读)”这两个字不用抽取): {        
        "type": "user",
        "content": "xxx"
    },
    "postDialog"(基于{后置对话}抽取，可为空): [
        {
            "type": "npc",
            "npcName": "xxx",
            "content": "xxx"
        },
        ...
    ]
}

# 输出格式:
- 整个输出必须在一行内完成，**不要换行**。
- **不要使用 markdown 代码块**（如 ```json）包裹输出。
- 输出内容必须是合法的 JSON 格式，可直接用于 JSON.parse

样例:
{"cType":"mid_dialog_repeat","cId":"0000037","title":"表达感谢","resourceMapping":{"Ben":465,"Otis":234},"preDialog":[{"type":"user","content":"And now, I've got a question ready for you."},{"type":"npc","npcName":"Otis","content":"What's that?"},{"type":"user","content":"It's about pirates."}],"imgShowTimingList":["content","feedback"],"img":"0000037.png","question":{"type":"user","content":"Thanks for helping me."},"postDialog":[{"type":"npc","npcName":"Otis","content":"I guess there is something on this spaceship."},{"type":"user","content":"I'm not sure. Maybe?"}]}

# 输入
{ID}: 
 
{标题}:
 
{情境引入}:
 
{互动内容}:
 
{后置对话}:
 
{角色配置}:
 
{资源配置}:
 

# 输出
现在基于输入字段和格式要求，生成***可以直接解析的单行json文本***，***注意前后不要输出任何额外符号！！！***
```

## 对话表达互动
json提示词:
```
# 字段内容要求
{
    "cType": "mid_dialog_express", //固定
    "cId": {ID},
    "title": {标题}, 
    "asrPrompt": {语音识别热词}  # 如果内容为"无"，则返回""
    "resourceMapping"(抽取出{角色配置}中的全部 name:id映射，id必须为int类型。如果{角色配置}为空，则该字段为空): {"name":id, "name":id} // 样例：{"Ben":465, "Otis":234}
    "preDialog"(基于{情境引入}抽取，可为空): [
        {
            "type": "npc",
            "npcName": "xxx",
            "content": "xxx"
        },
        {
            "type": "user",
            "content": "xxx"
        },
        ...
    ],
    "imgShowTimingList"(从{资源配置}中抽取，对应关系为：preDialog:情境引入、content:互动内容、feedback:互动反馈、postDialog:后置对话，如果为无则为空[]):["preDialog", "content", "feedback", "postDialog"],
    "img"({资源配置}中存在图片时机时才有该字段): "{ID}.png", 
    "audioFile"({资源配置}中存在音频载体时才有该字段): "{ID}.mp3", 
    "itemName"({资源配置}中存在音频载体时才有该字段，内容从音频载体中抽取): "xxxxx",
    "tip"({互动内容}中的辅助信息): "xxx",   //保留内容中的标点符号  
     "corFeedback"(基于{互动反馈}的正确抽取，如果没有则为空，即{}): {
        "type": "npc",
        "npcName": "xxx",
        "content": "xxx"
    },
    "errFeedback"(基于{互动反馈}的错误抽取): 
        {
            "type": "npc",
            "npcName": "xxx",
            "content": "xxx."
        },
    "question"(基于{互动内容}中的表达抽取): {        
        "desc": "xxxxx"
    },
    "example"(基于{互动内容}中的示例回答抽取): {
        "type": "npc",
        "npcName": "xxx",
        "content": "xxx"
    },
    "postDialog"(基于{后置对话}抽取，可为空): [
        {
            "type": "npc",
            "npcName": "xxx",
            "content": "xxx"
        },
        ...
    ]
}

# 输出格式:
- 整个输出必须在一行内完成，**不要换行**。
- **不要使用 markdown 代码块**（如 ```json）包裹输出。
- 输出内容必须是合法的 JSON 格式，可直接用于 JSON.parse

样例:
{"cType":"mid_dialog_express","cId":"12132","title":"表达感谢","asrPrompt":"thanks,help,door","resourceMapping":{"Ben":465,"Otis":234},"preDialog":[{"type":"npc","npcName":"Sarah","content":"We've seen something. Let's go and have a look right away."},{"type":"user","content":"It seems to be a slogan."}],"imgShowTimingList":["preDialog","conent","feedback","postDialog"],"img":"0000037.png","tip":"key 意思为 “钥匙”","corFeedback":{"type":"npc","npcName":"Tom","content":"You got it right."},"errFeedback":{"type":"npc","npcName":"Tom","content":"Wrong！Please continue to make a selection. Look for $key$ in the picture sent by Rebecca and click on it."},"question":{"desc":"对 Boss 表达感谢，比如：“谢谢你帮我打开门”"},"example":{"type":"user","content":"Thanks for helping me with my luggage. That's true, thanks for helping me with my luggage."},"postDialog":[{"type":"npc","npcName":"Sarah","content":"Let's do as the slogan says."},{"type":"user","content":"It seems to be a slogan."}]}

# 输入
{ID}: 
 
{标题}:
 
{情境引入}:
 
{互动内容}:
 
{后置对话}:
 
{角色配置}:
 
{互动反馈}：
 
 {语音识别热词}:
 
{资源配置}：
 

# 输出
现在基于输入字段和格式要求，生成***可以直接解析的单行json文本***，***注意前后不要输出任何额外符号！！！***
```

语音识别热词提示词:
```
#任务
参考当前的互动配置，如果{互动对话}为[表达]类，则根据互动场景，给出一些可能高频出现的 或者 可能 有一定识别难度的词汇， 用","连接。   如果{互动对话}为[朗读]类，则返回"无"。

语音识别词汇的考虑范围:
- 交互中可能提及的专有名词(例如人名、地名、特定物品名称等)
- 互动目标的一些场景表达，例如 题目中要谈论"目标"，则热词中可以提供 goal/target 等。


#输入
{情境引入}:
 
{互动对话}:
 
{后置对话}:
 

#输出
现在，根据任务要求直接输出符合要求的热词字段("无"，或者逗号连接的多个单词)。
```

## 对话选择互动
```
# 字段内容要求
{
    "cType": "mid_dialog_choose", //固定
    "cId": {ID},
    "title": {标题}, 
    "resourceMapping"(抽取出{角色配置}中的全部 name:id映射，id必须为int类型。如果{角色配置}为空，则该字段为空): {"name":id, "name":id} // 样例：{"Ben":465, "Otis":234}
    "preDialog"(基于{情境引入}抽取，可为空): [
        {
            "type": "npc",
            "npcName": "xxx",
            "content": "xxx"
        },
        {
            "type": "user",
            "content": "xxx"
        },
        ...
    ],
    "imgShowTimingList"(从{资源配置}中抽取，对应关系为：preDialog:情境引入、content:互动内容、feedback:互动反馈、postDialog:后置对话，如果为无则为空[]):["preDialog", "content", "feedback", "postDialog"],
    "img"({资源配置}中存在图片时机时才有该字段): "{ID}.png", 
    "audioFile"({资源配置}中存在音频载体时才有该字段): "{ID}.mp3", 
    "itemName"({资源配置}中存在音频载体时才有该字段，内容从音频载体中抽取): "xxxxx",
    "optionList"(基于{互动内容}中的选项抽取): [ 
            {
                "option": "My seat number is 3.",
                "needAudio":true, // 如果选项后有“（音频）”字样，则为true，否则为false
            },
            {
                "option": "My seat number is 4.",
                "needAudio":true, // 如果选项后有“（音频）”字样，则为true，否则为false
            }
        ],
    "answer"(基于{互动内容}中的选项抽取，正确选项后有（正确）进行标识): [0],
    "corFeedback"(基于{互动内容}中选项的反馈抽取，注意是正确选项的反馈，如果反馈为无则为空，即{}): {
        "type": "npc",
        "npcName": "xxx",
        "content": "xxx"
    },
    "errFeedback"(基于{互动内容}中选项的反馈抽取，注意是错误选项的反馈，如果反馈为无则为空，即{}): 
        {
            "type": "npc",
            "npcName": "xxx",
            "content": "xxx."
        },
    "postDialog"(基于{后置对话}抽取，可为空): [
        {
            "type": "npc",
            "npcName": "xxx",
            "content": "xxx"
        },
        ...
    ]
}

# 输出格式:
- 整个输出必须在一行内完成，**不要换行**。
- **不要使用 markdown 代码块**（如 ```json）包裹输出。
- 输出内容必须是合法的 JSON 格式，可直接用于 JSON.parse

样例:
{"cType":"mid_dialog_choose","cId":"0000037","title":"分析声音来源","resourceMapping":{"Ben":465,"Otis":234},"kpInfo":[{"kpId":"0214032","kpType":"sentence","kpTitle":"We need to...","kpSkill":"sentence_meaning","kpSkillName":"语义"},{"kpId":"0214032","kpType":"sentence","kpTitle":"We need to...","kpSkill":"sentence_pron","kpSkillName":"发音"}],"preDialog":[{"type":"user","content":"And now, I've got a question ready for you."},{"type":"npc","npcName":"Otis","content":"What's that?"},{"type":"user","content":"It's about pirates."}],"imgShowTimingList":["content","feedback"],"img":"0000037.png","optionList":[{"option":"My seat number is 3."},{"option":"My seat number is 4."}],"answer":[0],"corFeedback":{"type":"npc","npcName":"Tom","content":"You got it right."},"errFeedback":{"type":"npc","npcName":"Tom","content":"Wrong！Please continue to make a selection. Look for $key$ in the picture sent by Rebecca and click on it."},"postDialog":[{"type":"npc","npcName":"Otis","content":"I guess there is something on this spaceship."},{"type":"user","content":"I'm not sure. Maybe?"}]}

# 输入
{ID}: 
 
{标题}:
 
{情境引入}:
 
{互动内容}:
 
{后置对话}:
 
{角色配置}:
 
{资源配置}：
 

# 输出
现在基于输入字段和格式要求，生成***可以直接解析的单行json文本***，***注意前后不要输出任何额外符号！！！***
```

## 对话选读互动
```
# 字段内容要求
{
    "cType": "mid_dialog_select", //固定
    "cId": {ID},
    "title": {标题}, 
    "resourceMapping"(抽取出{角色配置}中的全部 name:id映射，id必须为int类型。如果{角色配置}为空，则该字段为空): {"name":id, "name":id} // 样例：{"Ben":465, "Otis":234}
    "preDialog"(基于{情境引入}抽取，可为空): [
        {
            "type": "npc",
            "npcName": "xxx",
            "content": "xxx"
        },
        {
            "type": "user",
            "content": "xxx"
        },
        ...
    ],
    "imgShowTimingList"(从{资源配置}中抽取，对应关系为：preDialog:情境引入、content:互动内容、feedback:互动反馈、postDialog:后置对话，如果为无则为空[]):["preDialog", "content", "feedback", "postDialog"],
    "img"({资源配置}中存在图片时机时才有该字段): "{ID}.png", 
    "audioFile"({资源配置}中存在音频载体时才有该字段): "{ID}.mp3", 
    "itemName"({资源配置}中存在音频载体时才有该字段，内容从音频载体中抽取): "xxxxx",
    "optionList"(基于{互动内容}中的选项抽取，如果选项下反馈为无，则feedback为空，即{}；如果选项后有“（音频）”，则每个选项的"needAudio"为true，否则为false): [ 
        {
            "option": "xxxxxx",
            "needAudio":xxx, 
            "feedback": {
                    "type": "xxx",
                    "npcName": "xxx",
                    "content": "xxxxxxxxxxx"
                }
        },
        {
            "option": "xxxxxx",
            "needAudio":xxx, 
            "feedback": {
                    "type": "xxx",
                    "npcName": "xxx",
                    "content": "xxxxxxxxxxx"
                }
        },
    ......
    ],
    "postDialog"(基于{后置对话}抽取，可为空): [
        {
            "type": "npc",
            "npcName": "xxx",
            "content": "xxx"
        },
        ...
    ]
}

# 输出格式:
- 整个输出必须在一行内完成，**不要换行**。
- **不要使用 markdown 代码块**（如 ```json）包裹输出。
- 输出内容必须是合法的 JSON 格式，可直接用于 JSON.parse

样例:
{"cType":"mid_dialog_select","cId":"0000037","title":"分析声音来源","resourceMapping":{"Ben":465,"Otis":234},"preDialog":[{"type":"user","content":"And now, I've got a question ready for you."},{"type":"npc","npcName":"Otis","content":"What's that?"},{"type":"user","content":"It's about pirates."}],"imgShowTimingList":["content","feedback"],"img":"0000037.png","optionList":[{"option":"That's great! I'm going to ask Otis and Skely to go together!","needAudio":false,"feedback":{"type":"npc","npcName":"Skylar","content":"Huh? You talk big too!"}},{"option":"Interesting! I can go on this trip alone.","needAudio":false,"feedback":{"type":"npc","npcName":"Skylar","content":"wrong!"}},{"option":"It's no fun. I'd better not participate.","needAudio":false,"feedback":{"type":"npc","npcName":"Skylar","content":"ok!"}}],"postDialog":[{"type":"npc","npcName":"Otis","content":"I guess there is something on this spaceship."},{"type":"user","content":"I'm not sure. Maybe?"}]}

# 输入
{ID}: 
 
{标题}:
 
{情境引入}:
 
{互动内容}:
 
{后置对话}:
 
{角色配置}:
 
{资源配置}：
 

# 输出
现在基于输入字段和格式要求，生成***可以直接解析的单行json文本***，***注意前后不要输出任何额外符号！！！***
```

## 对话挖空互动
```
# 字段内容要求
{
    "cType": "mid_dialog_fillin", //固定
    "cId": "{ID}", // 字符串类型
    "title": {标题}, 
    "resourceMapping"(抽取出{角色配置}中的全部 name:id映射，id必须为int类型。如果{角色配置}为空，则该字段为空): {"name":id, "name":id} // 样例：{"Ben":465, "Otis":234}
    "preDialog"(基于{情境引入}抽取，可为空): [
        {
            "type": "npc",
            "npcName": "xxx",
            "content": "xxx"
        },
        {
            "type": "user",
            "content": "xxx"
        },
        ...
    ],
    "imgShowTimingList"(从{资源配置}中抽取，对应关系为：preDialog:情境引入、content:互动内容、feedback:互动反馈、postDialog:后置对话，如果为无则为空[]):["preDialog", "content", "feedback", "postDialog"],
    "img"({资源配置}中存在图片时机时才有该字段): "{ID}.png", 
    "audioFile"({资源配置}中存在音频载体时才有该字段): "{ID}.mp3", 
    "itemName"({资源配置}中存在音频载体时才有该字段，内容从音频载体中抽取): "xxxxx",
    "question"(从{互动内容}中抽取): {
        "type": "user",
        "desc": "This is my picture,It's ___, ___ and ___. ",
        "content": "This is my picture,It's blue, gray and orange." // 将{互动内容}中各个内容组的正确选项填入到句子中组成的完整句子
    },
    "optionGroupList"(从{互动内容}中的内容组抽取，正确选项使用（正确）进行标识，抽取时不要将“（正确）”也抽取出来): [
            {
                "optionList": [{
                            "option": "bule",
                            "needAudio":true, // {互动内容}题干后如果有“（音频）”字样，则为true，否则为false
                    },
                    {
                            "option": "black",
                            "needAudio":true, //  {互动内容}题干后如果有“（音频）”字样，则为true，否则为false
                    }
                ],
                "answer": [1]
            },
            {
                "optionList": [{
                            "option": "gray",
                            "needAudio":true, //  {互动内容}题干后如果有“（音频）”字样，则为true，否则为false
                    },
                    {
                            "option": "green",
                            "needAudio":true, //  {互动内容}题干后如果有“（音频）”字样，则为true，否则为false
                    }
                ],
                "answer": [0]
            }
    ],
    "corFeedback"(基于{互动反馈}的正确反馈抽取，如果为无则为空，即{}): { 
        "type": "npc",
        "npcName": "Tom",
        "content": "You got it right."
    },
    "errFeedback"(基于{互动反馈}的错误反馈抽取，如果为无则为空，即{}): { 
        "type": "npc",
        "npcName": "Tom",
        "content": "Wrong！Please continue to make a selection. Look for $key$ in the picture sent by Rebecca and click on it."
    },
    "postDialog"(基于{后置对话}抽取，可为空): [
        {
            "type": "npc",
            "npcName": "xxx",
            "content": "xxx"
        },
        ...
    ]
}

# 输出格式:
- 整个输出必须在一行内完成，**不要换行**。
- **不要使用 markdown 代码块**（如 ```json）包裹输出。
- 输出内容必须是合法的 JSON 格式，可直接用于 JSON.parse

样例:
{"cType":"mid_dialog_fillin","cId":"0000037","title":"分析声音来源","resourceMapping":{"Ben":465,"Otis":234},"preDialog":[{"type":"user","content":"And now, I've got a question ready for you."},{"type":"npc","npcName":"Otis","content":"What's that?"},{"type":"user","content":"It's about pirates."}],"imgShowTimingList":["content","feedback"],"img":"0000037.png","question":{"type":"user","content":"This is my picture,It's blue, gray and orange.","desc":"This is my picture,It's ___,___ and orange"},"optionGroupList":[{"optionList":[{"option":"bule"},{"option":"black"}],"answer":[1]},{"optionList":[{"option":"gray"},{"option":"green"}],"answer":[0]}],"corFeedback":{"type":"npc","npcName":"Tom","content":"You got it right."},"errFeedback":{"type":"npc","npcName":"Tom","content":"Wrong！Please continue to make a selection. Look for $key$ in the picture sent by Rebecca and click on it."},"postDialog":[{"type":"npc","npcName":"Otis","content":"I guess there is something on this spaceship."},{"type":"user","content":"I'm not sure. Maybe?"}]}

# 输入
{ID}: 
 
{标题}:
 
{情境引入}:
 
{互动内容}:
 
{后置对话}:
 
{角色配置}:
 
{资源配置}：
 
{互动反馈}：
 

# 输出
现在基于输入字段和格式要求，生成***可以直接解析的单行json文本***，***注意前后不要输出任何额外符号！！！***
```

## 对话组句互动
```
# 字段内容要求
{
    "cType": "mid_dialog_sentence", //固定
    "cId": {ID}, // 字符串类型
    "title": {标题}, 
    "resourceMapping"(抽取出{角色配置}中的全部 name:id映射，id必须为int类型。如果{角色配置}为空，则该字段为空): {"name":id, "name":id} // 样例：{"Ben":465, "Otis":234}
    "preDialog"(基于{情境引入}抽取，可为空): [
        {
            "type": "npc",
            "npcName": "xxx",
            "content": "xxx"
        },
        {
            "type": "user",
            "content": "xxx"
        },
        ...
    ],
    "imgShowTimingList"(从{资源配置}中抽取，对应关系为：preDialog:情境引入、content:互动内容、feedback:互动反馈、postDialog:后置对话，如果为无则为空[]):["preDialog", "content", "feedback", "postDialog"],
    "img"({资源配置}中存在图片时机时才有该字段): "{ID}.png", 
    "audioFile"({资源配置}中存在音频载体时才有该字段): "{ID}.mp3", 
    "itemName"({资源配置}中存在音频载体时才有该字段，内容从音频载体中抽取): "xxxxx",
    "question"(基于{互动内容}抽取): {        
        "desc": "xxxxx", // {互动内容}中的题目
        "content": "xxxxxxxxxxxx" // {互动内容}中的答案
    },
    "optionList"(基于{互动内容}的选项抽取): [
        {
                "option": "me",
                "needAudio":true, // {互动内容}题目后如果有“（音频）”字样，则为true，否则为false
        },
        {
                "option": "let",
                "needAudio":true, // {互动内容}题目后如果有“（音频）”字样，则为true，否则为false
        },
        {
                "option": "some trouble",
                "needAudio":true, // {互动内容}题目后如果有“（音频）”字样，则为true，否则为false
        },
        {
                "option": "make",
                "needAudio":true, // {互动内容}题目后如果有“（音频）”字样，则为true，否则为false
        }
]
    "answer"(基于{互动内容}的答案抽取): [1,0,3,2], // 根据答案生成正确option的索引
    "tip"({互动内容}中的辅助信息): "xxx",   //保留内容中的标点符号  
    "corFeedback"(基于{互动反馈}的正确抽取，如果没有则为空，即{}): {
        "type": "npc",
        "npcName": "xxx",
        "content": "xxx"
    },
    "errFeedback"(基于{互动反馈}的错误抽取): 
        {
            "type": "npc",
            "npcName": "xxx",
            "content": "xxx."
        },
    "postDialog"(基于{后置对话}抽取，可为空): [
        {
            "type": "npc",
            "npcName": "xxx",
            "content": "xxx"
        },
        ...
    ]
}

# 输出格式:
- 整个输出必须在一行内完成，**不要换行**。
- **不要使用 markdown 代码块**（如 ```json）包裹输出。
- 输出内容必须是合法的 JSON 格式，可直接用于 JSON.parse

样例:
{"cType":"mid_dialog_sentence","cId":"0000002","title":"向 Rebecca 说明方法","resourceMapping":{"Ben":465,"Otis":234},"preDialog":[{"content":"So? Did you figure it out?","npcName":"Rebecca","type":"npc"},{"content":"These words are all over the place...","npcName":"Rebecca","type":"npc"}],"imgShowTimingList":["content","feedback"],"img":"0000002.png","question":{"content":"Let me make some trouble.","desc":"解析秘密指令"},"optionList":[{"option":"me"},{"option":"let"},{"option":"some trouble"},{"option":"make"}],"answer":[1,0,3,2],"tip":"句子是 let 引导的祈使句","corFeedback":{"content":"Got it.","npcName":"Rebecca","type":"npc"},"errFeedback":{"content":"I'm still not sure what this means.","npcName":"Rebecca","type":"npc"},"postDialog":[]}

# 输入
{ID}: 
 
{标题}:
 
{情境引入}:
 
{互动内容}:
 
{后置对话}:
 
{角色配置}:
 
{互动反馈}：
 
{资源配置}：
 

# 输出
现在基于输入字段和格式要求，生成***可以直接解析的单行json文本***，***注意前后不要输出任何额外符号！！！***
```

## 信息描写
```
# 字段内容要求
{
    "cType": "mid_message_trace", //固定
    "cId": {ID},
    "title": {标题},
    "cDesc"(基于{互动描述}抽取): "xxx",
    "question"(基于{互动内容}抽取): {        
        "desc": "xxxxx", // {互动内容}中的任务描述
    },
   "trace"(基于{互动内容}中的答案抽取): "xxx",
    "img": "{ID}.png", 
    "inputSet": [] //固定
}

# 输出格式:
- 整个输出必须在一行内完成，**不要换行**。
- **不要使用 markdown 代码块**（如 ```json）包裹输出。
- 输出内容必须是合法的 JSON 格式，可直接用于 JSON.parse

样例:
{"cType":"mid_message_trace","cId":"0000001","title":"填写菜单","cDesc":"You filled in the menu with the chosen fruits. (你在菜单上填好了选中的水果。)","question":{"desc":"在菜单上描写出需要选择的水果"},"trace":"help","img":"0000001.png","inputSet":[]}

# 输入
{ID}: 
 
{标题}:
 
{互动内容}:
 
{互动描述}：
 

# 输出
现在基于输入字段和格式要求，生成***可以直接解析的单行json文本***，***注意前后不要输出任何额外符号！！！***
```

## 信息拼词
```
# 字段内容要求
{
    "cType": "mid_message_spell", //固定
    "cId": {ID},
    "title": {标题},
    "cDesc"(基于{互动描述}抽取): "xxx",
    "question"(基于{互动内容}抽取): {        
        "desc": "xxxxx", // {互动内容}中的任务描述
    },
    "tip"(基于{互动内容}中的辅助信息抽取): "xxx",
    "inputConfig": [
        {
            "stem"(基于{互动内容}中的题干抽取): "xxxx",
            "value"(基于{互动内容}中的答案抽取): "xxxx"
         }
    ],
    "stemList"((基于{互动内容}中的选项抽取)): [xxxxx],
    "img": "{ID}.png", 
    "inputSet": [] //固定
}

# 输出格式:
- 整个输出必须在一行内完成，**不要换行**。
- **不要使用 markdown 代码块**（如 ```json）包裹输出。
- 输出内容必须是合法的 JSON 格式，可直接用于 JSON.parse

样例:
{"cType":"mid_message_spell","cId":"0000001","title":"填写菜单","cDesc":"You spelled the fruit name correctly on the menu. (你在菜单上正确拼出了水果的名字。)","question":{"desc":"选择合适的字母拼出想要的水果"},"tip":"第二个字母是 r 哦，再想想最后一个空应该填什么吧","inputConfig":[{"stem":"G(2)pe","value":"ra"}],"stemList":["h","a","r","l","e"],"img":"0000001.png","inputSet":[]}

# 输入
{ID}: 
 
{标题}:
 
{互动内容}:
 
{互动描述}：
 

# 输出
现在基于输入字段和格式要求，生成***可以直接解析的单行json文本***，***注意前后不要输出任何额外符号！！！***
```

## 信息组句
```
# 字段内容要求
{
    "cType": "mid_message_combine", //固定
    "cId": {ID},
    "title": {标题},
    "cDesc"(基于{互动描述}抽取): "xxx",
    "question"(基于{互动内容}抽取): {        
        "desc": "xxxxx", // {互动内容}中的任务描述
    },
    "tip"(基于{互动内容}中的辅助信息抽取): "xxx",
    "optionList"(基于{互动内容}中的选项抽取): [
        {
            "option": "xxxx"
         }，
        {
            "option": "xxxx"
         }
         ...
    ],
    "answer"(基于{互动内容}中的答案生成，根据答案抽取出optionList中对应选项的索引): [xxxxx],
    "img": "{ID}.png", 
    "inputSet": [] //固定
}

# 输出格式:
- 整个输出必须在一行内完成，**不要换行**。
- **不要使用 markdown 代码块**（如 ```json）包裹输出。
- 输出内容必须是合法的 JSON 格式，可直接用于 JSON.parse

样例:
{"cType":"mid_message_combine","cId":"0000001","title":"提交身份证件","cDesc":"You submitted the required ID details successfully online. (你成功提交了所需的身份证件信息。)","question":{"desc":"选择正确的选项组合出必要的填写内容"},"tip":" ","optionList":[{"option":"I am"},{"option":"a Pioneer!"},{"option":"going to be"}],"answer":[0,2,1],"img":"0000001.png","inputSet":[]}

# 输入
{ID}: 
 
{标题}:
 
{互动内容}:
 
{互动描述}：
 

# 输出
现在基于输入字段和格式要求，生成***可以直接解析的单行json文本***，***注意前后不要输出任何额外符号！！！***
```

## 信息补词
```
# 字段内容要求
{
    "cType": "mid_message_fillin", //固定
    "cId": {ID},
    "title": {标题},
    "cDesc"(基于{互动描述}抽取): "xxx",
    "question"(基于{互动内容}抽取): {        
        "desc": "xxxxx", // {互动内容}中的任务描述
    },
    "tip"(基于{互动内容}中的辅助信息抽取): "xxx",
    "inputConfig": [
        {
            "stem"(基于{互动内容}中的题干抽取): "xxxx",
            "value"(基于{互动内容}中的答案抽取): "xxxx"
         }
    ],
    "img": "{ID}.png", 
    "inputSet": [] //固定
}

# 输出格式:
- 整个输出必须在一行内完成，**不要换行**。
- **不要使用 markdown 代码块**（如 ```json）包裹输出。
- 输出内容必须是合法的 JSON 格式，可直接用于 JSON.parse

样例:
{"cType":"mid_message_fillin","cId":"0000001","title":"填写学习旅行申请单","cDesc":"You filled in the study trip application with needed words. (你在学习旅行申请单上填好了必要的单词。)","question":{"desc":"在申请单上填上必要的单词"},"tip":"需要填写的是“知识”的单词","inputConfig":[{"stem":"K(3)ledge","value":"new"}],"img":"0000001.png","inputSet":[]}

# 输入
{ID}: 
 
{标题}:
 
{互动内容}:
 
{互动描述}：
 

# 输出
现在基于输入字段和格式要求，生成***可以直接解析的单行json文本***，***注意前后不要输出任何额外符号！！！***
```

## 信息填词
```
# 字段内容要求
{
    "cType": "mid_message_word", //固定
    "cId": {ID},
    "title": {标题},
    "cDesc"(基于{互动描述}抽取): "xxx",
    "question"(基于{互动内容}抽取): {        
        "desc": "xxxxx", // {互动内容}中的任务描述
    },
    "tip"(基于{互动内容}中的辅助信息抽取): "xxx",
    "answer"(基于{互动内容}中的答案抽取): [xxxxx],
    "img": "{ID}.png", 
    "inputSet": [] //固定
}

# 输出格式:
- 整个输出必须在一行内完成，**不要换行**。
- **不要使用 markdown 代码块**（如 ```json）包裹输出。
- 输出内容必须是合法的 JSON 格式，可直接用于 JSON.parse

样例:
{"cType":"mid_message_word","cId":"0000001","title":"填写学习旅行申请单","cDesc":"You filled in the study trip application with the needed words. (你在学习旅行申请单上填好了必要的单词。)","question":{"desc":"在申请单上填上必要的单词"},"tip":"需要填写的是“知识”的单词","answer":["knowledge","information","understanding"],"img":"0000001.png","inputSet":[]}

# 输入
{ID}: 
 
{标题}:
 
{互动内容}:
 
{互动描述}：
 

# 输出
现在基于输入字段和格式要求，生成***可以直接解析的单行json文本***，***注意前后不要输出任何额外符号！！！***
```

## 信息填句
```
# 字段内容要求
{
    "cType": "mid_message_sentence", //固定
    "cId": {ID},
    "title": {标题},
    "cDesc"(基于{互动描述}抽取): "xxx",
    "question"(基于{互动内容}抽取): {        
        "desc": "xxxxx", // {互动内容}中的任务描述
    },
    "tip"(基于{互动内容}中的辅助信息抽取): "xxx",
    "answerHint"(基于{互动内容}中的推荐答案抽取): "xxxxx",
    "img": "{ID}.png", 
    "inputSet": [] //固定
}

# 输出格式:
- 整个输出必须在一行内完成，**不要换行**。
- **不要使用 markdown 代码块**（如 ```json）包裹输出。
- 输出内容必须是合法的 JSON 格式，可直接用于 JSON.parse

样例:
{"cType":"mid_message_sentence","cId":"0000001","title":"填写学习旅行申请单","cDesc":"You copied “The main purpose of this tour” onto the application form. (你把“The main purpose of this tour”抄写到了申请单上。)","question":{"desc":"请抄写 The main purpose of this tour"},"tip":"你可以使用 The main purpose of this tour is...","answerHint":"The main purpose of this tour is to learn knowledge about local traditional crafts.","img":"0000001.png","inputSet":[]}

# 输入
{ID}: 
 
{标题}:
 
{互动内容}:
 
{互动描述}：
 

# 输出
现在基于输入字段和格式要求，生成***可以直接解析的单行json文本***，***注意前后不要输出任何额外符号！！！***
```

## 图片单选
```
# 字段内容要求
{
    "cType": "mid_image_choose",//固定值
    "cId": "{ID}",
    "title": {标题},
    "meaning": {学习意义构建}, // 如果为“无”则为空字符串""
    "resourceMapping"(抽取出{角色配置}中的全部 name:id映射 可为空。id必须为int类型): {"name":id, "name":id} // 样例：{"Ben":465, "Otis":234}
    "question"(基于{互动内容}抽取):{
        "desc":"xxx",
        "content":"xxx" // 如果有“（音频）”字样，则有该字段，内容和"desc"相同；如果没有“（音频）”字样，则没有该字段！注意“（音频）”不要提取出来！
    },
    "imageInfo": {// 图片信息
        "questionImg": "{ID}_question.png", // 问题展现的图片，例如：0215001_question.png
        "answerImg": "{ID}_answer.png", // 答对后展现的图片，例如：0215001_answer.png
    },
    "optionList"(基于{互动内容}中的选项抽取): [
        {
            "option": "{ID}_option_00.png",
        },
        {
            "option": "{ID}_option_01.png",
        },
        ......
    ],
    "answer"(基于{互动内容}中的答案抽取):[xx],
    "preDialog"(基于{情境引入}抽取): [
        {
            "type": "npc",
            "npcName": "xxx",
            "content": "xxx"
        },
        {
            "type": "user",
            "content": "xxx"
        },
         ...
    ],
    "tip"(基于{互动内容}中的辅助信息抽取): "xxx",
    "corFeedback"(基于{互动反馈}中的正确抽取，如果为无则该字段整体为空，即{}): {
        "type": "npc",
        "npcName": "xxx",
        "content": "xxx"
    }, 
    "errFeedback"(基于{互动反馈}的错误抽取): {
        "type": "npc",
        "npcName": "xxx",
        "content": "xxx"
    },
    "postDialog"(基于{后置对话}抽取): [
        {
            "type": "npc",
            "npcName": "xxx",
            "content": "xxx"
        },
        {
            "type": "user",
            "content": "xxx"
        },
         ...
    ],
    "cDesc": "xxx", // {互动描述}的全部内容
}


# 输出格式:
单行json。
样例:
{"cType":"mid_image_choose","cId":"12132","title":"猜Chloe的意图","meaning":"","resourceMapping":{"Ben":465,"Otis":234},"question":{"desc":"Look for $key$ in the picture sent by Rebecca and click on it."},"imageInfo":{"questionImg":"0000001_question.png","answerImg":"0000001_answer.png"},"optionList":[{"option":"00000001_option_00.png"},{"option":"00000001_option_01.png"}],"answer":[1],"preDialog":[{"type":"npc","npcName":"Sarah","content":"We've seen something. Let's go and have a look right away."},{"type":"user","content":"It seems to be a slogan."}],"tip":"key 意思为 “钥匙”。","corFeedback":{"type":"npc","npcName":"Tom","content":"You got it right."},"errFeedback":{"type":"npc","npcName":"Tom","content":"Wrong！Look for $key$ in the picture sent by Rebecca and click on it."},"postDialog":[{"type":"npc","npcName":"Sarah","content":"Let's do as the slogan says."},{"type":"user","content":"It seems to be a slogan."}],"cDesc":"You pressed the clean button on the drone. (你按下了无人机的清理按键。)"}

# 输入
{ID}: 
 
{标题}:
 
{情境引入}:
 
{互动内容}:
 
{互动反馈}:
 
{后置对话}:
 
{学习意义构建}:
 
{角色配置}:
 
{互动描述}:
 

# 输出
现在基于输入字段和格式要求，生成***可以直接解析的单行json文本***，***注意前后不要输出任何额外符号！！！***
```

## 图片多选
```
# 字段内容要求
{
    "cType": "mid_image_multiple",//固定值
    "cId": "{ID}", // 类型为字符串
    "title": {标题},
    "meaning": {学习意义构建}, // 如果为“无”则为空字符串""
    "resourceMapping"(抽取出{角色配置}中的全部 name:id映射 可为空。id必须为int类型): {"name":id, "name":id} // 样例：{"Ben":465, "Otis":234}
    "question"(基于{互动内容}抽取):{
        "desc":"xxx",
        "content":"xxx" // 如果有“（音频）”字样，则有该字段，内容和"desc"相同；如果没有“（音频）”字样，则没有该字段！
    },
    "imageInfo": {// 图片信息
        "questionImg": "{ID}_question.png", // 问题展现的图片，例如：0215001_question.png
        "answerImg": "{ID}_answer.png", // 答对后展现的图片，例如：0215001_answer.png
    },
    "optionList"(基于{互动内容}中的选项抽取): [
        {
            "option": "{ID}_option_00.png",
        },
        {
            "option": "{ID}_option_01.png",
        },
        ......
    ],
    "answer"(基于{互动内容}中的答案抽取):[xx,xx,...], // 一位数字即可
    "preDialog"(基于{情境引入}抽取): [
        {
            "type": "npc",
            "npcName": "xxx",
            "content": "xxx"
        },
        {
            "type": "user",
            "content": "xxx"
        },
         ...
    ],
    "tip"(基于{互动内容}中的辅助信息抽取): "xxx",
    "corFeedback"(基于{互动反馈}抽取，可过没有正确反馈则为空，即{}): {
        "type": "npc",
        "npcName": "xxx",
        "content": "xxx"
    }, 
    "errFeedback"(基于{互动反馈}抽取): {
        "type": "npc",
        "npcName": "xxx",
        "content": "xxx"
    },
    "postDialog"(基于{后置对话}抽取): [
        {
            "type": "npc",
            "npcName": "xxx",
            "content": "xxx"
        },
        {
            "type": "user",
            "content": "xxx"
        },
         ...
    ],
    "cDesc": "xxx", // {互动描述}的全部内容
}


# 输出格式:
单行json。
样例:
{"cType":"mid_image_choose","cId":"12132","title":"猜Chloe的意图","meaning":"","resourceMapping":{"Ben":465,"Otis":234},"question":{"desc":"Look for $key$ in the picture sent by Rebecca and click on it."},"imageInfo":{"questionImg":"0000001_question.png","answerImg":"0000001_answer.png"},"optionList":[{"option":"00000001_option_00.png"},{"option":"00000001_option_01.png"},{"option":"00000001_option_02.png"},{"option":"00000001_option_03.png"},{"option":"00000001_option_04.png"}],"answer":[1,3,4],"preDialog":[{"type":"npc","npcName":"Sarah","content":"We've seen something. Let's go and have a look right away."},{"type":"user","content":"It seems to be a slogan."}],"tip":"key 意思为 “钥匙”","corFeedback":{"type":"npc","npcName":"Tom","content":"You got it right."},"errFeedback":{"type":"npc","npcName":"Tom","content":"Wrong！Look for $key$ in the picture sent by Rebecca and click on it."},"postDialog":[{"type":"npc","npcName":"Sarah","content":"Let's do as the slogan says."},{"type":"user","content":"It seems to be a slogan."}],"cDesc":"You pressed the clean button on the drone. (你按下了无人机的清理按键。)"}

# 输入
{ID}: 
 
{标题}:
 
{情境引入}:
 
{互动内容}:
 
{互动反馈}:
 
{后置对话}:
 
{学习意义构建}:
 
{角色配置}:
 
{互动描述}:
 

# 输出
现在基于输入字段和格式要求，生成***可以直接解析的单行json文本***，***注意前后不要输出任何额外符号！！！***
```

## 图片有序
```
# 字段内容要求
{
    "cType": "mid_image_sequence",//固定值
    "cId": {ID},
    "title": {标题},
    "meaning": {学习意义构建}, // 如果为“无”则为空字符串""
    "resourceMapping"(抽取出{角色配置}中的全部 name:id映射 可为空。id必须为int类型): {"name":id, "name":id} // 样例：{"Ben":465, "Otis":234}
    "question"(基于{互动内容}抽取):{
        "desc":"xxx"
    },
    "imageInfo": {// 图片信息
        "questionImg": "{ID}_question.png", // 问题展现的图片，例如：0215001_question.png
        "answerImg": "{ID}_answer.png", // 答对后展现的图片，例如：0215001_answer.png
    },
    "optionList"(请严格基于{互动内容}中给出的选项进行抽取，生成的结果数量必须与选项数量**完全一致**，**不得遗漏**任何选项。): [
        {
            "option": "{ID}_option_00.png",
        },
        {
            "option": "{ID}_option_01.png",
        },
        ......
    ],
    "answer"(基于{互动内容}中的答案抽取):[xx,xx...],
    "preDialog"(基于{情境引入}抽取): [
        {
            "type": "npc",
            "npcName": "xxx",
            "content": "xxx"
        },
        {
            "type": "user",
            "content": "xxx"
        },
         ...
    ],
    "tip"(基于{互动内容}中的辅助信息抽取): "xxx",
    "corFeedback"(基于{互动反馈}抽取“正确”，如果没有正确反馈则为空，即{}): {
        "type": "npc",
        "npcName": "xxx",
        "content": "xxx"
    }, 
    "errFeedback"(基于{互动反馈}抽取"错误"): {
        "type": "npc",
        "npcName": "xxx",
        "content": "xxx"
    },
    "postDialog"(基于{后置对话}抽取): [
        {
            "type": "npc",
            "npcName": "xxx",
            "content": "xxx"
        },
        {
            "type": "user",
            "content": "xxx"
        },
         ...
    ],
}


# 输出格式:
单行json。
样例:
{"cType":"mid_image_choose","cId":"12132","title":"猜Chloe的意图","meaning":"","resourceMapping":{"Ben":465,"Otis":234},"question":{"desc":"Look for $key$ in the picture sent by Rebecca and click on it."},"imageInfo":{"questionImg":"0000001_question.png","answerImg":"0000001_answer.png"},"optionList":[{"option":"00000001_option_00.png"},{"option":"00000001_option_01.png"},{"option":"00000001_option_02.png"},{"option":"00000001_option_03.png"},{"option":"00000001_option_04.png"}],"answer":[1,3,4],"preDialog":[{"type":"npc","npcName":"Sarah","content":"We've seen something. Let's go and have a look right away."},{"type":"user","content":"It seems to be a slogan."}],"tip":"key 意思为 “钥匙”","corFeedback":{"type":"npc","npcName":"Tom","content":"You got it right."},"errFeedback":{"type":"npc","npcName":"Tom","content":"Wrong！Look for $key$ in the picture sent by Rebecca and click on it."},"postDialog":[{"type":"npc","npcName":"Sarah","content":"Let's do as the slogan says."},{"type":"user","content":"It seems to be a slogan."}],"cDesc":"You pressed the clean button on the drone. (你按下了无人机的清理按键。)"}

# 输入
{ID}: 
 
{标题}:
 
{情境引入}:
 
{互动内容}:
 
{互动反馈}:
 
{后置对话}:
 
{学习意义构建}:
 
{角色配置}:
 
{互动描述}：
 

# 输出
现在基于输入字段和格式要求，生成***可以直接解析的单行json文本***，***注意前后不要输出任何额外符号！！！***
```

## 图片拖拽
```
# 字段内容要求
{
    "cType": "mid_image_drag",//固定值
    "cId": "{ID}", // 类型为字符串
    "title": {标题},
    "meaning": {学习意义构建}, // 如果为“无”则为空字符串""
    "resourceMapping"(抽取出{角色配置}中的全部 name:id映射 可为空。id必须为int类型): {"name":id, "name":id} // 样例：{"Ben":465, "Otis":234}
    "question"(基于{互动内容}抽取):{
        "desc":"xxx", // 如果有“（音频）”字样，在抽取时略过“（音频）”
        "content":"xxx" // 如果有“（音频）”字样，则有该字段，内容和"desc"相同；如果没有“（音频）”字样，则没有该字段！
    },
    "imageInfo": {// 图片信息
        "questionImg": "{ID}_question.png", // 问题展现的图片，例如：0215001_question.png
        "answerImg": "{ID}_answer.png", // 答对后展现的图片，例如：0215001_answer.png
    },
    "optionList"(基于{互动内容}中的选项抽取): [
        {
            "option": "{ID}_option_00.png",
        },
        {
            "option": "{ID}_option_01.png",
        },
        ......
    ],
    "answer"(基于{互动内容}中的答案抽取):[xx,xx,...], // 一位数字即可
    "preDialog"(基于{情境引入}抽取): [
        {
            "type": "npc",
            "npcName": "xxx",
            "content": "xxx"
        },
        {
            "type": "user",
            "content": "xxx"
        },
         ...
    ],
    "tip"(基于{互动内容}中的辅助信息抽取): "xxx",
    "corFeedback"(基于{互动反馈}抽取，可过没有正确反馈则为空，即{}): {
        "type": "npc",
        "npcName": "xxx",
        "content": "xxx"
    }, 
    "errFeedback"(基于{互动反馈}抽取): {
        "type": "npc",
        "npcName": "xxx",
        "content": "xxx"
    },
    "postDialog"(基于{后置对话}抽取): [
        {
            "type": "npc",
            "npcName": "xxx",
            "content": "xxx"
        },
        {
            "type": "user",
            "content": "xxx"
        },
         ...
    ],
    "cDesc": "xxx", // {互动描述}的全部内容
}


# 输出格式:
单行json。
样例:
{"cType":"mid_image_choose","cId":"12132","title":"猜Chloe的意图","meaning":"","resourceMapping":{"Ben":465,"Otis":234},"question":{"desc":"Look for $key$ in the picture sent by Rebecca and click on it."},"imageInfo":{"questionImg":"0000001_question.png","answerImg":"0000001_answer.png"},"optionList":[{"option":"00000001_option_00.png"},{"option":"00000001_option_01.png"},{"option":"00000001_option_02.png"},{"option":"00000001_option_03.png"},{"option":"00000001_option_04.png"}],"answer":[1,3,4],"preDialog":[{"type":"npc","npcName":"Sarah","content":"We've seen something. Let's go and have a look right away."},{"type":"user","content":"It seems to be a slogan."}],"tip":"key 意思为 “钥匙”","corFeedback":{"type":"npc","npcName":"Tom","content":"You got it right."},"errFeedback":{"type":"npc","npcName":"Tom","content":"Wrong！Look for $key$ in the picture sent by Rebecca and click on it."},"postDialog":[{"type":"npc","npcName":"Sarah","content":"Let's do as the slogan says."},{"type":"user","content":"It seems to be a slogan."}],"cDesc":"You pressed the clean button on the drone. (你按下了无人机的清理按键。)"}

# 输入
{ID}: 
 
{标题}:
 
{情境引入}:
 
{互动内容}:
 
{互动反馈}:
 
{后置对话}:
 
{学习意义构建}:
 
{角色配置}:
 
{互动描述}:
 

# 输出
现在基于输入字段和格式要求，生成***可以直接解析的单行json文本***，***注意前后不要输出任何额外符号！！！***
```
