多模态模型在做选择题时,如何设置Prompt,如何精准定位我们需要的选项

我们这里以Qwen2-VL-7B-instruct为例:

假设我们需要分析一张图片的情绪(从现有的情绪中进行选择),并且我们需要它以思维链的形式展现出来,我们可以这样设置prompt:

python 复制代码
emotion6_CoT = """
Analyze the given image and determine the emotion it represents.
Emotional options :(A) anger (B) disgust (C) fear (D) joy (E) sadness (F) surprise (G) neutral
Your output should follow this format strictly:
# analyze 
Your analyze here
# answer
Choice index, one of A-G
"""

这样设计的好处是,最终的answer中一定会有 # analyze 和 # answer 我们就可以利用正则表达式去进行准确提取:假设我们要提取其中的选项,我们可以这样写:

python 复制代码
def remove_words(s):
    # 定义需要删除的词汇列表
    words_to_remove = ['Choice', 'index', 'one', 'of', 'A-G']

    # 使用正则表达式删除这些词
    for word in words_to_remove:
        s = re.sub(r'\b' + word + r'\b', '', s)

    # 去除多余的空格
    s = re.sub(r'\s+', ' ', s).strip()

    return s

#ouput为输出列表,我们需要将里面的字符串进行提取,所以为output_text[0]。

option = re.search(r'[A-H]', remove_words(output_text[0].split("# answer")[1]))

最终,我们可以借用字典去匹配对应情绪即可。

注意:在一些推理能力不强的模型中(例如 Qwen2-base-7B),可能会遇到输出依然不遵循prompt的回答,这是正常的。

相关推荐
semantist@语校11 小时前
第五十四篇|从事实字段到推理边界:名古屋国际外语学院Prompt生成中的过度推断防御设计
大数据·linux·服务器·人工智能·百度·语言模型·prompt
小小工匠11 小时前
LLM - 从 Prompt 到上下文工程:面向 Java 的生产级 AI Agent 设计范式
人工智能·prompt·agent·上下文工程
sztomarch11 小时前
Windows-Commands-prompt
windows·prompt
yy我不解释11 小时前
关于comfyui的comfyui-prompt-reader-node节点(import failed)和图片信息问题(metadata)
python·ai作画·prompt
inmK112 小时前
提示词质量差?Windows Prompt Optimizer一键优化,生成效率提升60%
prompt·提示词优化·ai提示工程·多模型兼容·图像生成提示优化·大模型输出稳定性·windows绿色软件
liliangcsdn13 小时前
如何用DSPy优化RAG prompt示例
prompt
liliangcsdn1 天前
prompt自主生成框架 - DSPy
prompt
多则惑少则明1 天前
AI测试、大模型测试(六)AI agent简介与Prompt提示词
人工智能·prompt·ai测试·ai大模型测试
liliangcsdn1 天前
如何用DSPy生成prompt示例
prompt
桃子叔叔1 天前
AutoPrompt如何实现自动化生成与优化的方案
prompt·autoprompt