In der heutigen schnelllebigen Welt ist es entscheidend, informiert zu bleiben, aber es kann eine Herausforderung sein, die Zeit zum Lesen langwieriger Nachrichten zu finden. Darüber hinaus verbessert der Verzehr von Nachrichten in der Muttersprache das Verständnis und das Engagement. Geben Sie NewsVoiceai ein, eine innovative Anwendung, um die Art und Weise zu revolutionieren, wie wir auf Nachrichten zugreifen. Durch die Nutzung der Macht der künstlichen Intelligenz verwandelt Newsvoiceai Live -englische Nachrichtenartikel in präzise Punjabi -Audio -Zusammenfassungen und erleichtern es einfacher denn je, während der Zeit auf dem Laufenden zu bleiben.
In diesem umfassenden Artikel werden wir uns mit den Funktionen von NewsVoiceai befassen, die neuesten Technologien dahinter erkunden, eine Schritt-für-Schritt-Anleitung zur Erstellung einer ähnlichen Anwendung anbieten und den tatsächlichen Code integrieren, der diese Anwendung zum Leben bringt.
Dieser Artikel wurde als Teil des Data Science -Blogathons veröffentlicht.
Stellen Sie sich vor, Sie würden die neuesten Nachrichten während Ihres morgendlichen Pendelverkehrs nachholen, ohne lange Artikel durchlesen zu müssen oder mit Sprachbarrieren zu kämpfen. Newsvoice entstand aus dem Wunsch, Nachrichten zugänglicher zu machen, insbesondere für punjabisprachige Publikum, die es vorziehen, Inhalte in ihrer Muttersprache zu konsumieren. Die Anwendung überbrückt mehrere Lücken:
Egal, ob Sie ein vielbeschäftigter Profi, ein Pendler oder eine Person mit visuellen Beeinträchtigungen sind, NewsVoiceai bietet eine nahtlose Möglichkeit, auf dem Laufenden zu bleiben.
Lassen Sie uns den Schritt-für-Schritt-Workflow von NewsVoice untersuchen, in dem Code-Snippets integriert werden, um jeden Teil zu veranschaulichen.
Mit der Guardian -API ruft NewsVoiceai die Top -Live -Nachrichtenartikel auf der Grundlage vordefinierter Kriterien oder Benutzerpräferenzen ab.
# Funktion zum Abholen von Nachrichtenartikeln von der Guardian API Def fetch_news (api_key): von theGuardian import theGuardian_content content = theGuardian_content.content (api = api_key) json_content = content.get_content_response () versuchen: return content.get_results (json_content) außer KeyError als E: St.Error (f "Fehler beim Abholen von Artikeln: {e}") zurückkehren []
Erläuterung:
Für jeden Artikel holen wir den vollständigen Inhalt, um ihn für die Zusammenfassung vorzubereiten.
# Funktion zum Abrufen von Artikelinhalten Def fetch_article_content (article_url, api_key): Antwort = Requests.get (article_url, params = {"api-key": api_key, "show-blocks": "all"}) if response.status_code == 200: artikel_data = response.json () body = article_data.get ("response", {}). get ("content", {}). get ("blocks", {}). get ("body", []) Wenn Körper: zurück "" .Join (block.get ("bytotextSummary", ") für Block im Körper) keine zurückgeben
Erläuterung:
Wir verwenden die GPT -Modelle von OpenAI, um den Artikel zusammenzufassen und dann die Zusammenfassung in Punjabi zu übersetzen.
# Funktion zum Zusammenfassen und Übersetzen von Inhalten mithilfe von OpenAI -API Def summarize_and_translate (Inhalt, api_key): Openai importieren openai.api_key = api_key # SUMPERSUMUNG summary_response = openai.chatCompletion.create ( Modell = "GPT-4", Nachrichten = [ {"Rolle": "System", "Inhalt": "Sie sind ein hilfreicher Assistent, der Nachrichtenartikel präzise zusammenfasst."}, {"Rolle": "Benutzer", "Inhalt": f "Fassen Sie den folgenden Artikelinhalt in 2-3 Sätzen zusammen: \ n \ n {content}"} ], max_tokens = 100 ) summary = summary_response.choices [0] .Message.Content.strip () # Übersetzungsaufforderung translation_response = openai.chatCompletion.create ( Modell = "GPT-3,5-Turbo", Nachrichten = [ {"Rolle": "System", "Inhalt": "Sie sind ein professioneller Übersetzer, der auf Englisch auf Punjabi -Übersetzungen spezialisiert ist."}, {"Rolle": "Benutzer", "Inhalt": f "Übersetzen Sie den folgenden Text in Punjabi: \ n \ n {summary}"} ], max_tokens = 150 ) translation = translation_response.choices [0] .Message.Content.strip () Rückgangszusammenfassung, Übersetzung
Erläuterung:
Der übersetzte Text wird unter Verwendung der Sarvam TTS -API in Audio konvertiert.
# Funktion zum Konvertieren von Punjabi -Text in die Sprache mit Sarvam TTS -API Def punjabi_text_to_speech (punjabi_text, sarvam_api_key): url = "https://api.sarvam.ai/text-tospeech" # Teilen Sie den Text in Teile von bis zu 500 Zeichen auf thunks = [punjabi_text [i: i 500] für i im Bereich (0, len (punjabi_text), 500)] audio_clips = [] Für mich, um in Aufzählung (Stücke) zu zäheln: payload = { "Eingänge": [Chunk], "target_language_code": "pa-in", "Sprecher": "Meera", "Tonhöhe": 0,, "Tempo": 1.0, "Lautstärke": 1.2, "rede_sample_rate": 8000, "enable_preprocessing": true, "Modell": "Bulbul: v1" } Headers = { "Inhaltstyp": "Anwendung/JSON", "API-Subscription-Key": SARVAM_API_KEY } response = requests.post (URL, Header = Header, JSON = Payload) if response.status_code == 200: audio_base64 = response.json (). get ("audios") Wenn Audio_Base64 und Len (Audio_Base64)> 0: audio_clips.append (Audio_base64 [0]) anders: St.Error (f "Kein Audio als Antwort auf Chunk {i 1} gefunden.") keine zurückgeben anders: St.Error (f "konnte Chunk {i 1} in Sprache nicht konvertieren: {response.status_code} - {response.text}") keine zurückgeben # Kombinieren Sie alle Base64 -Audio -Stücke in eine einzelne Zeichenfolge zurück "" .Join (Audio_clips)
Erläuterung:
Die Benutzeroberfläche wurde mit Streamlit erstellt und bietet ein interaktives Erlebnis.
# Haupt -Streamlit -App Def Main (): St.Set_Page_Config ( Page_title = "NewsVoice: Mehrsprachige Nachrichtenzusammenfassungen", Page_icon = "?", Layout = "breit" ) # Custom CSS für ein verbessertes Styling St.Markdown ("" " <styles> .Main-Title { Schriftgröße: 36px; Farbe: #2c3e50; Text-Align: Mitte; Randboden: 30px; } . Farbe: #3498db; Border-Bottom: 2PX Solid #3498db; Padding-Bottom: 10px; } "" ", unafe_allow_html = true) # App -Titel St.Markdown ('<h1>? NewsVoice: Mehrsprachige Nachrichtenzusammenfassungen </h1>', unafe_allow_html = true) # Seitenleiste für die Konfiguration St.SideBar.Header ("Nachrichtenkonfiguration") Num_articles = St.SideBar.Slider ("Anzahl der Artikel", 1, 5, 3) # Hauptinhaltsbereich St.Markdown ('<h2> Neueste Nachrichtenzusammenfassungen </h2>', unafe_allow_html = true) # Schaltfläche abrufen und verarbeiten Wenn St.Button ("Fetch & Translate News"): mit St.Spinner ("Nachrichten abrufen und verarbeiten ..."): # Nachrichtenartikel abrufen Artikel = fetch_news (Guardian_api_key) Wenn nicht Artikel: St.Warning ("Keine Artikel gefunden. Bitte versuchen Sie es erneut.") anders: # Verarbeiten Sie die oberste Anzahl von Artikeln Für Artikel in Artikeln [: num_articles]: englush_title = article.get ('webtitle', 'kein Titel verfügbar') artikel_url = article.get ('apiurl') # Erstellen Sie für jeden Artikel einen Container mit St.Container (): St.Subheader (englisch_title) # Artikelinhalte abrufen article_content = fetch_article_content (article_url, Guardian_api_key), wenn artikel_url sonst keine Wenn nicht Artikel_Content: St.Write ("Keine Inhalte für diesen Artikel verfügbar.") weitermachen versuchen: # Fassen Sie zusammen und übersetzen Zusammenfassung, Punjabi_Translation = summarize_and_translate (article_content, openai_api_key) # Englische Zusammenfassung anzeigen St.Markdown ("** Englisch Zusammenfassung: **") St.Write (Zusammenfassung) # Punjabi -Übersetzung anzeigen St.Markdown ("** Punjabi -Übersetzung: **") St.Write (Punjabi_Translation) # Text-to-Speech St.Write ("Punjabi -Audio generieren ...") audio_base64 = punjabi_text_to_speech (punjabi_translation, sarvam_api_key) Wenn audio_base64: audio_bytes = base64.b64Decode (audio_base64) St.Audio (Audio_Bytes, Format = "Audio/WAV") # Fügen Sie einen Teiler zwischen Artikeln hinzu St.Markdown ("---") außer Ausnahme als E: St.Error (f "Fehlerverarbeitung Artikel: {e}") # Fußzeile St.Markdown ("" " --- Angetrieben von der Guardian API, Openai und Sarvam TTS "" ") # Führen Sie die Streamlit -App aus Wenn __name__ == "__main__": hauptsächlich()</styles>
Erläuterung:
Schauen Sie sich die Audioqualität in der Aufzeichnung an
Um NewsVoice erfolgreich aufzubauen und auszuführen, müssen Sie API -Schlüssel aus den folgenden Diensten erhalten:
Im Folgenden finden Sie schrittweise Anleitungen zum Erwerb dieser API-Schlüssel.
Der Guardian bietet eine kostenlose API, mit der Entwickler aus ihrem riesigen Repository von Nachrichtenartikeln auf Inhalte zugreifen können.
OpenAI bietet leistungsstarke Sprachmodelle wie GPT-4O und andere, die für die Zusammenfassung und Übersetzung von Text in NewsVoiceai verwendet werden.
Abrechnungsdaten:
Sarvam AI bietet Text-to-Speech-Dienste an, die mehrere indische Sprachen unterstützen, darunter Punjabi mit rund 1.000 GBP kostenlosen Credits. Nutzen Sie es gut!
Lassen Sie uns nun die Technologien hinter NewsVoice unten diskutieren:
Die Guardian API bietet Zugang zu einer Fülle von Live -Nachrichtenartikeln und Metadaten. Durch die Integration dieser API stellt NewsVoice sicher, dass Benutzer die aktuellsten und relevantesten Nachrichteninhalte erhalten.
NewsVoiceai nutzt die leistungsstarken mehrsprachigen Sprachmodelle von OpenAI, um sowohl die Zusammenfassung als auch die Übersetzungsaufgaben zu erledigen.
Um übersetzte Text in Sprache umzuwandeln, verwendet NewsVoiceai fortgeschrittene TTS -APIs, die Punjabi unterstützen.
Streamlit ist ein Open-Source-App-Framework, mit dem die interaktive Weboberfläche für NewsVoice erstellt wird.
NewsVoiceai stellt einen erheblichen Schritt dar, um Nachrichten zugänglicher und auf individuelle Bedürfnisse zugeschnitten zu machen. Durch die Integration fortschrittlicher KI -Technologien von OpenAI und der Nutzung zuverlässiger Nachrichtenquellen wie The Guardian verändert die App die Art und Weise, wie wir Nachrichten verbrauchen:
Während sich die Technologie weiterentwickelt, werden Anwendungen wie NewsVoice eine entscheidende Rolle bei der Demokratisierung des Zugangs zu Informationen spielen.
Probieren Sie es noch heute aus: NewsVoice Github Repository
A. newsvoiceai ist eine AI-angetriebene Anwendung, die Live-englische Nachrichtenartikel in präzise Punjabi-Audioübersicht verwandelt. Es kommt den Benutzern zugute, indem es Zeit spart, Sprachbarrieren brechen und eine zugängliche, freiwillige Möglichkeit zur Konsum von Nachrichten bietet.
Q2. Benötige ich technisches Know -how, um NewsVoice zu verwenden?A. Es ist kein technisches Know-how erforderlich, um die Anwendung als Endbenutzer zu verwenden. Sie können einfach mit der benutzerfreundlichen Schnittstelle interagieren, um Nachrichtenzusammenfassungen zu holen, zu lesen und zu hören. Wenn Sie jedoch die Anwendung erstellen oder anpassen möchten, wäre das Grundkenntnis der Python und der API -Integration hilfreich.
Q3. Ist NewsVoiceai kostenlos zu verwenden?A. Die NewsVoiceai-Anwendung selbst ist offen und kostenlos zu verwenden. Der Zugriff auf bestimmte APIs wie OpenAI und Sarvam TTS kann jedoch Kosten beinhalten, insbesondere über ihre freien Nutzungsstufen hinaus. Es ist wichtig, die Preisdetails jedes API -Dienstes zu überprüfen, den Sie verwenden möchten. Wenn Sie es jedoch vor Ort verwenden möchten, können Sie Open Source LLMs mit Ollama verwenden.
Q4. Wie genau sind die Übersetzungen und Zusammenfassungen?A. newsvoiceai verwendet fortschrittliche KI -Modelle von Openai, die für ihre hohe Genauigkeit bei Sprachaufgaben bekannt sind. Während die Übersetzungen und Zusammenfassungen im Allgemeinen zuverlässig sind, sind sie aufgrund der Nuancen der Sprachverarbeitung möglicherweise nicht perfekt. Feedback ist herzlich eingeladen, um zukünftige Versionen zu verbessern.
Q5. Kann ich die Anzahl der Artikel anpassen oder bestimmte Nachrichtenthemen auswählen?A. Ja, mit der Anwendung können Sie die Anzahl der Artikel auswählen, die über den Seitenleistenschieberer abrufen können. Derzeit ist die Themenauswahl nicht verfügbar, aber zukünftige Verbesserungen können die Möglichkeit beinhalten, Nachrichten nach Kategorien oder Schlüsselwörtern zu filtern.
Die in diesem Artikel gezeigten Medien sind nicht im Besitz von Analytics Vidhya und werden nach Ermessen des Autors verwendet.
Das obige ist der detaillierte Inhalt vonHolen Sie sich schnelle KI -Nachrichten mit NewsVoiceai. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!