Maison > Périphériques technologiques > IA > Obtenez des nouvelles rapides avec Newsvoiceai

Obtenez des nouvelles rapides avec Newsvoiceai

Joseph Gordon-Levitt
Libérer: 2025-03-16 09:56:10
original
466 Les gens l'ont consulté

Dans le monde au rythme rapide d'aujourd'hui, rester informé est crucial, mais trouver le temps de lire de longs articles de presse peut être difficile. De plus, la consommation de nouvelles dans sa langue maternelle améliore la compréhension et l'engagement. Entrez Newsvoiceai, une application innovante conçue pour révolutionner la façon dont nous accéderons aux nouvelles. En exploitant le pouvoir de l'intelligence artificielle, Newsvoiceai transforme les articles de presse anglais en direct en résumés audio punjabi concis, ce qui facilite le fait de rester à jour lors de vos déplacements.

Dans cet article complet, nous nous plongerons dans le fonctionnement de Newsvoiceai, explorer les technologies de pointe derrière elle, fournir un guide étape par étape sur la façon de créer une application similaire et intégrer le code réel qui donne vie à cette application.

Résultats d'apprentissage

  • Découvrez comment Newsvoiceai exploite l'IA pour transformer les articles de presse en direct en résumés audio concise et autochtones.
  • Comprenez les technologies derrière Newsvoiceai, notamment l'API Guardian, les modèles OpenAI et la conversion de texte vocale.
  • Gardez une connaissance pratique de l'intégration des API et de l'utilisation de rationalisation pour créer des applications interactives.
  • Découvrez comment résumer et traduire des articles de presse anglais en punjabi à l'aide de modèles axés sur l'IA.
  • Explorez le processus de création d'un résumé de nouvelles multilingues avec des nouvelles en temps réel et une sortie audio.

Cet article a été publié dans le cadre du Blogathon de la science des données.

Table des matières

  • Qu'est-ce que Newsvoice?
  • Comment fonctionne Newsvoice?
  • Comment obtenir les API?
  • Technologies derrière Newsvoice
  • Conclusion
  • Questions fréquemment posées

Qu'est-ce que Newsvoice?

Imaginez rattraper les dernières nouvelles de votre trajet du matin sans avoir à lire de longs articles ou à lutter contre les barrières linguistiques. Newsvoice est né du désir de rendre les nouvelles plus accessibles, en particulier pour les publics de langue punjabi qui préfèrent consommer du contenu dans leur langue maternelle. L'application comble plusieurs lacunes:

  • Contraintes de temps : fournit des résumés concises, ce qui fait gagner du temps aux utilisateurs.
  • Accessibilité linguistique : traduit le contenu en punjabi pour les locuteurs natifs.
  • Facilité de consommation : convertit le texte en parole, permettant une écoute mains libres.

Que vous soyez un professionnel occupé, un navetteur ou une personne ayant des déficiences visuelles, Newsvoiceai offre un moyen transparent de rester informé.

Caractéristiques clés de Newsvoice

  • Live News Fetching : tire les derniers articles de presse de sources réputées comme The Guardian utilisant leur API.
  • Résumé propulsé par l'IA : utilise des modèles AI avancés de l'OpenAI pour condenser de longs articles en brefs résumés.
  • Traduction punjabi : assure l'accessibilité régionale en traduisant avec précision les résumés en punjabi.
  • Conversion de texte vocale : génère un audio punjabi clair et naturel à l'aide de technologies TTS de pointe.
  • Interface conviviale : construite avec Streamlit, offrant une expérience utilisateur interactive et intuitive.

Comment fonctionne Newsvoice?

Explorons le flux de travail étape par étape de NewsVoice, intégrant des extraits de code pour illustrer chaque pièce.

Étape 1: Recherchez les articles de presse

En utilisant l'API Guardian, Newsvoiceai récupère les meilleurs articles de presse en direct en fonction de critères prédéfinis ou de préférences utilisateur.

Mise en œuvre

 # Fonction pour récupérer les articles de l'information de l'API Guardian
def fetch_news (api_key):
    De The Guardian Import theguardian_content
    contenu = theguardian_content.content (api = api_key)
    json_content = content.get_content_response ()
    essayer:
        return content.get_results (json_content)
    sauf Keyerror comme e:
        St.Error (f "Erreur récupérant les articles: {e}")
        retour []
Copier après la connexion

Explication:

  • Nous utilisons la bibliothèque TheGuardian pour interagir avec l'API Guardian.
  • La fonction fetch_news récupère les articles et gère toutes les erreurs potentielles.

Étape2: Reprochez le contenu de l'article

Pour chaque article, nous récupérons le contenu complet pour le préparer à un résumé.

Mise en œuvre

 # Fonction pour récupérer le contenu de l'article
def fetch_article_content (article_url, api_key):
    Response = reques.get (article_url, params = {"api-key": api_key, "show-blocks": "all"})
    Si réponse.status_code == 200:
        Article_data = réponse.json ()
        body = article_data.get ("réponse", {}). get ("contenu", {}). get ("blocks", {}). get ("body", [])
        Si le corps:
            return "" .join (block.get ("bodytextsummary", "") pour le bloc dans le corps)
    Renvoie aucun
Copier après la connexion

Explication:

  • La fonction envoie une demande GET à l'URL de l'API de l'article avec des paramètres pour récupérer le contenu complet.
  • Il analyse la réponse JSON pour extraire le texte de l'article.

Étape 3: résume et traduire le contenu à l'aide de l'API OpenAI

Nous utilisons les modèles GPT d'OpenAI pour résumer l'article, puis traduisons le résumé en punjabi.

Mise en œuvre

 # Fonction pour résumer et traduire du contenu à l'aide de l'API OpenAI
def résume_and_translate (contenu, api_key):
    Importer Openai
    openai.api_key = api_key
    
    # Invite de résumé
    Summary_Response = Openai.ChatCompletion.Create (
        modèle = "gpt-4", 
        messages = [
            {"rôle": "système", "contenu": "Vous êtes un assistant utile qui résume de manière concise les articles de presse."},
            {"rôle": "utilisateur", "contenu": f "Résumez l'article suivant Contenu en 2-3 phrases: \ n \ n {contenu}"}
        ],
        max_tokens = 100
    )
    résumé = résumé_response.choices [0] .Message.Content.strip ()
    
    # Invite de traduction
    traduction_response = openai.chatcompletion.create (
        modèle = "gpt-3.5-turbo",
        messages = [
            {"rôle": "système", "contenu": "Vous êtes un traducteur professionnel spécialisé dans les traductions anglaises aux punjabi."},
            {"rôle": "utilisateur", "contenu": f "traduire le texte suivant en punjabi: \ n \ n {résumé}"}
        ],
        max_tokens = 150
    )
    traduction = traduction_response.choices [0] .Message.Content.strip ()
    
    Résumé de retour, traduction
Copier après la connexion

Explication:

  • Nous initialisons l'API OpenAI avec la clé fournie.
  • La fonction résumer_and_translate résume d'abord le contenu de l'article.
  • Il traduit ensuite le résumé en punjabi.
  • Les deux opérations utilisent le point de terminaison ChatCompletion avec des invites appropriées.

Étape 4: Convertir le texte punjabi en discours à l'aide de l'API Sarvam TTS

Le texte traduit est converti en audio à l'aide de l'API SARVAM TTS.

Mise en œuvre

 # Fonction pour convertir le texte punjabi en discours en utilisant l'API Sarvam TTS
def punjabi_text_to_speech (punjabi_text, sarvam_api_key):
    url = "https://api.sarvam.ai/text-to-steech"
    
    # Diviser le texte en morceaux de 500 caractères
    chunks = [punjabi_text [i: i 500] pour i dans la plage (0, len (punjabi_text), 500)]]
    Audio_clips = []
    
    Pour moi, Chunk en énumération (morceaux):
        charge utile = {
            "Entrées": [Chunk],
            "cible_language_code": "pa-in",
            "Speaker": "Meera",
            "pitch": 0,
            "rythme": 1.0,
            "Houdness": 1.2,
            "Speech_sample_rate": 8000,
            "activer_preprocessing": true,
            "Modèle": "Bulbul: V1"
        }
        en-têtes = {
            "Contenu-type": "application / json",
            "API-Subscription-Key": Sarvam_API_KEY
        }
    
        Response = requers.Post (URL, en-têtes = en-têtes, JSON = charge utile)
    
        Si réponse.status_code == 200:
            Audio_base64 = réponse.json (). get ("Audios")
            Si Audio_Base64 et Len (Audio_Base64)> 0:
                Audio_clips.append (Audio_Base64 [0])
            autre:
                St.Error (f "Audio trouvé en réponse pour Chunk {i 1}.")
                Renvoie aucun
        autre:
            St.Error (f "n'a pas réussi à convertir Chunk {i 1} en discours: {réponse.status_code} - {réponse.Text}")
            Renvoie aucun
    
    # Combiner tous les morceaux audio Base64 en une seule chaîne
    return "" .join (audio_clips)
Copier après la connexion

Explication:

  • La fonction gère la limite de caractère de l'API en divisant le texte en morceaux.
  • Il envoie chaque morceau à l'API TTS et collecte l'audio codé en base de base64.
  • Les morceaux audio sont concaténés pour former le fichier audio complet.

Étape 5: construire l'interface rationalisée

L'interface utilisateur est construite à l'aide de Streamlit, offrant une expérience interactive.

Mise en œuvre

 # Application de rationalisation principale
def main ():
    St.Set_Page_Config (
        page_title = "newsvoice: résumés de nouvelles multilingues",
        page_icon = "?"
        disposition = "large"
    )
    
    # CSS personnalisé pour un style amélioré
    St.markdown ("" "
    <style>
    .main-title {
        taille de police: 36px;
        Couleur: # 2C3E50;
        Texte-aligne: Centre;
        marge-fond: 30px;
    }
    .
        Couleur: # 3498db;
        Border-Bottom: 2px Solid # 3498DB;
        Padding-Bottom: 10px;
    }
    </ style>
    "" ", disfe_allow_html = true)
    
    # Titre de l&#39;application
    St.Markdown (&#39;<h1>? Newsvoice: Résumé des nouvelles multilingues &#39;, disfe_allow_html = true)
    
    # Barre latérale pour la configuration
    St.sidebar.header ("Configuration des nouvelles")
    num_articles = st.sidebar.slider ("nombre d&#39;articles", 1, 5, 3)
    
    # Zone de contenu principale
    St.Markdown (&#39;<h2> Dernier résumé des nouvelles &#39;, disAve_Allow_html = true)
    
    # Bouton de récupération et de processus
    Si St.Button ("Fetch & Translate News"):
        Avec St.Spinner ("Fetching and Processing News ..."):
            # Recherchez des articles
            Articles = fetch_news (Guardian_API_KEY)
    
            Si ce n&#39;est pas des articles:
                St.Warning ("Aucun article trouvé. Veuillez réessayer.")
            autre:
                # Process Top Nombre sélectionné d&#39;articles
                pour un article dans des articles [: num_articles]:
                    anglais_title = article.get (&#39;webtitle&#39;, &#39;pas de titre disponible&#39;)
                    Article_url = article.get (&#39;apiUrl&#39;)
    
                    # Créer un conteneur pour chaque article
                    avec saint-contraire ():
                        St.Subheader (English_title)
    
                        # Recherchez le contenu de l&#39;article
                        Article_content = fetch_article_content (article_url, gardien_api_key) si article_url autre
                        
                        Si ce n&#39;est pas l&#39;article_content:
                            St.Write ("Aucun contenu disponible pour cet article.")
                            continuer
    
                        essayer:
                            # Résumer et traduire
                            Résumé, punjabi_translation = résumer_and_translate (article_content, openai_api_key)
                            
                            # Afficher le résumé de l&#39;anglais
                            St.markdown ("** Résumé de l&#39;anglais: **")
                            St.Write (résumé)
    
                            # Afficher la traduction punjabi
                            St.markdown ("** Traduction punjabi: **")
                            St.Write (punjabi_translation)
    
                            # Text-the-dispeech
                            St.Write ("Génération de l&#39;audio punjabi ...")
                            Audio_base64 = punjabi_text_to_speech (punjabi_translation, sarvam_api_key)
    
                            Si Audio_Base64:
                                Audio_bytes = base64.b64decode (Audio_Base64)
                                St.Audio (Audio_Bytes, Format = "Audio / Wav")
                            
                            # Ajouter un diviseur entre les articles
                            St.markdown ("---")
    
                        sauf exception comme e:
                            St.Error (F "Article de traitement des erreurs: {e}")
    
    # Pied-de-pied
    St.markdown ("" "
    ---
    Propulsé par l&#39;API Guardian, Openai et Sarvam TTS
    "" ")
    
# Exécutez l&#39;application Streamlit
Si __name__ == "__main__":
    principal()</style>
Copier après la connexion

Explication:

  • La fonction principale configure l'application Streamlit, y compris la configuration et le style de la page.
  • La barre latérale permet aux utilisateurs de sélectionner le nombre d'articles.
  • La zone principale affiche les nouvelles, les résumés, les traductions et l'audio récupérés.
  • La gestion des erreurs garantit que l'application informe l'utilisateur de tout problème pendant le traitement.

Obtenez des nouvelles rapides avec Newsvoiceai

Consultez la qualité de l'audio dans l'enregistrement téléchargé dans la lecture de ce référentiel - Newsvoiceai

Comment obtenir les API?

Pour construire et exécuter avec succès NewsVoice, vous devrez obtenir des clés API à partir des services suivants:

  • L'API de la plate-forme ouverte Guardian
  • API Openai
  • API Sarvam TTS

Vous trouverez ci-dessous des guides étape par étape sur la façon d'acquérir ces clés d'API.

API de la plate-forme ouverte Guardian

Le Guardian fournit une API gratuite qui permet aux développeurs d'accéder au contenu à partir de leur vaste référentiel d'articles de presse.

Étapes pour obtenir la clé de l'API Guardian:

  • Visitez la plate-forme Open Guardian.
  • Faites défiler vers le bas et recherchez «l'accès instantané gratuit pour les développeurs».
  • Cliquez sur «Inscrivez-vous pour une clé de développeur».
  • Remplissez le formulaire et acceptez les termes et conditions.
  • Soumettez votre demande.
  • Stockez votre clé API en toute sécurité.

API Openai

OpenAI propose des modèles de langage puissants comme GPT-4O et d'autres, qui sont utilisés pour la résumé de texte et la traduction dans Newsvoiceai.

Étapes pour obtenir la clé API OpenAI

  • Créez un compte Openai.
  • Vérifiez votre e-mail et votre numéro de téléphone.
  • Accéder au tableau de bord API
  • Générer une nouvelle clé API.
  • Stockez votre clé API en toute sécurité.

Notes importantes

Informations de facturation:

  • Les API d'Openai sont des services payants. Vous devrez configurer un mode de paiement sous le
  • Les nouveaux utilisateurs peuvent recevoir des crédits gratuits qui expirent après une certaine période.

API Sarvam TTS

SARVAM AI fournit des services de texte à disposition prenant en charge plusieurs langues indiennes, y compris le Punjabi avec environ 1 000 ₹ de crédits gratuits. En faire bon usage!

Étapes pour obtenir la clé de l'API Sarvam TTS:

  • Visitez le site Web de Sarvam AI.
  • Inscrivez-vous à un compte et confirmez votre e-mail.
  • Accéder au tableau de bord du développeur.
  • Générer une clé API.
  • Stockez votre clé API en toute sécurité.

Technologies derrière Newsvoice

Discutons maintenant des technologies derrière Newsvoice ci-dessous:

L'API Guardian

L'API Guardian donne accès à une multitude d'articles de presse en direct et de métadonnées. En intégrant cette API, NewsVoice garantit que les utilisateurs reçoivent le contenu d'actualité le plus récent et le plus pertinent.

  • Requêtes personnalisables : récupérer des articles en fonction des sections, des balises ou des termes de recherche.
  • Métadonnées riches : les titres de l'article d'accès, les auteurs, les dates de publication, etc.
  • Fiabilité : une source de nouvelles de confiance avec une couverture mondiale.

Modèles GPT d'Openai

Newsvoiceai exploite les puissants modèles de langage multilingue d'Openai pour gérer à la fois les tâches de résumé et de traduction.

Récapitulation

  • Modèle utilisé : la version de GPT-4O en novembre 2024 ou GPT-4O-MINI, selon l'équilibre souhaité entre la vitesse et la précision.
  • Fonctionnalité : convertit les longs articles de presse en résumés concis, capturant l'essence du contenu.
  • Avantages : réduit le temps de lecture tout en préservant les informations clés.

Traduction

  • Modèle utilisé : Les mêmes modèles OpenAI sont utilisés pour les tâches de traduction.
  • Fonctionnalité : traduit les résumés anglais en punjabi avec une grande précision linguistique.
  • Avantages : permet aux locuteurs punjabi natifs de consommer confortablement du contenu.

Conversion de texte vocal (TTS)

Pour convertir le texte traduit en discours, Newsvoiceai utilise des API TTS avancées qui soutiennent Punjabi.

  • API Utilisé : API SARVAM TTS ou tout autre fournisseur qui prend en charge Punjabi.
  • Caractéristiques:
    • Voix naturelle : offre une expérience d'écoute agréable.
    • Grande manipulation de texte : capable de traiter des textes longs en les divisant en morceaux gérables.
  • Avantages : rend les nouvelles accessibles à ceux qui préfèrent l'apprentissage auditif ou ont des déficiences visuelles.

Rationaliser

Streamlit est un framework d'applications open source utilisé pour créer l'interface Web interactive pour NewsVoice.

  • Caractéristiques:
    • Facile à utiliser : simplifie le processus de transformation des scripts Python en applications Web.
    • Widgets interactifs: permet aux utilisateurs d'interagir avec l'application de manière transparente.
    • Développement rapide: permet un prototypage rapide et un déploiement.
  • Avantages: fournit une plate-forme conviviale pour que les utilisateurs puissent récupérer, traiter et écouter les nouvelles sans effort.

Conclusion

Newsvoiceai représente une étape importante vers la réalisation de nouvelles plus accessibles et adaptées aux besoins individuels. En intégrant les technologies avancées d'IA d'OpenAI et en tirant parti des sources d'information fiables comme The Guardian, l'application transforme la façon dont nous consommons les nouvelles:

  • Accessibilité : décompose les barrières linguistiques et s'adresse à ceux qui ont des déficiences visuelles.
  • Efficacité : Gagnez du temps en fournissant des résumés concis.
  • Concocrément : permet une consommation mains libres grâce à la lecture audio.

Alors que la technologie continue d'évoluer, des applications comme Newsvoice joueront un rôle crucial dans la démocratisation de l'accès à l'information.

Essayez-le aujourd'hui: le référentiel Newsvoice Github

Remerciements

  • L'API Guardian: pour fournir du contenu d'actualités en direct.
  • OpenAI: Pour les modèles de langue puissants utilisés en résumé et en traduction.
  • API SARVAM TTS: pour activer la conversion de texte à dispection dans Punjabi.
  • Communauté rationalisée: pour le cadre open source qui alimente l'interface de l'application.

Ressources supplémentaires

  • Documentation OpenAI: Docs Openai
  • Documentation rationalisée: rationaliser les documents
  • L'API Guardian: la plate-forme ouverte Guardian
  • API Text-to-dispeops SARVAM: Docs Sarvam TTS

Principaux à retenir

  • Newsvoiceai révolutionne la consommation d'actualités en fournissant des résumés audio punjabi concis des articles de presse anglais en direct.
  • L'application utilise des technologies de résumé, de traduction et de texte vocale alimentées par AI pour rendre les nouvelles accessibles en temps réel.
  • Newsvoiceai prend en charge la réduction du temps, l'accessibilité du langage et l'écoute mains libres pour les utilisateurs en déplacement.
  • Le système intègre l'API Guardian, les modèles GPT d'OpenAI, SARVAM TTS et Sationlit pour une expérience utilisateur transparente.
  • Newsvoiceai est idéal pour les professionnels occupés, les navetteurs et ceux qui ont des déficiences visuelles qui ont besoin d'un accès facile aux actualités actuelles.

Questions fréquemment posées

Q1. Qu'est-ce que Newsvoiceai et comment cela me profite-t-il?

A. Newsvoiceai est une application alimentée par AI qui transforme les articles de presse anglais en live en résumés audio punjabi concis. Il profite aux utilisateurs en prenant du temps, en brisant les barrières linguistiques et en fournissant un moyen mains libres accessible de consommer des nouvelles.

Q2. Ai-je besoin d'une expertise technique pour utiliser NewsVoice?

A. Aucune expertise technique n'est requise pour utiliser l'application comme utilisateur final. Vous pouvez simplement interagir avec l'interface conviviale pour récupérer, lire et écouter des résumés d'actualités. Cependant, si vous souhaitez créer ou personnaliser l'application, la connaissance de base de l'intégration Python et API serait utile.

Q3. Newsvoiceai est-il gratuit?

A. L'application Newsvoiceai elle-même est ouverte et libre à utiliser. Cependant, l'accès à certaines API comme Openai et Sarvam TTS peut impliquer des coûts, en particulier au-delà de leurs niveaux d'utilisation gratuits. Il est important de revoir les détails de tarification de chaque service API que vous prévoyez d'utiliser. Bien que, si vous prévoyez de l'utiliser localement, vous pouvez utiliser les LLM open source à l'aide d'Olllama.

Q4. Quelle est la précision des traductions et des résumés?

A. Newsvoiceai utilise des modèles d'IA avancés d'OpenAI, connus pour leur grande précision dans les tâches linguistiques. Bien que les traductions et les résumés soient généralement fiables, ils peuvent ne pas être parfaits en raison des nuances du traitement du langage. Les commentaires sont les bienvenus pour aider à améliorer les futures versions.

Q5. Puis-je personnaliser le nombre d'articles ou sélectionner des sujets d'information spécifiques?

R. Oui, l'application vous permet de sélectionner le nombre d'articles à récupérer via le curseur de la barre latérale. Actuellement, la sélection des sujets n'est pas disponible, mais les améliorations futures peuvent inclure la possibilité de filtrer les actualités par des catégories ou des mots clés.

Les médias présentés dans cet article ne sont pas détenus par l'analytique vidhya et sont utilisés à la discrétion de l'auteur.

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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal