[SSL: CERTIFICATE_VERIFY_FAILED] проверка сертификата не удалась: самозаверяющий сертификат в цепочке сертификатов (_ssl.c) :1000)
Я уверен, что где-то есть фаервол, блокирующий самоподписанную сертификацию. На данный момент имеющиеся предложения не решили эту ошибку.
Приносим извинения за ограниченность информации. Моя цель — использовать инструменты OpenAI для генерации ответов на конкретные запросы. Основываясь на примерах из этого и других блогов,
я прихожу к той же ошибке, что отмечена выше. Я согласен со Штеффеном в том, что проблема заключается в доверии. Но я не уверен, как установить доверенные
самозаверяющие сертификаты. Приношу извинения тем, кто ответил.
Ниже я привожу пример, который генерирует эту ошибку. Я буду использовать буквы (например, A, B,,,) для обозначения проблемы, которую я тестирую на каждом этапе.
A. исходное сообщение об ошибке.
Код: Выделить всё
import os
import openai
from openai import OpenAI
client = OpenAI(
api_key=os.environ.get("OPENAI_API_KEY"), # This is the default and can be omitted
)
chat_completion = client.chat.completions.create(
messages=[
{
"role": "user",
"content": "Say this is a test",
}
],
model="gpt-3.5-turbo-instruct",
)
B . Следуйте другому блогу, чтобы проверить, доступен ли сертификат, с помощью запросов. Ответы «успех» следуют за каждым разделом кода.
запросы на импорт
из запросов.Exceptions import SSLError
url = "https://example.com/ "
Код: Выделить всё
try:
# Make a request with SSL verification enabled
response = requests.get(url)
print("Request succeeded. Response code:", response.status_code)
except SSLError as e:
print("SSL error:", e)
Код: Выделить всё
try:
# Make a request with SSL verification disabled
response = requests.get(url, verify=False)
print("Request succeeded (without SSL verification). Response code:", response.status_code)
except requests.exceptions.RequestException as e:
print("Request failed:", e)
C. С https://github.com/openai/openai-python в разделе «Обработка ошибок».
import openai
из openai import OpenAI
client = OpenAI( )
Код: Выделить всё
try:
client.fine_tuning.jobs.create(
model="gpt-3.5-turbo",
training_file="file-abc123",
)
except openai.APIConnectionError as e:
print("The server could not be reached")
print(e.__cause__) # an underlying Exception, likely raised within httpx.
except openai.RateLimitError as e:
print("A 429 status code was received; we should back off a bit.")
except openai.APIStatusError as e:
print("Another non-200-range status code was received")
print(e.status_code)
print(e.response)
[SSL: CERTIFICATE_VERIFY_FAILED] проверка сертификата не удалась: самоподписанный сертификат в цепочке сертификатов (_ssl.c:1000)
Д. Этот результат побудил меня изучить httpx.
Код: Выделить всё
import ssl
import httpx
context = ssl.create_default_context()
context.load_verify_locations(cafile="C:\\Users\\covelld\\AppData\\Local\\anaconda3\\Lib\\site-packages\\certifi\\cacert.pem")
httpx.get('https://example.org', verify=context)
Код: Выделить всё
response = client.get("https://localhost:8000")
E. Результат «целевая машина активно отказалась» — это то, где я сейчас нахожусь. Я бы добавил, что мой OPENAI_API_KEY прошел успешно:
Код: Выделить всё
client = OpenAI(
api_key=os.environ.get("OPENAI_API_KEY"), # This is the default and can be omitted
)
- Откройте диспетчер сертификатов Windows (запустите certmgr. msc из командной строки).
< li>На левой панели («Сертификаты — Текущий пользователь») выберите «Доверенные корневые центры сертификации» > «Сертификаты». - Щелкните правой кнопкой мыши «Сертификаты» и выберите «Все задачи» > «Импорт».
Я не уверен, было ли что-то достигнуто на этом этапе. И я еще не определил, нужно ли определять конкретную переменную среды (с помощью setx). Если да, то как называется переменная?
G. Ошибки «[SSL: CERTIFICATE_VERIFY_FAILED]» и «ConnectionRefusedError:», похоже, пока не устранены. В качестве финального теста я попробовал:
Код: Выделить всё
response = openai.Completion.create(model="gpt-3.5-turbo", prompt="Say this is a test", temperature=0, max_tokens=7)
Код: Выделить всё
response = openai.Completion.create(
model="davinci-002",
prompt="how do you say hello in italian"
)
Вы пытались получить доступ к openai.Completion, но это больше не поддерживается в openai>=1.0.0 — см. README по адресу https. ://github.com/openai/openai-python для API.
Вы можете запустить openaimigrate, чтобы автоматически обновить базу кода для использования интерфейса 1.0.0.
В качестве альтернативы вы можете прикрепите вашу установку к старой версии, например. pip install openai==0.28
Подробное руководство по миграции доступно здесь: https://github.com/openai/openai-python/discussions/742
Однако эти предложения не работают. Фактически, они указывают на https://github.com/openai/openai-python, с которого я начал в разделе «Обработка ошибок».
Я признаю, что это было это опыт обучения, и моя логика может быть ошибочной, в том смысле, что это похоже на то, как слепой пытается описать слона. Любая помощь будет принята с благодарностью. Как отмечалось изначально, причиной этого должен быть посредник.
Однако до сих пор ИТ-специалисты не предложили решения (подано почти 3 недели назад). Помощь эксперта будет очень признательна.
Подробнее здесь: https://stackoverflow.com/questions/791 ... te-with-en
Мобильная версия