OpenAI GPT3 搜索 API 无法在本地运行
OpenAI GPT3 Search API not working locally
我在自己的 Jsonlines 文件上使用 python 客户端进行 GPT 3 搜索模型。当我 运行 Google Colab Notebook 上的代码用于测试目的时,它工作正常并且 returns 搜索响应。但是,当我 运行 本地计算机 (Mac M1) 上的代码作为 Web 应用程序 (运行ning 在本地主机上) 使用 flask 实现 Web 服务功能时,它会出现以下错误:
openai.error.InvalidRequestError: File is still processing. Check back later.
即使我实现与 OpenAI 文档中给出的示例完全相同的示例,也会发生此错误。 link 到 search example is given here.
如果我使用 GPT3 playground 使用的完成 API,它 运行 在本地机器和 colab notebook 上完全没问题。 (code link here)
我的代码如下:
import openai
openai.api_key = API_KEY
file = openai.File.create(file=open(jsonFileName), purpose="search")
response = openai.Engine("davinci").search(
search_model = "davinci",
query = query,
max_rerank = 5,
file = file.id
)
for res in response.data:
print(res.text)
知道为什么会出现这种奇怪的行为吗?我该如何解决?谢谢。
问题出在这一行:
file = openai.File.create(file=open(jsonFileName), purpose="search")
它 returns 带有文件 ID 和状态的调用已上传,这使得上传和文件处理似乎已完成。然后我将该文件 ID 传递给搜索 API,但实际上它尚未完成处理,因此搜索 API 抛出错误 openai.error.InvalidRequestError: File is still processing. Check back later.
返回的文件对象如下所示(误导):
它在 google colab 中工作,因为 openai.File.create 调用和搜索调用在 2 个不同的单元格中,这使它有时间在我一个一个地执行单元格时完成处理。如果我在一个单元格中编写所有相同的代码,它会给我同样的错误。
因此,我不得不引入 4-7 秒的等待时间,具体取决于您的数据大小,time.sleep(5)
在 openai.File.create 调用之后调用 openai.Engine("davinci ").search 调用并解决了问题。 :)
我在自己的 Jsonlines 文件上使用 python 客户端进行 GPT 3 搜索模型。当我 运行 Google Colab Notebook 上的代码用于测试目的时,它工作正常并且 returns 搜索响应。但是,当我 运行 本地计算机 (Mac M1) 上的代码作为 Web 应用程序 (运行ning 在本地主机上) 使用 flask 实现 Web 服务功能时,它会出现以下错误:
openai.error.InvalidRequestError: File is still processing. Check back later.
即使我实现与 OpenAI 文档中给出的示例完全相同的示例,也会发生此错误。 link 到 search example is given here.
如果我使用 GPT3 playground 使用的完成 API,它 运行 在本地机器和 colab notebook 上完全没问题。 (code link here)
我的代码如下:
import openai
openai.api_key = API_KEY
file = openai.File.create(file=open(jsonFileName), purpose="search")
response = openai.Engine("davinci").search(
search_model = "davinci",
query = query,
max_rerank = 5,
file = file.id
)
for res in response.data:
print(res.text)
知道为什么会出现这种奇怪的行为吗?我该如何解决?谢谢。
问题出在这一行:
file = openai.File.create(file=open(jsonFileName), purpose="search")
它 returns 带有文件 ID 和状态的调用已上传,这使得上传和文件处理似乎已完成。然后我将该文件 ID 传递给搜索 API,但实际上它尚未完成处理,因此搜索 API 抛出错误 openai.error.InvalidRequestError: File is still processing. Check back later.
返回的文件对象如下所示(误导):
它在 google colab 中工作,因为 openai.File.create 调用和搜索调用在 2 个不同的单元格中,这使它有时间在我一个一个地执行单元格时完成处理。如果我在一个单元格中编写所有相同的代码,它会给我同样的错误。
因此,我不得不引入 4-7 秒的等待时间,具体取决于您的数据大小,time.sleep(5)
在 openai.File.create 调用之后调用 openai.Engine("davinci ").search 调用并解决了问题。 :)