Проблемы с Gradio, при работе с RVC-TTS
После нескольких часов проб и ошибок я смог установить RVC-TTS, но возникла проблема с его же API.
Установил Gradio на нужную версию Python, с нужной версией библиотеки, но при запуске программы отображается это:
C:\RVC-TTS\rvc-tts-webui>py -3.10 testing42.py
Loaded as API: http://127.0.0.1:7860/ ✔
Traceback (most recent call last):
File "C:\Users\Home\AppData\Local\Programs\Python\Python310\lib\site-packages\gradio_client\compatibility.py", line 105, in _predict
output = result["data"]
KeyError: 'data'
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "C:\RVC-TTS\rvc-tts-webui\testing42.py", line 4, in <module>
result = client.predict(
File "C:\Users\Home\AppData\Local\Programs\Python\Python310\lib\site-packages\gradio_client\client.py", line 459, in predict
).result()
File "C:\Users\Home\AppData\Local\Programs\Python\Python310\lib\site-packages\gradio_client\client.py", line 1374, in result
return super().result(timeout=timeout)
File "C:\Users\Home\AppData\Local\Programs\Python\Python310\lib\concurrent\futures\_base.py", line 445, in result
return self.__get_result()
File "C:\Users\Home\AppData\Local\Programs\Python\Python310\lib\concurrent\futures\_base.py", line 390, in __get_result
raise self._exception
File "C:\Users\Home\AppData\Local\Programs\Python\Python310\lib\concurrent\futures\thread.py", line 52, in run
result = self.fn(*self.args, **self.kwargs)
File "C:\Users\Home\AppData\Local\Programs\Python\Python310\lib\site-packages\gradio_client\compatibility.py", line 65, in _inner
predictions = _predict(*data)
File "C:\Users\Home\AppData\Local\Programs\Python\Python310\lib\site-packages\gradio_client\compatibility.py", line 119, in _predict
raise KeyError(
KeyError: 'Could not find \'data\' key in response. Response received: {\'detail\': [{\'type\': \'model_attributes_type\', \'loc\': [\'body\'], \'msg\': \'Input should be a valid dictionary or object to extract fields from\', \'input\': \'{"data": ["KirlaKhit", -100, "\\\\u042d\\\\u0442\\\\u043e\\\\u0442 \\\\u0430\\\\u0443\\\\u0434\\\\u0438\\\\u043e\\\\u0444\\\\u0430\\\\u0439\\\\u043b \\\\u044f\\\\u0432\\\\u043b\\\\u044f\\\\u0435\\\\u0442\\\\u0441\\\\u044f \\\\u0442\\\\u0435\\\\u0441\\\\u0442\\\\u0438\\\\u0440\\\\u043e\\\\u0432\\\\u0430\\\\u043d\\\\u0438\\\\u0435\\\\u043c \\\\u043d\\\\u0435\\\\u0439\\\\u0440\\\\u043e\\\\u0441\\\\u0435\\\\u0442\\\\u0438 \\\\u043d\\\\u0430 \\\\u044f\\\\u0437\\\\u044b\\\\u043a\\\\u0435 \\\\u043f\\\\u0440\\\\u043e\\\\u0433\\\\u0440\\\\u0430\\\\u043c\\\\u043c\\\\u0438\\\\u0440\\\\u043e\\\\u0432\\\\u0430\\\\u043d\\\\u0438\\\\u044f Python. \\\\u0422\\\\u043e, \\\\u0447\\\\u0442\\\\u043e \\\\u0432\\\\u044b \\\\u0441\\\\u0435\\\\u0439\\\\u0447\\\\u0430\\\\u0441 \\\\u0441\\\\u043b\\\\u044b\\\\u0448\\\\u0438\\\\u0442\\\\u0435, \\\\u0433\\\\u043e\\\\u0432\\\\u043e\\\\u0440\\\\u0438\\\\u0442\\\\u0441\\\\u044f \\\\u043d\\\\u0435 \\\\u0447\\\\u0435\\\\u043b\\\\u043e\\\\u0432\\\\u0435\\\\u043a\\\\u043e\\\\u043c.", "ru-RU-DmitryNeural-Male", 5, "pm", 0, 0], "fn_index": 0, "session_hash": "d3367536-2c9b-4568-8e46-b0361a848c9b"}\', \'url\': \'https://errors.pydantic.dev/2.7/v/model_attributes_type\'}]}'
Может, это из-за того, что нейросеть не работает корректно на моих костылях (я установил отдельно другую версию Python, которая годится для работы нейросети)?
По идее, после запуска программы должен появиться JSON с ссылкой в системе на сгенерированный аудио-файл, но произошло то, что я описал выше. Ощущение, что Gradio, опять же, из-за вышеописанных костылей, тупо не может работать с JSON.
Как это исправить?
Дополнение 1
Кстати, при запуске через просто Python, без указывания конкретной версии, получается уже другая ошибка.
C:\RVC-TTS\rvc-tts-webui>python testing42.py
Loaded as API: http://127.0.0.1:7860/ ✔
Traceback (most recent call last):
File "C:\RVC-TTS\rvc-tts-webui\testing42.py", line 4, in <module>
result = client.predict(
^^^^^^^^^^^^^^^
File "C:\Users\Home\AppData\Roaming\Python\Python311\site-packages\gradio_client\client.py", line 459, in predict
).result()
^^^^^^^^
File "C:\Users\Home\AppData\Roaming\Python\Python311\site-packages\gradio_client\client.py", line 1374, in result
return super().result(timeout=timeout)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Program Files\Python311\Lib\concurrent\futures\_base.py", line 449, in result
return self.__get_result()
^^^^^^^^^^^^^^^^^^^
File "C:\Program Files\Python311\Lib\concurrent\futures\_base.py", line 401, in __get_result
raise self._exception
File "C:\Program Files\Python311\Lib\concurrent\futures\thread.py", line 58, in run
result = self.fn(*self.args, **self.kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\Home\AppData\Roaming\Python\Python311\site-packages\gradio_client\compatibility.py", line 64, in _inner
data = self.serialize(*data)
^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\Home\AppData\Roaming\Python\Python311\site-packages\gradio_client\compatibility.py", line 228, in serialize
raise ValueError(
ValueError: Expected 8 arguments, got 7