Spaces:
				
			
			
	
			
			
		Paused
		
	
	
	
			
			
	
	
	
	
		
		
		Paused
		
	Update app.py
Browse files
    	
        app.py
    CHANGED
    
    | @@ -3,6 +3,7 @@ from openai import OpenAI | |
| 3 | 
             
            from os import getenv
         | 
| 4 | 
             
            from audiorecorder import audiorecorder
         | 
| 5 | 
             
            import tempfile
         | 
|  | |
| 6 |  | 
| 7 | 
             
            # fonction pour lire et retourner le contenu de fichiers textes
         | 
| 8 | 
             
            def lire_fichier(nom_fichier):
         | 
| @@ -33,7 +34,24 @@ def transcribe_audio(audio_file): | |
| 33 |  | 
| 34 | 
             
                return transcript.text
         | 
| 35 |  | 
| 36 | 
            -
            def  | 
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
| 37 | 
             
                st.session_state.messages.append({"role": "user", "content": message})
         | 
| 38 | 
             
                with st.chat_message("user"):
         | 
| 39 | 
             
                    st.markdown(message)
         | 
| @@ -53,6 +71,10 @@ def process_message(message): | |
| 53 |  | 
| 54 | 
             
                st.session_state.messages.append({"role": "assistant", "content": full_response})
         | 
| 55 |  | 
|  | |
|  | |
|  | |
|  | |
| 56 | 
             
            def main():
         | 
| 57 | 
             
                st.title("Application de Chat avec GPT-4")
         | 
| 58 |  | 
| @@ -81,7 +103,7 @@ def main(): | |
| 81 | 
             
                    st.audio(audio.export().read())
         | 
| 82 | 
             
                    transcription = transcribe_audio(audio)
         | 
| 83 | 
             
                    st.write(f"Transcription : {transcription}")
         | 
| 84 | 
            -
                    process_message(transcription)
         | 
| 85 |  | 
| 86 | 
             
                st.sidebar.markdown("## À propos")
         | 
| 87 | 
             
                st.sidebar.info("Cette application utilise Streamlit et OpenAI GPT-4 pour créer un chat interactif avec un modèle de langage avancé.")
         | 
|  | |
| 3 | 
             
            from os import getenv
         | 
| 4 | 
             
            from audiorecorder import audiorecorder
         | 
| 5 | 
             
            import tempfile
         | 
| 6 | 
            +
            import base64
         | 
| 7 |  | 
| 8 | 
             
            # fonction pour lire et retourner le contenu de fichiers textes
         | 
| 9 | 
             
            def lire_fichier(nom_fichier):
         | 
|  | |
| 34 |  | 
| 35 | 
             
                return transcript.text
         | 
| 36 |  | 
| 37 | 
            +
            def text_to_speech(text):
         | 
| 38 | 
            +
                response = client.audio.speech.create(
         | 
| 39 | 
            +
                    model="tts-1",
         | 
| 40 | 
            +
                    voice="alloy",
         | 
| 41 | 
            +
                    input=text
         | 
| 42 | 
            +
                )
         | 
| 43 | 
            +
                
         | 
| 44 | 
            +
                # Sauvegarder l'audio dans un fichier temporaire
         | 
| 45 | 
            +
                with tempfile.NamedTemporaryFile(delete=False, suffix=".mp3") as temp_audio:
         | 
| 46 | 
            +
                    response.stream_to_file(temp_audio.name)
         | 
| 47 | 
            +
                    
         | 
| 48 | 
            +
                    # Lire le contenu du fichier audio
         | 
| 49 | 
            +
                    with open(temp_audio.name, "rb") as audio_file:
         | 
| 50 | 
            +
                        audio_bytes = audio_file.read()
         | 
| 51 | 
            +
                
         | 
| 52 | 
            +
                return audio_bytes
         | 
| 53 | 
            +
             | 
| 54 | 
            +
            def process_message(message, is_audio_input=False):
         | 
| 55 | 
             
                st.session_state.messages.append({"role": "user", "content": message})
         | 
| 56 | 
             
                with st.chat_message("user"):
         | 
| 57 | 
             
                    st.markdown(message)
         | 
|  | |
| 71 |  | 
| 72 | 
             
                st.session_state.messages.append({"role": "assistant", "content": full_response})
         | 
| 73 |  | 
| 74 | 
            +
                if is_audio_input:
         | 
| 75 | 
            +
                    tts_audio = text_to_speech(full_response)
         | 
| 76 | 
            +
                    st.audio(tts_audio, format="audio/mp3")
         | 
| 77 | 
            +
             | 
| 78 | 
             
            def main():
         | 
| 79 | 
             
                st.title("Application de Chat avec GPT-4")
         | 
| 80 |  | 
|  | |
| 103 | 
             
                    st.audio(audio.export().read())
         | 
| 104 | 
             
                    transcription = transcribe_audio(audio)
         | 
| 105 | 
             
                    st.write(f"Transcription : {transcription}")
         | 
| 106 | 
            +
                    process_message(transcription, is_audio_input=True)
         | 
| 107 |  | 
| 108 | 
             
                st.sidebar.markdown("## À propos")
         | 
| 109 | 
             
                st.sidebar.info("Cette application utilise Streamlit et OpenAI GPT-4 pour créer un chat interactif avec un modèle de langage avancé.")
         |