You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何让GPT API返回指定情感数组中的匹配元素?

实现指定情感列表的精准返回

修改提示词与代码逻辑

要让GPT严格返回指定数组内的情感词,核心是在提示中明确约束范围和输出要求,同时可增加结果校验确保稳定性。

优化后的完整代码

def infer_feeling(text):
    emotions = ["happiness", "sadness", "anger", "fear", "trust", "curiosity", "hope", "despair"]
    # 构造带明确约束的提示词
    prompt = f"""从以下指定情感列表中选择最匹配文本的情感,仅返回情感词本身,不要任何额外内容:
情感列表:{', '.join(emotions)}
文本:{text}
匹配情感:"""

    response = openai.ChatCompletion.create(
        model=model,
        messages=[
            {"role": "system", "content": "你是严格执行指令的情感分析助手,仅返回指定列表中的情感词。"},
            {"role": "user", "content": prompt}
        ]
    )

    reply = response.choices[0].message['content'].strip()
    # 可选:增加容错,若返回不在列表内则处理
    if reply not in emotions:
        reply = "unknown"
    return reply

关键调整说明

  • 系统提示:明确GPT的执行边界,强调仅返回指定列表内的内容
  • 用户提示:清晰列出允许的情感选项,重复强调输出格式要求,避免冗余内容
  • 结果校验:增加对返回值的校验,防止出现不符合要求的输出,提升接口稳定性

内容的提问来源于stack exchange,提问作者mhmtemnacr

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.16 15:47:01