ChatGPT-3 什么是OpenAI API警告:为了避免invalid_request_error,best_of设置为等于n,什么是“best of”?

9lowa7mx  于 2023-03-03  发布在  其他
关注(0)|答案(1)|浏览(673)

此**“最佳”**警告是在运行Win10的PC上使用OpenAI API导致的。

背景:

使用Jupyter Lab中的OpenAI API和ir内核,本笔记本中仅安装了rgpt 3库。
API成功执行了测试代码完成。无论API是发出单个还是多个API请求,都返回相同的警告。
使用3个查询时的结果如下:
[1]“请求:1/3”为避免invalid_request_error,将best_of设置为等于n
[1]“请求:2/3”为避免invalid_request_error,将best_of设置为等于n
[1]“请求:3/3”为避免invalid_request_error,将best_of设置为等于n
在进行了多次不成功的网络搜索之后--包括在Stack Overflow上搜索关于这些警告的信息,我发现几乎没有关于这个警告的任何信息。这可能还为时过早,因为对大多数人来说,OpenAI API相对较新。
因此,我们决定发布有关此警告的问题和答案,因为否则查找此类信息非常困难和耗时。对于那些大胆前往以前很少有人去过的地方的用户来说,错误和警告消息不会激发信心。

mwg9r5ms

mwg9r5ms1#

    • 警告消息后面的错误是关于什么的:**

为了避免invalid_request_error,将best_of设置为等于'n
OpenAi网站上的最佳实践指南提供了描述"best_of"含义的来源。该信息目前可在以下网站上获得:
https://beta.openai.com/docs/guides/production-best-practices/improving-latencies
简而言之,"best_of"是一个参数,用来定义我们在使用API时想要从OpenAI网站获得什么。使用OpenAI API涉及到"token"-这类似于OpenAI网站对用户使用和费率限制的计量。此外,基于上下文长度,OpenAI的大多数模型也有限制--大多数模型的最大上下文大小为2048。
OpenAI网站上的最佳实践指南建议如下:
生成更少的完成:在可能时降低n和best_of的值,其中n指的是为每个提示生成多少个完成,best_of用于表示每个标记具有最高对数概率的结果。
如果n和best_of都等于1(这是默认值),则生成的令牌数最多等于max_tokens。
如果n(返回的完成数)或best_of(生成的考虑的完成数)设置为〉1,则每个请求将创建多个输出。这里,您可以将生成的令牌数视为[max_tokens * max(n,best_of)]
Jupyter Notebook中OpenAI网站上用于请求的函数有一个R Package 器,它发送带有参数范围的请求-包括名为best_of的参数。函数中的best_of参数已经默认为1,只能手动更改。从函数复制和粘贴此参数如下:

best_of = 1
    • 因此,只能假设OpenAI网站为每个API请求的每个"Prompt"自动生成"best_of"警告作为友好提醒。如果需要,可以通过编程忽略或删除此警告消息**

相关问题