Maison développement back-end Tutoriel Python Créer un agent commercial IA : de la voix au pitch.

Créer un agent commercial IA : de la voix au pitch.

Jan 18, 2025 pm 06:13 PM

Building an AI Sales Agent: From Voice to Pitch.

Aperçu du projet

Dans le défi EnCode 2025, mon objectif est de créer un agent commercial IA capable d'une interaction vocale de haute qualité, naturelle et fluide, et de m'efforcer d'atteindre une latence ultra-faible, comme une expérience comme parler à une personne réelle. En fin de compte, j'ai construit un système capable de gérer une conversation commerciale complète pour un centre de coaching en ligne, depuis l'accueil d'un client potentiel jusqu'à la compréhension de ses besoins et la recommandation de cours pertinents, le tout d'une voix positive, amicale et humaine. Imaginez une vendeuse infatigable et toujours à son meilleur !

Pile technologique

  • Traitement vocal : Whisper Large V3 Turbo (garantit une reconnaissance vocale claire)
  • Logique de base : LLaMA 3.3 70B (réalisation d'un dialogue intelligent)
  • Sortie vocale : F5 TTS (génère des réponses vocales naturelles et fluides)
  • Base de données : Base de données vectorielles Pinecone (pour la gestion du contexte et la récupération d'informations)
  • Plateforme de démonstration : Google Colab

Comment fonctionne le système

Le système suit trois étapes principales :

  1. Parole vers texte (STT)
  2. Modèle linguistique à grande échelle (LLM)
  3. Texte en parole (TTS)

Organigramme : Utilisateur -> STT -> LLM -> Utilisateur

Processus détaillé :

  1. Le client parle -> Whisper transcrit le texte.
  2. Le gestionnaire de phases (utilisant des expressions régulières) suit les phases de conversation.
  3. Pinecone extrait les données pertinentes de la base de données.
  4. LLaMA 3.3 70B Créez la réponse parfaite.
  5. F5 TTS convertit le texte en parole naturelle.

Fonctions principales

  • Sélection intelligente des voix : Fournit 6 voix IA différentes (2 masculines et 4 féminines)
  • Réponse contextuelle : Basée sur la technologie de recherche de similarité vectorielle
  • Flux de dialogue structuré : Contrôlé par un régisseur dédié

Limites actuelles

  • Environnement de démonstration : Fonctionnement basé sur Google Colab.
  • Limite de mémoire : Limite de fenêtre contextuelle de 8 000 jetons.
  • Consommation des ressources informatiques : L'utilisation des ressources est importante.
  • Dépendances API : La fonctionnalité de base dépend de plusieurs API.
  • Latence élevée : Il y a un certain problème de latence.

Résumé de l'expérience

Aspects techniques :

  • Application de la base de données vectorielles : L'utilisation de la base de données vectorielles Pinecone m'a permis de réaliser comment la base de données vectorielles peut changer les règles du jeu lorsque la fenêtre contextuelle est limitée. La fonction de recherche de similarité au niveau de la milliseconde peut traiter efficacement l'historique des conversations et les données de formation, et est très puissante.
  • Importance de la gestion de la scène : En clarifiant l'étape de la conversation, vous pouvez facilement incorporer des exemples pertinents à cette étape, tels que la façon de présenter, les questions à poser, etc.
  • Intégration Web : L'utilisation de fastapi pour une interaction efficace des données front-end et back-end est cruciale. Grâce aux webhooks, nous pouvons échanger des données tout au long de la conversation et rester connectés tout en lançant un seul appel IA.

Conception du système :

  • Importance du découpage :Diviser l'audio en segments de 5 secondes pour le traitement au lieu d'attendre des phrases complètes améliore considérablement l'expérience utilisateur et réduit le temps de traitement. Cela nécessite de trouver le meilleur équilibre entre précision et vitesse.
  • Avantages de l'architecture modulaire : La décomposition du système en services indépendants (STT, LLM, TTS) simplifie grandement le processus de développement et de débogage. Lorsqu'un problème survient, vous pouvez localiser rapidement la pièce à réparer.

Limites réelles :

  • Coût API : La gestion de plusieurs appels API (Whisper, LAMA) m'a appris l'importance d'optimiser l'utilisation de l'API. Minimiser le nombre d’appels API tout en maintenant la vitesse est un défi de taille.
  • Réduire la latence : Réduire la latence est très difficile lorsque les données sont constamment récupérées et traitées sur Internet. À l’avenir, j’essaierai de minimiser le nombre de fois où je transférerai ou téléchargerai des données depuis Internet.

Défis inattendus :

  • Ingénierie de mots rapides : L'ingénierie de mots rapides est cruciale, elle détermine si le modèle peut s'exprimer de manière cohérente comme un humain, ou s'il répétera les mêmes phrases.
  • Limitation de la fenêtre de contexte : La limite de 8 000 jetons m'oblige à gérer le contexte intelligemment. Au lieu de stocker toutes les informations, obtenir les éléments pertinents d'une base de données vectorielles m'a permis de concevoir une structure pour le LLM contenant toutes les informations nécessaires.

Projets futurs

  • Utilisez la technologie multithread pour réduire la latence.
  • Ajout du support multilingue.
  • Ajoutez d'autres types de robots, tels que les « robots principaux » pour contacter les clients après un premier prospect afin de conclure une transaction.

Projet d'expérience

https://www.php.cn/link/55e2c9d06a7261846e96b8bb2d4e1fe5

GitHub ---

Bienvenue pour proposer vos précieuses suggestions dans la zone de commentaires !

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Article chaud

Musée de deux points: Guide de localisation de Bungle Wasteland
4 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Combien de temps faut-il pour battre Split Fiction?
3 Il y a quelques semaines By DDD
Repo: Comment relancer ses coéquipiers
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Adventure: Comment obtenir des graines géantes
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌

Article chaud

Musée de deux points: Guide de localisation de Bungle Wasteland
4 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Combien de temps faut-il pour battre Split Fiction?
3 Il y a quelques semaines By DDD
Repo: Comment relancer ses coéquipiers
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Adventure: Comment obtenir des graines géantes
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌

Tags d'article chaud

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Comment utiliser la belle soupe pour analyser HTML? Comment utiliser la belle soupe pour analyser HTML? Mar 10, 2025 pm 06:54 PM

Comment utiliser la belle soupe pour analyser HTML?

Filtrage d'image en python Filtrage d'image en python Mar 03, 2025 am 09:44 AM

Filtrage d'image en python

Comment télécharger des fichiers dans Python Comment télécharger des fichiers dans Python Mar 01, 2025 am 10:03 AM

Comment télécharger des fichiers dans Python

Comment utiliser Python pour trouver la distribution ZIPF d'un fichier texte Comment utiliser Python pour trouver la distribution ZIPF d'un fichier texte Mar 05, 2025 am 09:58 AM

Comment utiliser Python pour trouver la distribution ZIPF d'un fichier texte

Intro au ballon: ajout d'une page de contact Intro au ballon: ajout d'une page de contact Feb 28, 2025 am 10:03 AM

Intro au ballon: ajout d'une page de contact

Comment travailler avec des documents PDF à l'aide de Python Comment travailler avec des documents PDF à l'aide de Python Mar 02, 2025 am 09:54 AM

Comment travailler avec des documents PDF à l'aide de Python

Comment se cacher en utilisant Redis dans les applications Django Comment se cacher en utilisant Redis dans les applications Django Mar 02, 2025 am 10:10 AM

Comment se cacher en utilisant Redis dans les applications Django

Comment effectuer l'apprentissage en profondeur avec TensorFlow ou Pytorch? Comment effectuer l'apprentissage en profondeur avec TensorFlow ou Pytorch? Mar 10, 2025 pm 06:52 PM

Comment effectuer l'apprentissage en profondeur avec TensorFlow ou Pytorch?

See all articles