如何让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

使用LSTM在Python中预测未来值

这段代码可以预测指定股票的当前日期之前的值,但不能预测…

如何在gensim的word2vec模型中查找双词组的相似性

我有一个word2vec模型,假设我使用的是googl…

dask_xgboost.predict 可以工作但无法显示 – 数据必须是一维的

我试图使用 XGBoost 创建模型。 看起来我成功地…

ML Tuning – Cross Validation in Spark

我在https://spark.apache.org/…

如何在React JS中使用fetch从REST API获取预测

我正在开发一个应用程序,其中Flask REST AP…

如何分析ML.NET中多类分类预测得分数组?

我在ML.NET中创建了一个多类分类项目。该项目可以对…

发表回复

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