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

标签 azure gpt-3 azure-openai text-davinci-003

在我的用例中,我使用的是 Azure 上托管的 o​​penai 模型。我正在尝试生成具有特定长度的句子或单词列表。我们以这个提示为例:

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

text-davinci-003 模型按预期完成列表并停止,但 gpt-3.5-turbo 模型会生成 token ,直到达到 token 限制,即使我告诉模型在任务完成后停止也是如此。使用少量镜头提示在这里似乎也不起作用。

黑客解决方法

  • 对 max_tokens 使用较低的值。但很难估计该值,因为部分提示将在应用程序中动态更改。而且它仍然需要后处理来删除浪费的 token 。

  • 在示例之前放置一个计数器,然后使用特定数字作为停止序列。当使用像上面这样的通用计数器时,我需要确保不会意外生成停止序列,从而使模型停止。当使用像“1~~”、“2~~”这样的不寻常计数器时......模型有可能使停止序列变形,因此它仍然会生成直到达到限制。

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

最佳答案

我也遇到了同样的问题,一个技巧是在最后添加像append --end-- 这样的结束语句,并将其添加为停止序列,因为降低 token 限制是有限的,而不是完整的证明。寻找为什么两个模型的行为存在差异。

关于azure - 如何阻止 GPT-3.5-Turbo 模型生成文本(azure)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/76100128/

相关文章:

c# - Azure 部署后 ASP.NET Core MVC web 应用程序错误

python - OpenAI GPT-3 API 错误 : "InvalidRequestError: Unrecognized request argument supplied"

openai-api - OpenAI GPT-3 API : Why do I get only partial completion? 为什么完成中断?

azure - 在 OpenAI Azure 上找不到 GPT3.5-Turbo-16k

azure - 如何更改azure网站服务中的默认时区?

azure - 无法访问 Azure 上的 OpenId UserInfo 端点(AADSTS90010 : JWT tokens cannot be used with the UserInfo endpoint)

c# - 如何正确使用 Azure.AI.OpenAI.OpenAIClient.GetChatCompletionsStreamingAsync 方法

azure - 适用于 Azure Openai 的 Microsoft Azure 引擎

azure - 阻止 AI 在单一响应中继续对话

SQLite3 数据库被锁定在 Azure 中