Почему превышено максимальное количество повторов, из-за чего в моем коде возникла ошибка URL-адреса?Python

Программы на Python
Anonymous
Почему превышено максимальное количество повторов, из-за чего в моем коде возникла ошибка URL-адреса?

Сообщение Anonymous »

Я пытаюсь расшифровать mp3-файл.

Код: Выделить всё

import streamlit as st
import zipfile
import os
import requests

LYZR_API_URL = "https://api.lyzr.ai/transcribe"

# Function to extract MP3 files from a zip file
def extract_mp3_from_zip(zip_file):
extracted_files = []
with zipfile.ZipFile(zip_file, 'r') as zip_ref:
file_list = zip_ref.namelist()
# Filter only MP3 files
mp3_files = [file for file in file_list if file.endswith('.mp3')]
# Extract MP3 files
for mp3_file in mp3_files:
zip_ref.extract(mp3_file)
extracted_files.append(mp3_file)
return extracted_files

# Function to transcribe audio file using Lyzr AI API
def transcribe_audio(audio_file, api_key):
headers = {"Authorization": f"Bearer {api_key}"}
files = {"file": audio_file}
try:
response = requests.post(LYZR_API_URL, headers=headers, files=files)
if response.status_code == 200:
return response.json().get("transcription")
else:
st.error(f"Transcription failed with status code: {response.status_code}")
return None
except requests.exceptions.RequestException as e:
st.error(f"Connection error: {e}")
return None

# Streamlit UI
def main():
st.title("Audio Transcription App")
st.write("Please upload a zip file containing MP3 files.")

# File uploader widget
zip_file = st.file_uploader("Upload Zip File", type=['zip'])

if zip_file is not None:
# Extract MP3 files from the uploaded zip file
extracted_files = extract_mp3_from_zip(zip_file)

# API key (replace with your actual API key)
api_key = "openai_api_key"

if extracted_files:
st.write("MP3 files extracted successfully:")
for file in extracted_files:
st.write(file)

# Transcribe each MP3 file
st.write("Transcriptions:")
for mp3_file in extracted_files:
audio_content = open(mp3_file, "rb")
transcription = transcribe_audio(audio_content, api_key)
if transcription:
st.write(f"{mp3_file}: {transcription}")
else:
st.write(f"{mp3_file}: Transcription failed")

if __name__ == "__main__":
main()
Мне нужно получить расшифровку аудиофайла.
Когда я предоставляю аудиофайлы в качестве входных данных, я получаю следующую ошибку.
Ошибка подключения: HTTPSConnectionPool(host='api.lyzr.ai', port=443): превышено максимальное количество повторов с URL-адресом: /transcribe (вызвано NameResolutionError(": не удалось выполнить попытку) разрешить 'api.lyzr.ai' ([Errno 11001] getaddrinfo не удалось))))
Как решить эту проблему?

Подробнее здесь: https://stackoverflow.com/questions/782 ... th-my-code

Вернуться в «Python»