Вопрос или проблема
Я пытаюсь использовать OpenAI API в Python для создания чат-завершения, но постоянно сталкиваюсь с ошибкой, связанной с API-ключом. Вот мой код:
import os
from openai import OpenAI
client = OpenAI(
# Это значение по умолчанию и его можно опустить
api_key=os.environ.get("OPENAI_API_KEY"),
)
chat_completion = client.chat.completions.create(
messages=[
{
"role": "user",
"content": "Скажи, что это тест",
}
],
model="gpt-3.5-turbo",
)
Сообщение об ошибке:
openai.OpenAIError: Опция client api_key должна быть установлена либо путем передачи api_key клиенту, либо установкой переменной окружения OPENAI_API_KEY
Ответ или решение
Ошибка API-ключа OpenAI в Python: "The api_key client option must be set"
Ваша проблема с использованием API OpenAI в Python возникает из-за неправильной конфигурации API-ключа. Давайте разберемся с ошибкой и возможными путями её решения.
Анализ проблемы
Согласно вашему коду, вы пытаетесь создать объект клиента OpenAI с использованием API-ключа, который должен быть установлен в качестве переменной окружения OPENAI_API_KEY
. Ошибка, которую вы получаете, говорит о том, что API-ключ не был правильно передан клиенту. В частности, система не может найти значение, возвращаемое функцией os.environ.get("OPENAI_API_KEY")
.
Возможные причины ошибки
-
Переменная окружения не установлена: Вероятно, переменная окружения
OPENAI_API_KEY
не была установлена в вашей системе. Это может произойти, если вы забыли её добавить или неправильно указали имя. -
Опечатка в коде: Если имя переменной окружения указано неверно, это также приведёт к ошибке.
-
Контекст выполнения: Если ваше приложение или скрипт запускаются в среде, где переменные окружения не доступны (например, в средах Jupyter Notebook или некоторых IDE), это также может быть причиной проблемы.
Решение проблемы
1. Убедитесь, что переменная окружения установленная
-
Для Windows:
- Откройте "Панель управления" > "Система" > "Дополнительные параметры системы".
- Нажмите "Переменные окружения".
- Добавьте новую переменную окружения с именем
OPENAI_API_KEY
и значением вашего API-ключа.
-
Для macOS/Linux:
- Откройте терминал.
- Добавьте строку в файл конфигурации вашего оболочки (например,
.bashrc
,.bash_profile
, или.zshrc
):export OPENAI_API_KEY='ваш_ключ_здесь'
- Примените изменения командой:
source ~/.bashrc
2. Проверка переменной окружения в коде
Вы можете добавить проверку, чтобы убедиться, что переменная окружения действительно настроена, перед созданием клиента:
import os
from openai import OpenAI
api_key = os.environ.get("OPENAI_API_KEY")
if api_key is None:
raise ValueError("API ключ не установлен. Убедитесь, что вы настроили переменную окружения OPENAI_API_KEY.")
client = OpenAI(api_key=api_key)
chat_completion = client.chat.completions.create(
messages=[
{
"role": "user",
"content": "Say this is a test",
}
],
model="gpt-3.5-turbo",
)
3. Посредством явной передачи ключа
Если вы хотите настроить API-ключ непосредственно в коде (не рекомендуется для боевых проектов), вы можете передать ключ напрямую:
client = OpenAI(api_key='ваш_ключ_здесь')
Заключение
Проблема с API-ключом OpenAI в Python может быть легко решена, следуя приведённым рекомендациям. Убедитесь, что переменная окружения правильно настроена, и ваш код способен её распознать. Оптимальное решение — использовать переменные окружения для обеспечения безопасности вашего API-ключа. Надеемся, что эти рекомендации помогут вам эффективно работать с API OpenAI.