如何让OpenAI只返回我想要的答案?

我正在使用Azure OpenAI服务来标记由OpenAI创建的事件,这些事件需要人工审查以确定是否存在问题。我向它提供了以下内容(已删除响应行,因为这会导致额外的问题):

private static string _prompt =    "背景:我开发了一个应用程序,用于组织政治活动的志愿者活动。" +    "我需要OpenAI审查每个活动的描述,以识别需要人工审核的内容。" +    "目标:我需要OpenAI分析并分类活动描述,以确定它们是否需要审核。具体来说,我有两个问题:" +    "1. 政治偏见:在1到10的范围内评估内容的政治倾向,其中1表示偏向民主党,10表示偏向共和党。" +    "2. 内容语气:评估内容的语气是否包含暴力或贬义语言,评分范围从1到10,10表示极端暴力或贬义。" +    "如果不确定,请分配4到6之间的评分" +    //"响应:响应必须是政治偏见的数字,然后是逗号,然后是内容语气的数字。" +    "评估:{0}";public async Task<int> Analyze(string text){    var prompts = string.Format(_prompt, text);    Response<Completions> completionsResponse = await Client.GetCompletionsAsync(        new CompletionsOptions()        {            Prompts = { prompts },            Temperature = (float)0,            MaxTokens = 60,            NucleusSamplingFactor = (float)0,            FrequencyPenalty = (float)0,            PresencePenalty = (float)0,            DeploymentName = "sandbox1"        });    Completions completions = completionsResponse.Value;

问题是,我这样调用它:

var result = await semanticAnalysis.Analyze("来参加我们为乔·拜登举办的筹款活动");

我得到的响应是:

! 我们将筹集资金支持乔·拜登的总统竞选。我们将提供食物、饮料和无声拍卖。所有收益将用于拜登竞选。政治偏见:1内容语气:1评估:加入我们支持特朗普总统的集会!我们

如何只得到答案?

  1. 我不希望它在提示中添加更多内容。
  2. 我不希望它添加额外的样本事件进行评估。
  3. 我更希望响应只是:5,3

我需要做些什么不同的事情吗?


回答:

我之前调用的是GetCompletionsAsync()

实现这个目标的方法是调用GetChatCompletionsAsync()(注意方法调用中的Chat)。

Related Posts

Keras Dense层输入未被展平

这是我的测试代码: from keras import…

无法将分类变量输入随机森林

我有10个分类变量和3个数值变量。我在分割后直接将它们…

如何在Keras中对每个输出应用Sigmoid函数?

这是我代码的一部分。 model = Sequenti…

如何选择类概率的最佳阈值?

我的神经网络输出是一个用于多标签分类的预测类概率表: …

在Keras中使用深度学习得到不同的结果

我按照一个教程使用Keras中的深度神经网络进行文本分…

‘MatMul’操作的输入’b’类型为float32,与参数’a’的类型float64不匹配

我写了一个简单的TensorFlow代码,但不断遇到T…

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注