我正在尝试使用 chatgpt API 获取文本中的情感
def infer_feeling(text):
prompt = f"What feeling is filled in the following text?\nText: {text}\nFeeling:"
response = openai.ChatCompletion.create(
model=model,
messages=[
{"role": "system", "content": "You are a helpful assistant."},
{"role": "user", "content": prompt}
]
)
reply = response.choices[0].message['content']
emotions = ["happiness", "sadness", "anger", "fear", "trust", "curiosity", "hope", "despair"]
我想要的是将回复作为数组元素(情绪)。是否可以将 gpt 的响应与该数组的元素相匹配?我希望它返回该数组中最匹配的情感,而不是其他。
预先感谢您的帮助
最佳答案
看起来您正在尝试执行类似的操作,因为您希望 GPT 从多个给定选项中选择一个: https://community.openai.com/t/gpt-function-calling-function-params-enum/281946
我不是专家,但我个人会定义一个函数调用,并在参数描述中使用提示工程来强调参数必须是这些选项之一(“幸福”,“悲伤”,“愤怒”,. ..),以最适合的为准。
关于python - 将聊天响应放入 GPT API 中的列表中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/76630950/