
Переклад українською:
Audio API endpoint 9/10 з’єднання закрилося під час запису до потоку
https://ift.tt/0BTbN6G
Я використовую бібліотеку dotnet llmTornado для завантаження простого аудіо довжиною 1 хвилина, 1 МБ mp3, але вона падає 9/10 разів. Думав, що це проблема бібліотеки, тому написав простий httpclient для виконання завдання — та сама проблема. Думаючи, що це дивна особливість .NET, спробував простий запит Python
python:
import requests
url = “https://ift.tt/Dqy0kEd”
with open(FILE_PATH, “rb”) as f:
files = {
“file”: (FILE_PATH, f, “audio/wav”)
}
data = {
“model”: “whisper-1”
}
headers = {
“Authorization”: f”Bearer {API_KEY}”,
“Expect”: “” # відключити 100-continue
}
# Відключити keep-alive, щоб уникнути переривань посеред потоку
session = requests.Session()
session.headers.update(headers)
response = session.post(url, files=files, data=data, headers={“Connection”: “close”})
print(“Статус:”, response.status_code)
print(“Відповідь:”, response.text)
однак проблема триває: я пробував wav, mp3, зменшував тривалість файлу до 30 сек, до 10 сек. Це випадково. Один раз працює, інший раз ні.
помилка Python:
c:\Python\Python312>python whisper.py
urllib3.exceptions.SSLError: EOF occurred in violation of protocol (_ssl.c:2406)
Наведена вище помилка була прямою причиною наступної помилки:
Traceback (most recent call last):
File “c:\Python\Python312\Lib\site-packages\requests\adapters.py”, line 667, in send
resp = conn.urlopen(
^^^^^^^^^^^^^
File “c:\Python\Python312\Lib\site-packages\urllib3\connectionpool.py”, line 843, in urlopen
retries = retries.increment(
^^^^^^^^^^^^^^^^^^
File “c:\Python\Python312\Lib\site-packages\urllib3\util\retry.py”, line 519, in increment
raise MaxRetryError(_pool, url, reason) from reason # type: ignore[arg-type]
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
urllib3.exceptions.MaxRetryError: HTTPSConnectionPool(host=’api.openai.com’, port=443): Max retries exceeded with url: /v1/audio/transcriptions (Caused by SSLError(SSLEOFError(8, ‘EOF occurred in violation of protocol (_ssl.c:2406)’)))
Під час обробки попереднього виклику сталася інша помилка:
Traceback (most recent call last):
File “c:\Python\Python312\whisper.py”, line 22, in
response = session.post(url, files=files, data=data, headers={“Connection”: “close”})
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File “c:\Python\Python312\Lib\site-packages\requests\sessions.py”, line 637, in post
return self.request(“POST”, url, data=data, json=json, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File “c:\Python\Python312\Lib\site-packages\requests\sessions.py”, line 589, in request
resp = self.send(prep, **send_kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File “c:\Python\Python312\Lib\site-packages\requests\sessions.py”, line 703, in send
r = adapter.send(request, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File “c:\Python\Python312\Lib\site-packages\requests\adapters.py”, line 698, in send
raise SSLError(e, request=request)
requests.exceptions.SSLError: HTTPSConnectionPool(host=’api.openai.com’, port=443): Max retries exceeded with url: /v1/audio/transcriptions (Caused by SSLError(SSLEOFError(8, ‘EOF occurred in violation of protocol (_ssl.c:2406)’)))
і код .NET/C#:
public async Task
{
var handler = new SocketsHttpHandler
{
#if MODERN
RequestVersion = HttpVersion.Version11,
RequestVersionPolicy = HttpVersionPolicy.RequestVersionOrLower
#endif
AutomaticDecompression = DecompressionMethods.All,
Expect100ContinueTimeout = TimeSpan.FromSeconds(0)
};
var _httpClient = new HttpClient(handler, disposeHandler: true);
_httpClient.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue(“Bearer”, apiKey);
using var form = new MultipartFormDataContent();
// Buffer файлу повністю перед відправкою
var fileBytes = await File.ReadAllBytesAsync(filePath);
var fileContent = new ByteArrayContent(fileBytes);
fileContent.Headers.ContentType = new MediaTypeHeaderValue(“audio/mpeg”);
form.Add(fileContent, “file”, Path.GetFileName(filePath));
form.Add(new StringContent(model), “model”);
using var response = await _httpClient.PostAsync(“https://ift.tt/Dqy0kEd”, form);
response.EnsureSuccessStatusCode();
return await response.Content.ReadAsStringAsync();
}
і повідомлення про помилки без трасування
Під час надсилання запиту сталася помилка.
Не вдалося зчитати дані з транспортного з’єднання: існуюче з’єднання примусово закрито віддаленим хостом..
Існуюче з’єднання примусово закрито віддаленим хостом.
Тож я думаю, що це має бути мій комп’ютер/мережа. Але можу користуватися чатом/відповідями, завантажувати зображення, відео (до Gemini). Тільки AUDIO endpoint, і як я сказав — інколи працює, 1/5, інколи 1/10, а потім тримає 3 рази підряд.
Будь ласка, дайте ідеї, буду вдячний.
Cheers
HI-FI News
via OpenAI Developer Community – Latest posts https://ift.tt/NAHOTet
25 лютого 2026 року о 15:29
February 17, 2026 at 03:29PM

Залишити відповідь