0x07CB commited on
Commit
2978bdc
·
unverified ·
1 Parent(s): 25220e3

Amélioration de la fonction de transcription vocale Hugging Face avec support des fichiers IO et documentation

Browse files
Files changed (1) hide show
  1. core/speech_to_text.py +20 -14
core/speech_to_text.py CHANGED
@@ -16,30 +16,36 @@ from typing import Union
16
 
17
  from core.DetectLanguage import detect_language
18
 
19
- def huggingface_endpoints_stt(fichier_audio: str) -> str:
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
20
  # Définir l'URL de l'endpoint d'inférence sur Hugging Face
21
  API_URL = f"{getenv('HF_WHISPER_ENDPOINT')}"
22
-
23
  # Inclure votre token d'accès Hugging Face dans les en-têtes de la requête
24
  headers = {
25
  "Authorization": f"Bearer {getenv('HF_API_TOKEN')}"
26
  }
27
 
28
-
29
- """
30
- Envoie un fichier audio au modèle Whisper et renvoie la transcription textuelle.
31
-
32
- Arguments:
33
- fichier_audio (str): Chemin vers le fichier audio à envoyer pour la transcription.
34
-
35
- Retour:
36
- str: Texte transcrit à partir de l'audio.
37
- """
38
  # Ajouter le type de contenu audio à l'en-tête de la requête
39
- headers["Content-Type"] = f"audio/{fichier_audio.split('.')[-1]}"
40
 
41
  # Ouvrir le fichier audio en mode binaire
42
- with open(fichier_audio, "rb") as audio:
43
  # Envoyer une requête POST à l'API avec le fichier audio
44
  response = requests.post(API_URL, headers=headers, data=audio)
45
 
 
16
 
17
  from core.DetectLanguage import detect_language
18
 
19
+ def huggingface_endpoints_stt(
20
+ filepath: Union[str, IO]
21
+ ) -> str:
22
+ """
23
+ Transcrit un fichier audio en texte en utilisant l'API Hugging Face.
24
+
25
+ Args:
26
+ filepath (Union[str, IO]): Chemin vers le fichier audio ou objet IO contenant l'audio à transcrire.
27
+
28
+ Returns:
29
+ str: Le texte transcrit à partir de l'audio.
30
+
31
+ Raises:
32
+ Exception: Si une erreur survient lors de l'appel à l'API Hugging Face.
33
+ """
34
+
35
+ file_path = filepath if isinstance(filepath, str) else filepath.name
36
+
37
  # Définir l'URL de l'endpoint d'inférence sur Hugging Face
38
  API_URL = f"{getenv('HF_WHISPER_ENDPOINT')}"
 
39
  # Inclure votre token d'accès Hugging Face dans les en-têtes de la requête
40
  headers = {
41
  "Authorization": f"Bearer {getenv('HF_API_TOKEN')}"
42
  }
43
 
 
 
 
 
 
 
 
 
 
 
44
  # Ajouter le type de contenu audio à l'en-tête de la requête
45
+ headers["Content-Type"] = f"audio/{file_path.split('.')[-1]}"
46
 
47
  # Ouvrir le fichier audio en mode binaire
48
+ with open(file_path, "rb") as audio:
49
  # Envoyer une requête POST à l'API avec le fichier audio
50
  response = requests.post(API_URL, headers=headers, data=audio)
51