如何阻止GPT-35-Turbo模型从生成文本(azure)?

sigwle7e  于 2023-05-01  发布在  其他
关注(0)|答案(2)|浏览(196)

在我的用例中,我使用的是Azure上托管的openai模型。我试图生成一个特定长度的句子或单词列表。让我们以这个提示为例:

Give 10 Examples of pizza ingredients: 
1. tomatoes
2. mushrooms

text-davinci-003模型按预期完成了列表,但在gpt-3处停止。5-turbo模型生成令牌,直到达到令牌限制,即使我告诉模型在任务完成时停止。使用少量的镜头提示在这里似乎也不起作用。
Hacky工作区

  • 使用max_tokens的低值。但是很难估计该值,因为提示符的某些部分将在应用程序中动态更改。而且它仍然需要后处理来删除浪费的令牌。
  • 在例子前面放一个计数器,然后用一个特定的数字作为停止序列。当使用上面的通用计数器时,我需要确保停止序列不会意外生成,从而使模型停止。当使用“1~~”、“2~~”等不常见的计数器时。..存在模型使停止序列变形的可能性,使得其仍将生成直到达到极限。

有没有一个干净简单的解决方案让模型停止生成,就像text-davinci-003那样?

zte4gxcn

zte4gxcn1#

在此notebook中,使用ChatGPT模型时,有两种策略用于管理低于4096的令牌限制。
选项1:将会话保持在给定的令牌限制内
选项2:将对话保持在给定的回合数内

68de4m5k

68de4m5k2#

我也遇到了同样的问题,一个黑客是在结尾添加end语句,如append --end-,并添加它作为停止序列,因为降低令牌限制是限制性的,而不是完全证明。寻找为什么两种模型中的行为存在差异。

相关问题