<@U084APK40NS> Je fais du RAG avec Llama, comment ...
# ask-ai
d
@millions-hair-24956 Je fais du RAG avec Llama, comment être sûr que le RAG se déclenche uniquement quand le speech de l'utilisateur est terminé, et non pas sur des transcriptions intermédiaires comme c'est le cas actuellement ?
g
Pour s'assurer que le RAG (Retrieval-Augmented Generation) se déclenche uniquement à la fin du discours de l'utilisateur et non sur des transcriptions intermédiaires, vous pouvez ajuster les paramètres de détection de fin de parole dans votre configuration de l'agent vocal. Selon la documentation de LiveKit, vous pouvez utiliser le paramètre
min_endpointing_delay
pour spécifier la durée minimale de silence à considérer comme la fin d'un tour de parole. Cela permet de mieux détecter la fin du discours avant de déclencher le RAG. De plus, vous pouvez désactiver la synthèse préemptive en réglant
preemptive_synthesis
sur
False
, ce qui empêche l'agent de commencer à générer une réponse avant que l'utilisateur ait fini de parler. Cela garantit que le RAG ne se déclenche qu'après la réception de la transcription finale. Souhaitez-vous plus de détails sur la configuration de ces paramètres ? Sources: - LiveKit Pipeline Agent Documentation 👍 0 button 👎 0 button 💡 Hint: Mention @runllm in the thread for followups.
d
@millions-hair-24956 preemptive_synthetisis est déjà sur false
🙌 1
g
Il semble que même avec
preemptive_synthesis
désactivé, vous rencontrez des déclenchements de RAG sur des transcriptions intermédiaires. Pour résoudre ce problème, vous pouvez vérifier que le paramètre
interim_results
de votre modèle STT est également désactivé. Selon les discussions sur Slack, cela peut réduire la fréquence des transcriptions intermédiaires envoyées au modèle LLM. Assurez-vous également que votre logique de traitement n'envoie des requêtes au RAG qu'après avoir reçu un événement de transcription finale (
final_transcript
). Cela peut être géré en écoutant les événements appropriés et en filtrant les transcriptions intermédiaires. Souhaitez-vous plus d'informations sur la gestion des événements de transcription ? Sources: - les discussions sur Slack 👍 0 button 👎 0 button 💡 Hint: Mention @runllm in the thread for followups.
d
dis moi explicitement comment enlever interim result et avoir final transcription
@millions-hair-24956 dis moi explicitement comment enlever interim result et avoir final transcription
g
Pour désactiver les résultats intermédiaires et obtenir uniquement les transcriptions finales, vous devez configurer votre instance de STT (Speech-to-Text) pour ne pas générer de résultats intermédiaires. Selon la documentation de LiveKit, vous pouvez définir le paramètre
interim_results
sur
False
lors de la configuration de votre instance STT. Voici un exemple de configuration en Python :
Copy code
stt = deepgram.STT(interim_results=False)
Cela garantit que seuls les événements de transcription finale (
FINAL_TRANSCRIPT
) sont émis. Assurez-vous également que votre logique d'application écoute uniquement ces événements pour déclencher le RAG. Souhaitez-vous plus de détails sur l'implémentation ? Sources: - la documentation de LiveKit 👍 0 button 👎 0 button 💡 Hint: Mention @runllm in the thread for followups.
d
@millions-hair-24956 il n'y a pas ce paramètre pour le STT Groq (Whisper)
g
Il semble que le paramètre
interim_results
ne soit pas disponible pour le modèle STT Groq (Whisper) selon la documentation de LiveKit. Pour gérer cela, vous pouvez vous assurer que votre logique d'application filtre les événements de transcription pour ne traiter que les événements de type
FINAL_TRANSCRIPT
. Voici un exemple de gestion des événements de transcription en Python :
Copy code
async def process_transcriptions(stt_stream):
    async for event in stt_stream:
        if event.type == SpeechEventType.FINAL_TRANSCRIPT:
            # Traitez la transcription finale ici
            print("Transcription finale:", event.alternatives[0].text)
Cela garantit que seules les transcriptions finales déclenchent le traitement RAG. Souhaitez-vous plus d'informations sur la gestion des événements de transcription ? Sources: - la documentation de LiveKit 👍 0 button 👎 0 button 💡 Hint: Mention @runllm in the thread for followups.