I want to translate the texts in a csv file into English using the GPT 4 model, but I constantly get the following error. Even though I updated the version, I continue to get the same error.
import openai
import pandas as pd
import os
from tqdm import tqdm
openai.api_key = os.getenv("API")
def translate_text(text):
response = openai.Completion.create(
model="text-davinci-003", # GPT-4 modeli
prompt=f"Translate the following Turkish text to English: '{text}'",
max_tokens=60
)
# Yeni API yapısına göre yanıtın alınması
return response.choices[0].text.strip()
df = pd.read_excel('/content/3500-turkish-dataset-column-name.xlsx')
column_to_translate = 'review'
df[column_to_translate + '_en'] = ''
for index, row in tqdm(df.iterrows(), total=df.shape[0]):
translated_text = translate_text(row[column_to_translate])
df.at[index, column_to_translate + '_en'] = translated_text
df.to_csv('path/to/your/translated_csvfile.csv', index=False)
0%| | 0/3500 [00:00<?, ?it/s]
---------------------------------------------------------------------------
APIRemovedInV1 Traceback (most recent call last)
<ipython-input-27-337b5b6f4d32> in <cell line: 29>()
28 # Her satırdaki metni çevir ve yeni sütuna kaydet
29 for index, row in tqdm(df.iterrows(), total=df.shape[0]):
---> 30 translated_text = translate_text(row[column_to_translate])
31 df.at[index, column_to_translate + '_en'] = translated_text
32
3 frames
/usr/local/lib/python3.10/dist-packages/openai/lib/_old_api.py in __load__(self)
APIRemovedInV1:
You tried to access openai.Completion, but this is no longer supported in openai>=1.0.0 - see the README at https://github.com/openai/openai-python for the API.
You can run `openai migrate` to automatically upgrade your codebase to use the 1.0.0 interface.
Alternatively, you can pin your installation to the old version, e.g. `pip install openai==0.28`
A detailed migration guide is available here: https://github.com/openai/openai-python/discussions/742
Even though I updated the OpenAI package version, I get the same error.
Problem
The method name you're trying to use doesn't work with the OpenAI Python SDK version
1.0.0or newer.The old SDK (i.e., version
0.28) works with the following method name:The new SDK (i.e., version
1.0.0or newer) works with the following method name:Note: Be careful because the API is case-sensitive (i.e.,
client.Completions.createwill not work with the new SDK version).Solution
Try this: