
RAG avec les LLM de raisonnement : OpenAI O1 vs OpenAI GPT4o
Découvrez comment les capacités avancées de raisonnement et l'apprentissage par renforcement d'OpenAI O1 surpassent GPT4o en précision RAG, avec des benchmarks ...
OpenAI Whisper est un système ASR open source qui convertit avec précision la parole en texte dans 99 langues, prenant en charge la transcription, la traduction et l’identification de la langue pour une automatisation IA robuste.
OpenAI Whisper peut être considéré à la fois comme un modèle et un système, selon le contexte.
La fonction principale de Whisper est de transcrire la parole en texte. Il excelle dans :
Au cœur de Whisper se trouve l’architecture Transformer, plus précisément un modèle encodeur-décodeur. Les Transformers sont des réseaux neuronaux qui excellent dans le traitement des données séquentielles et la compréhension du contexte sur de longues séquences. Introduits dans l’article “Attention is All You Need” en 2017, les Transformers sont devenus fondamentaux dans de nombreuses tâches de NLP.
Le processus de Whisper implique :
Whisper a été entraîné sur un vaste ensemble de 680 000 heures de données supervisées collectées sur le web. Cela inclut :
Avec la couverture de 99 langues, Whisper se distingue par sa capacité à gérer une grande diversité linguistique. Cette compétence multilingue le rend adapté aux applications mondiales et aux services visant un public international.
Entraîné sur de vastes données supervisées, Whisper atteint de hauts taux de précision en transcription. Sa robustesse face aux accents, dialectes et bruits de fond le rend fiable dans divers scénarios réels.
Au-delà de la transcription, Whisper sait également :
Distribué en logiciel open source, Whisper permet aux développeurs de :
En intégrant Whisper dans des chatbots et assistants IA, les développeurs peuvent permettre :
Whisper est implémenté en bibliothèque Python, permettant une intégration fluide dans les projets en Python. Utiliser Whisper en Python implique de configurer l’environnement, d’installer les dépendances nécessaires et d’utiliser les fonctions de la bibliothèque pour transcrire ou traduire des fichiers audio.
Avant d’utiliser Whisper, il faut préparer l’environnement de développement en installant Python, PyTorch, FFmpeg et la bibliothèque Whisper.
Si Python n’est pas installé, téléchargez-le depuis le site officiel. Pour installer PyTorch, utilisez pip :
pip install torch
Sinon, consultez le site PyTorch pour des instructions adaptées à votre OS et version de Python.
Whisper nécessite FFmpeg pour traiter les fichiers audio. Installez FFmpeg avec le gestionnaire de paquets approprié à votre système d’exploitation.
Ubuntu/Debian :
sudo apt update && sudo apt install ffmpeg
MacOS (avec Homebrew) :
brew install ffmpeg
Windows (avec Chocolatey) :
choco install ffmpeg
Installez le package Python Whisper avec pip :
pip install -U openai-whisper
Pour installer la version la plus récente directement depuis le dépôt GitHub :
pip install git+https://github.com/openai/whisper.git
Assurez-vous que le mode développeur est activé :
Whisper propose plusieurs modèles de tailles et capacités différentes. Les modèles vont de tiny
à large
, chacun équilibrant vitesse et précision différemment.
Taille | Paramètres | Modèle anglais uniquement | Modèle multilingue | VRAM requise | Vitesse relative |
---|---|---|---|---|---|
tiny | 39 M | tiny.en | tiny | ~1 Go | ~32x |
base | 74 M | base.en | base | ~1 Go | ~16x |
small | 244 M | small.en | small | ~2 Go | ~6x |
medium | 769 M | medium.en | medium | ~5 Go | ~2x |
large | 1550 M | N/A | large | ~10 Go | 1x |
.en
) : Optimisés pour la transcription anglaise, avec de meilleures performances sur l’audio anglais.Après avoir préparé l’environnement et installé les composants nécessaires, vous pouvez commencer à utiliser Whisper dans vos projets Python.
Commencez par importer la bibliothèque Whisper et charger un modèle :
import whisper
# Charger le modèle souhaité
model = whisper.load_model("base")
Remplacez "base"
par le nom du modèle adapté à votre application.
Whisper propose une fonction simple transcribe
pour convertir des fichiers audio en texte.
Exemple : Transcrire un fichier audio anglais
# Transcrire le fichier audio
result = model.transcribe("path/to/english_audio.mp3")
# Afficher la transcription
print(result["text"])
model.transcribe()
: Traite le fichier audio et retourne un dictionnaire contenant la transcription et d’autres métadonnées.result["text"]
: Accède au texte transcrit depuis le résultat.Whisper peut traduire l’audio de diverses langues vers l’anglais.
Exemple : Traduire un audio espagnol vers l’anglais
# Transcrire et traduire l’audio espagnol vers l’anglais
result = model.transcribe("path/to/spanish_audio.mp3", task="translate")
# Afficher le texte traduit
print(result["text"])
task="translate"
: Demande au modèle de traduire l’audio en anglais au lieu de le transcrire littéralement.Bien que Whisper puisse détecter automatiquement la langue, la spécifier peut améliorer la précision et la vitesse.
Exemple : Transcrire un audio français
# Transcrire l’audio français en spécifiant la langue
result = model.transcribe("path/to/french_audio.wav", language="fr")
# Afficher la transcription
print(result["text"])
Whisper peut identifier la langue parlée dans un fichier audio via la méthode detect_language
.
Exemple : Détection de la langue
# Charger et prétraiter l’audio
audio = whisper.load_audio("path/to/unknown_language_audio.mp3")
audio = whisper.pad_or_trim(audio)
# Convertir en spectrogramme log-Mel
mel = whisper.log_mel_spectrogram(audio).to(model.device)
# Détecter la langue
_, probs = model.detect_language(mel)
language = max(probs, key=probs.get)
print(f"Langue détectée : {language}")
whisper.load_audio()
: Charge le fichier audio.whisper.pad_or_trim()
: Ajuste la longueur audio pour correspondre aux besoins du modèle.whisper.log_mel_spectrogram()
: Convertit l’audio dans le format attendu par le modèle.model.detect_language()
: Retourne les probabilités pour chaque langue, permettant d’identifier la plus probable.Pour plus de contrôle sur la transcription, vous pouvez utiliser des fonctions bas niveau et personnaliser les options de décodage.
decode
La fonction decode
permet de spécifier des options comme la langue, la tâche et l’inclusion ou non des timestamps.
Exemple : Options de décodage personnalisées
# Définir les options de décodage
options = whisper.DecodingOptions(language="de", without_timestamps=True)
# Décoder l’audio
result = whisper.decode(model, mel, options)
# Afficher le texte reconnu
print(result.text)
Vous pouvez intégrer Whisper pour transcrire l’audio en direct depuis un microphone.
Exemple : Transcrire une entrée micro en direct
import whisper
import sounddevice as sd
# Charger le modèle
model = whisper.load_model("base")
# Enregistrer l’audio depuis le micro
duration = 5 # secondes
fs = 16000 # Taux d’échantillonnage
print("Enregistrement...")
audio = sd.rec(int(duration * fs), samplerate=fs, channels=1, dtype='float32')
sd.wait
OpenAI Whisper est un système avancé de reconnaissance automatique de la parole (ASR) développé par OpenAI, conçu pour transcrire la langue parlée en texte écrit à l'aide de l'apprentissage profond. Il prend en charge 99 langues et excelle dans la transcription, la traduction et l'identification de la langue.
Whisper utilise une architecture encodeur-décodeur basée sur les transformers, traite l'audio en spectrogrammes log-Mel, et produit du texte via un modèle de langage. Il a été entraîné sur 680 000 heures de données multilingues et multitâches pour une grande précision et robustesse.
Whisper prend en charge la reconnaissance vocale multilingue, la traduction du discours, l'identification automatique de la langue, la robustesse face aux accents et au bruit, et fournit un accès open source pour la personnalisation et l'intégration.
Les exigences matérielles dépendent de la taille du modèle : les plus petits modèles comme 'tiny' nécessitent ~1Go de VRAM, tandis que le plus grand nécessite ~10Go. Whisper fonctionne plus rapidement sur GPU mais peut fonctionner sur CPU avec des temps de traitement plus longs.
Oui, Whisper est implémenté en tant que bibliothèque Python et peut être installé via pip. Il permet une intégration facile dans les projets Python pour la transcription vocale, la traduction et les applications vocales en temps réel.
Les cas d'utilisation courants incluent la transcription automatisée de réunions, les chatbots à commande vocale, la traduction en direct, les outils d'accessibilité (sous-titres et aides techniques), l'automatisation des centres d'appels et les systèmes d'automatisation contrôlés par la voix.
Oui, il existe des alternatives comme des moteurs open source tels que Mozilla DeepSpeech, Kaldi, Wav2vec, et des API commerciales comme Google Cloud Speech-to-Text, Microsoft Azure AI Speech et AWS Transcribe.
Oui, OpenAI Whisper est open source, ce qui permet aux développeurs de le personnaliser, le peaufiner et l'intégrer dans leurs propres produits et services sans contraintes de licence.
Intégrez des capacités avancées de reconnaissance vocale dans vos applications, automatisez les workflows et améliorez l'expérience utilisateur avec OpenAI Whisper et FlowHunt.
Découvrez comment les capacités avancées de raisonnement et l'apprentissage par renforcement d'OpenAI O1 surpassent GPT4o en précision RAG, avec des benchmarks ...
FlowHunt prend en charge des dizaines de modèles de génération de texte, y compris ceux d’OpenAI. Voici comment utiliser ChatGPT dans vos outils IA et chatbots....
Découvrez le modèle Opus de Claude par Anthropic. Explorez ses points forts et ses faiblesses, et comparez-le aux autres modèles.