Josedcape commited on
Commit
ce5abe5
verified
1 Parent(s): 942c065

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +5 -14
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
- # Crear archivo de audio con ElevenLabs
52
- # Utilizando una voz femenina multiling眉e - Nicole (ID: piTKgcLEGmPE4e6mEKli)
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
- with open(audio_file_path, "rb") as audio_file:
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