Update app.py
Browse files
app.py
CHANGED
|
@@ -7,6 +7,7 @@ import base64
|
|
| 7 |
from groq import Groq
|
| 8 |
from elevenlabs.client import ElevenLabs
|
| 9 |
import tempfile
|
|
|
|
| 10 |
|
| 11 |
# Configuraci贸n inicial de Streamlit
|
| 12 |
st.set_page_config(page_title="Galatea Asistente - OMARDENT", layout="wide")
|
|
@@ -48,29 +49,19 @@ def obtener_respuesta_groq(pregunta, modelo="llama3-8b-8192", temperatura=0.5):
|
|
| 48 |
temperature=temperatura
|
| 49 |
).choices[0].message.content.strip()
|
| 50 |
|
| 51 |
-
#
|
| 52 |
-
|
| 53 |
-
# Tambi茅n puedes usar otras voces como: Elli (ID: MF3mGyEYCl7XYWbV9V6O) o Bella (ID: EXAVITQu4vr4xnSDxMaL)
|
| 54 |
-
audio_stream = eleven_client.text_to_speech.convert(
|
| 55 |
text=respuesta,
|
| 56 |
voice_id="piTKgcLEGmPE4e6mEKli", # Nicole - voz femenina multiling眉e
|
| 57 |
model_id="eleven_multilingual_v2",
|
| 58 |
output_format="mp3"
|
| 59 |
)
|
| 60 |
|
| 61 |
-
# Guardar audio en un archivo temporal
|
| 62 |
-
with tempfile.NamedTemporaryFile(suffix=".mp3", delete=False) as temp_audio:
|
| 63 |
-
temp_audio.write(audio_stream)
|
| 64 |
-
audio_file_path = temp_audio.name
|
| 65 |
-
|
| 66 |
# Convertir audio a base64
|
| 67 |
-
|
| 68 |
-
audio_base64 = base64.b64encode(audio_file.read()).decode()
|
| 69 |
-
|
| 70 |
-
# Eliminar el archivo temporal
|
| 71 |
-
os.unlink(audio_file_path)
|
| 72 |
|
| 73 |
return respuesta, audio_base64
|
|
|
|
| 74 |
except Exception as e:
|
| 75 |
return f"Error al procesar la solicitud: {e}", None
|
| 76 |
|
|
|
|
| 7 |
from groq import Groq
|
| 8 |
from elevenlabs.client import ElevenLabs
|
| 9 |
import tempfile
|
| 10 |
+
import io
|
| 11 |
|
| 12 |
# Configuraci贸n inicial de Streamlit
|
| 13 |
st.set_page_config(page_title="Galatea Asistente - OMARDENT", layout="wide")
|
|
|
|
| 49 |
temperature=temperatura
|
| 50 |
).choices[0].message.content.strip()
|
| 51 |
|
| 52 |
+
# Opci贸n 1: Usar el m茅todo no streaming que devuelve bytes directamente
|
| 53 |
+
audio_bytes = eleven_client.text_to_speech.convert(
|
|
|
|
|
|
|
| 54 |
text=respuesta,
|
| 55 |
voice_id="piTKgcLEGmPE4e6mEKli", # Nicole - voz femenina multiling眉e
|
| 56 |
model_id="eleven_multilingual_v2",
|
| 57 |
output_format="mp3"
|
| 58 |
)
|
| 59 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 60 |
# Convertir audio a base64
|
| 61 |
+
audio_base64 = base64.b64encode(audio_bytes).decode()
|
|
|
|
|
|
|
|
|
|
|
|
|
| 62 |
|
| 63 |
return respuesta, audio_base64
|
| 64 |
+
|
| 65 |
except Exception as e:
|
| 66 |
return f"Error al procesar la solicitud: {e}", None
|
| 67 |
|