You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

OpenAI API兼容问题:调用openai.Completion报错求助(GPT-4翻译场景)

问题:使用OpenAI API翻译CSV文本时出现APIRemovedInV1错误

想要用GPT-4将Excel文件中的土耳其语文本翻译成英文,但调用API时触发APIRemovedInV1错误,即使更新OpenAI包版本也无法解决。

错误原因

当前代码使用的是旧版openai.Completion.create接口,而OpenAI Python包1.0.0及以上版本已彻底移除该接口,改用全新的聊天模型请求格式。

解决方案

方案1:升级代码适配OpenAI v1.0+版本(推荐,支持GPT-4)

替换旧的补全接口为新的聊天完成接口,调整参数格式以适配新版本API:

import openai
import pandas as pd
import os
from tqdm import tqdm

# 初始化OpenAI客户端(v1.0+版本要求)
client = openai.OpenAI(api_key=os.getenv("API"))

def translate_text(text):
    response = client.chat.completions.create(
        model="gpt-4",  # 使用GPT-4模型
        messages=[
            {"role": "system", "content": "你是专业翻译人员,需将土耳其语准确翻译成地道英语。"},
            {"role": "user", "content": f"Translate the following Turkish text to English: '{text}'"}
        ],
        max_tokens=100  # 根据实际文本长度调整token上限
    )
    return response.choices[0].message.content.strip()

# 读取目标Excel文件
df = pd.read_excel('/content/3500-turkish-dataset-column-name.xlsx')
column_to_translate = 'review'

# 创建翻译结果列
df[f"{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, f"{column_to_translate}_en"] = translated_text

# 导出翻译后的CSV文件
df.to_csv('path/to/your/translated_csvfile.csv', index=False)

方案2:降级到OpenAI旧版本(不推荐,无法使用GPT-4新特性)

如果不想修改代码,可安装旧版OpenAI包,继续使用原有接口:

pip install openai==0.28

注意:此方案仅支持text-davinci-003等旧模型,无法调用GPT-4。

内容的提问来源于stack exchange,提问作者Kaan Tiftikci

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.06 07:43:25