ホームページ >テクノロジー周辺機器 >AI >Newsvoiceaiで簡単にAIニュースを入手してください

Newsvoiceaiで簡単にAIニュースを入手してください

Joseph Gordon-Levitt
Joseph Gordon-Levittオリジナル
2025-03-16 09:56:10466ブラウズ

今日のペースの速い世界では、情報を提供することは非常に重要ですが、長いニュース記事を読む時間を見つけることは困難です。さらに、母国語でニュースを消費すると、理解と関与が向上します。 Newsvoiceaiを入力してください。NewsVoiceAiは、ニュースにアクセスする方法に革命をもたらすために設計された革新的なアプリケーションです。人工知能の力を活用することにより、Newsvoiceaiはライブ英語のニュース記事を簡潔なパンジャブ語のオーディオサマリに変換し、外出中に更新されたままにすることをこれまで以上に容易にします。

この包括的な記事では、Newsvoiceaiの仕組みを掘り下げ、その背後にある最先端のテクノロジーを探り、同様のアプリケーションを作成する方法に関する段階的なガイドを提供し、このアプリケーションを生命に導く実際のコードを統合します。

学習成果

  • NewsVoiceaiがAIを活用して、ライブニュース記事を簡潔でネイティブ言語の概要に変換する方法を学びます。
  • Guardian API、OpenAIモデル、テキストからスピーチへの変換など、NewsVoiceaiの背後にあるテクノロジーを理解してください。
  • APIの統合と、インタラクティブアプリケーションを構築するためにRiremlitを使用することに関する実践的な知識を獲得します。
  • AI駆動型モデルを使用して、英語のニュース記事をパンジャブ語にまとめて翻訳する方法を発見します。
  • リアルタイムのニュースフェッチとオーディオ出力を備えた多言語ニュース要約を構築するプロセスを調べてください。

この記事は、データサイエンスブログソンの一部として公開されました

目次

  • NewsVoiceとは何ですか?
  • NewsVoiceはどのように機能しますか?
  • APIを取得する方法は?
  • NewsVoiceの背後にあるテクノロジー
  • 結論
  • よくある質問

NewsVoiceとは何ですか?

長い記事を読んだり、言語の障壁に苦しんでいることもなく、朝の通勤中に最新のニュースに追いつくことを想像してください。 NewsVoiceは、特に母国語でコンテンツを消費することを好むパンジャブ語を話す聴衆にとって、ニュースをよりアクセスしやすくしたいという願望から生まれました。アプリケーションはいくつかのギャップを橋渡しします:

  • 時間の制約:簡潔な要約を提供し、ユーザーの時間を節約します。
  • 言語アクセシビリティ:ネイティブスピーカーのコンテンツをパンジャブに変換します。
  • 消費の容易さ:テキストをスピーチに変換し、ハンズフリーのリスニングを可能にします。

あなたが忙しい専門家でも、通勤者でも、視覚障害のある人であろうと、Newsvoiceaiは情報を提供するシームレスな方法を提供します。

NewsVoiceの主要な機能

  • ライブニュースフェッチ:APIを使用してガーディアンのような評判の良い情報源から最新のニュース記事を引き出します。
  • AI搭載の要約:OpenAIの高度なAIモデルを利用して、長い記事を簡単な要約に凝縮します。
  • パンジャブ語の翻訳:概要をパンジャブ語に正確に翻訳することにより、地域のアクセシビリティを保証します。
  • テキストからスピーチへの変換:最先端のTTSテクノロジーを使用して、明確で自然なサウンドのパンジャブオーディオを生成します。
  • ユーザーフレンドリーインターフェイス:ストリームライトで構築され、インタラクティブで直感的なユーザーエクスペリエンスを提供します。

NewsVoiceはどのように機能しますか?

NewsVoiceの段階的なワークフローを調べて、コードスニペットを統合して各部分を説明しましょう。

ステップ1:ニュース記事を取得します

Guardian APIを使用して、NewsVoiceaiは、事前に定義された基準またはユーザーの好みに基づいて、トップライブニュース記事を取得します。

実装

#ガーディアンAPIからニュース記事を取得する機能
def fetch_news(api_key):
    TheGuardian Import theGuardian_Contentから
    content = theguardian_content.content(api = api_key)
    json_content = content.get_content_response()
    試す:
        content.get_results(json_content)を返す
    eとしてのkeyerrorを除きます:
        St.Error(f "エラー記事:{e}")
        戻る []

説明:

  • ガーディアンライブラリを使用して、ガーディアンAPIと対話します。
  • fetch_news関数は記事を取得し、潜在的なエラーを処理します。

ステップ2:記事のコンテンツを取得します

各記事について、完全なコンテンツを取得して要約のために準備します。

実装

#記事コンテンツを取得する機能
def fetch_article_content(article_url、api_key):
    response = requests.get(article_url、params = {"api-key":api_key、 "show-blocks": "all"})
    response.status_code == 200の場合:
        article_data = respons.json()
        body = article_data.get( "Response"、{})。get( "content"、{})。get( "blocks"、{})。
        ボディの場合:
            return "" .join(block.get( "bodytextsummary"、 "")ボディのブロックのため)
    なしなし

説明:

  • この関数は、完全なコンテンツを取得するためのパラメーターを使用して、記事のAPI URLにGETリクエストを送信します。
  • それは、記事のテキストを抽出するためのJSON応答を解析します。

ステップ3:OpenAI APIを使用してコンテンツを要約および翻訳します

OpenaiのGPTモデルを使用して、記事を要約し、概要をパンジャブ語に翻訳します。

実装

#Openai APIを使用してコンテンツを要約および翻訳する機能
def summarize_and_translate(content、api_key):
    Openaiをインポートします
    openai.api_key = api_key
    
    #要約プロンプト
    summary_response = openai.chatcompletion.create(
        Model = "GPT-4"、 
        メッセージ= [
            {「役割」:「システム」、「コンテンツ」:「あなたはニュース記事を簡潔に要約する役立つアシスタントです。 "}、
            {"role": "user"、 "content":f "次の記事のコンテンツを2-3文で要約します:\ n \ n {content}"}
        ]、、
        max_tokens = 100
    ))
    summary = summary_response.choices [0] .message.content.strip()
    
    #翻訳プロンプト
    translation_response = openai.chatcompletion.create(
        Model = "GPT-3.5-TURBO"、
        メッセージ= [
            {「役割」:「システム」、「コンテンツ」:「あなたは英語を専門とするプロの翻訳者です。
            {"role": "user"、 "content":f "次のテキストをパンジャブに翻訳します:\ n \ n {summary}"}
        ]、、
        max_tokens = 150
    ))
    翻訳= translation_response.choices [0] .message.content.strip()
    
    概要を返す、翻訳

説明:

  • 提供されたキーを使用してOpenai APIを初期化します。
  • summarize_and_translate関数は、最初に記事の内容を要約します。
  • 次に、要約をパンジャブ語に翻訳します。
  • 両方の操作は、適切なプロンプトを使用してChatCompletionエンドポイントを使用します。

ステップ4:Sarvam TTS APIを使用して、パンジャブ語のテキストをスピーチに変換します

翻訳されたテキストは、Sarvam TTS APIを使用してオーディオに変換されます。

実装

#SARVAM TTS APIを使用してパンジャブ語のテキストをスピーチに変換する機能
def punjabi_text_to_speech(punjabi_text、sarvam_api_key):
    url = "https://api.sarvam.ai/text-topeech"
    
    #テキストを最大500文字のチャンクに分割する
    chunks = [punjabi_text [i:i 500] for i in range(0、len(punjabi_text)、500)]]]]
    audio_clips = []
    
    私の場合、列挙のチャンク(チャンク):
        ペイロード= {
            「入力」:[チャンク]、
            "Target_language_code": "pa-in"、
            「スピーカー」:「ミーラ」、
            「ピッチ」:0、
            「ペース」:1.0、
            「ラウドネス」:1.2、
            「speech_sample_rate」:8000、
            「enable_preprocessing」:true、
            「モデル」:「Bulbul:V1」
        }
        ヘッダー= {
            「コンテンツタイプ」:「アプリケーション/json」、
            「API-Subscription-Key」:Sarvam_api_key
        }
    
        応答= requests.post(url、headers = headers、json =ペイロード)
    
        response.status_code == 200の場合:
            audio_base64 = response.json()。get( "audios")
            audio_base64およびlen(audio_base64)> 0の場合:
                audio_clips.append(audio_base64 [0])
            それ以外:
                St.Error(f "chunk {i 1}に応答してオーディオが見つかりません。")
                なしなし
        それ以外:
            St.Error(f "chunk {i 1}をスピーチに変換できなかった:{respons.status_code}  -  {respons.text}")
            なしなし
    
    #すべてのbase64オーディオチャンクを単一の文字列に結合する
    return "" .join(audio_clips)

説明:

  • この関数は、テキストをチャンクに分割することにより、APIの文字制限を処理します。
  • 各チャンクをTTS APIに送信し、Base64エンコードのオーディオを収集します。
  • オーディオチャンクは連結されており、完全なオーディオファイルを形成します。

ステップ5:流線インターフェイスを構築します

ユーザーインターフェイスは、retrierlitを使用して構築されており、インタラクティブなエクスペリエンスを提供します。

実装

#メインストリームライトアプリ
def main():
    St.set_page_config(
        page_title = "newsvoice:多言語ニュースサマリ"、
        page_icon = "?"、
        レイアウト= "wide"
    ))
    
    #改善されたスタイリング用のカスタムCSS
    St.Markdown( "" "
    <style>
    .main-title {
        フォントサイズ:36px;
        色:#2C3E50;
        テキストアライグ:センター;
        マージンボトム:30px;
    }
    .section-header {
        色:#3498db;
        国境圏:2pxソリッド#3498db;
        パディングボトム:10px;
    }
    </style>
    "" "、unsafe_allow_html = true)
    
    #アプリタイトル
    St.Markdown( '<h1>?newsvoice:多言語ニュースサマリ</h1>'、unsafe_allow_html = true)
    
    #構成用のサイドバー
    St.sidebar.header(「ニュース構成」)
    num_articles = St.SideBar.Slider( "記事数"、1、5、3)
    
    #メインコンテンツ領域
    St.Markdown( '<h2>最新ニュースの要約</h2>'、unsafe_allow_html = true)
    
    #ボタンを取得して処理します
    St.Button( "Fetch&Translate News")の場合:
        St.spinner( "フェッチと処理のニュース..."):
            #ニュース記事を取得します
            記事= fetch_news(guirdian_api_key)
    
            記事ではない場合:
                St.Warning(「記事は見つかりません。もう一度やり直してください。」)
            それ以外:
                #Process Top選択した記事の数
                記事の記事[:num_articles]:
                    English_title = article.get( 'webtitle'、 'タイトルなし'))
                    article_url = article.get( 'apiurl')
    
                    #各記事のコンテナを作成します
                    St.Container()で:
                        St.Subheader(English_title)
    
                        #記事コンテンツを取得します
                        article_content = fetch_article_content(article_url、guardingian_api_key)article_url else none
                        
                        NOT NOT ORICTION_CONTENT:
                            St.Write(「この記事にはコンテンツがありません。」)
                            続く
    
                        試す:
                            #要約して翻訳します
                            概要、Punjabi_translation = summarize_and_translate(article_content、openai_api_key)
                            
                            #英語の概要を表示します
                            St.Markdown( "**英語概要:**")
                            St.Write(要約)
    
                            #パンジャブ語の翻訳を表示します
                            St.Markdown( "**パンジャブ語翻訳:**")
                            St.Write(Punjabi_translation)
    
                            #テキストからスピーチ
                            St.Write(「Punjabi Audioの生成...」)
                            audio_base64 = punjabi_text_to_speech(punjabi_translation、sarvam_api_key)
    
                            audio_base64の場合:
                                audio_bytes = base64.b64decode(audio_base64)
                                St.Audio(audio_bytes、format = "audio/wav")
                            
                            #記事の間に仕切りを追加します
                            St.Markdown( "---")
    
                        eとしての例外を除く:
                            St.Error(f "エラー処理記事:{e}")
    
    #フッター
    St.Markdown( "" "
    ---
    Guardian API、Openai、およびSarvam TTSを搭載しています
    "" ")
    
#riet -litアプリを実行します
__name__ == "__main__"の場合:
    主要()

説明:

  • メイン関数は、ページの構成やスタイリングなど、Reillitアプリをセットアップします。
  • サイドバーを使用すると、ユーザーは記事の数を選択できます。
  • メイン領域には、フェッチされたニュース、要約、翻訳、音声が表示されます。
  • エラー処理により、アプリは処理中に問題をユーザーに通知します。

Newsvoiceaiで簡単にAIニュースを入手してください

このリポジトリのreadmeにアップロードされた録音のオーディオ品質をチェックしてください - newsvoiceai

APIを取得する方法は?

NewsVoiceの構築と実行に成功するには、次のサービスからAPIキーを取得する必要があります。

  • ガーディアンオープンプラットフォームAPI
  • Openai API
  • Sarvam TTS API

以下は、これらのAPIキーを取得する方法に関する段階的なガイドです。

ガーディアンオープンプラットフォームAPI

Guardianは、開発者がニュース記事の膨大なリポジトリからコンテンツにアクセスできるようにする無料のAPIを提供します。

ガーディアンAPIキーを取得する手順:

  • ガーディアンオープンプラットフォームにアクセスしてください。
  • 下にスクロールして、「開発者向けの無料インスタントアクセス」を探します。
  • [開発者キーの登録]をクリックします。
  • フォームに記入し、利用規約に同意します。
  • 申請書を送信します。
  • APIキーを安全に保存します。

Openai API

Openaiは、GPT-4Oなどの強力な言語モデルを提供しています。これは、NewsVoiceaiでのテキストの要約と翻訳に使用されています。

OpenAI APIキーを取得する手順

  • OpenAIアカウントを作成します。
  • メール番号と電話番号を確認します。
  • APIダッシュボードにアクセスします
  • 新しいAPIキーを生成します。
  • APIキーを安全に保存します。

重要なメモ

請求情報:

  • OpenaiのAPIは有料サービスです。下で支払い方法を設定する必要があります
  • 新しいユーザーは、特定の期間後に期限切れになる無料のクレジットを受け取る場合があります。

Sarvam TTS API

Sarvam AIは、パンジャブ語を含む複数のインド言語をサポートするテキストからスピーチへのサービスを提供しており、約1,000ポンドの無料クレジットがあります。それをうまく利用してください!

Sarvam TTS APIキーを取得する手順:

  • Sarvam AIのウェブサイトにアクセスしてください。
  • アカウントにサインアップして、メールを確認してください。
  • 開発者ダッシュボードにアクセスします。
  • APIキーを生成します。
  • APIキーを安全に保存します。

NewsVoiceの背後にあるテクノロジー

以下のNewsVoiceの背後にあるテクノロジーについて説明しましょう。

ガーディアンAPI

ガーディアンAPIは、豊富なライブニュース記事とメタデータへのアクセスを提供します。このAPIを統合することにより、NewsVoiceは、ユーザーが最新かつ関連するニュースコンテンツを受け取ることを保証します。

  • カスタマイズ可能なクエリ:セクション、タグ、または検索用語に基づいて記事を取得します。
  • リッチメタデータ:アクセス記事の見出し、著者、出版日など。
  • 信頼性:グローバルな報道を備えた信頼できるニュースのソース。

OpenaiのGPTモデル

NewsVoiceaiは、Openaiの強力な多言語モデルを活用して、要約と翻訳の両方のタスクを処理します。

要約

  • 使用されるモデル:速度と精度の希望のバランスに応じて、GPT-4Oの2024年11月のリリースまたはGPT-4O-MINIのいずれか。
  • 機能:長いニュース記事を簡潔な要約に変換し、コンテンツの本質をキャプチャします。
  • 利点:重要な情報を保存しながら、読み取り時間を短縮します。

翻訳

  • 使用されているモデル:翻訳タスクには同じOpenAIモデルが採用されています。
  • 機能:英語の概要を、言語精度が高いパンジャブ語に変換されます。
  • 利点:ネイティブのパンジャブ語スピーカーがコンテンツを快適に消費できるようにします。

テキストからスピーチ(TTS)変換

翻訳されたテキストをスピーチに変換するために、NewsVoiceaiはパンジャブをサポートする高度なTTS APIを利用します。

  • 使用するAPI :Sarvam TTS APIまたはパンジャブをサポートするその他のプロバイダー。
  • 特徴:
    • 自然な音の声:心地よいリスニング体験を提供します。
    • 大規模なテキスト処理:管理可能なチャンクに分割することで、長いテキストを処理できます。
  • 利点:聴覚学習を好む人や視覚障害を持っている人がニュースにアクセスしやすくします。

流線

Streamlitは、NewsVoice用のインタラクティブなWebインターフェイスを作成するために使用されるオープンソースアプリフレームワークです。

  • 特徴:
    • 使いやすい:PythonスクリプトをWebアプリに変えるプロセスを簡素化します。
    • インタラクティブウィジェット:ユーザーがアプリとシームレスに対話できるようにします。
    • 迅速な開発:迅速なプロトタイピングと展開を可能にします。
  • 利点:ユーザーがニュースを簡単にフェッチ、処理、聴くためのユーザーフレンドリーなプラットフォームを提供します。

結論

NewsVoiceaiは、ニュースをよりアクセスしやすくし、個々のニーズに合わせて調整するための重要なステップを表しています。 Openaiの高度なAIテクノロジーを統合し、The Guardianのような信頼できるニュースソースを活用することにより、アプリは私たちがニュースを消費する方法を変換します。

  • アクセシビリティ:言語の障壁を分解し、視覚障害のある人に対応します。
  • 効率:簡潔な要約を提供することで時間を節約します。
  • 便利さ:オーディオ再生を通じてハンズフリーの消費を可能にします。

テクノロジーが進化し続けるにつれて、NewsVoiceのようなアプリケーションは、情報へのアクセスを民主化する上で重要な役割を果たします。

今日試してみてください:NewsVoice Githubリポジトリ

謝辞

  • ガーディアンAPI:ライブニュースコンテンツを提供するため。
  • Openai:要約と翻訳で使用される強力な言語モデル用。
  • Sarvam TTS API:パンジャブ語でテキストからスピーチへの変換を可能にするため。
  • Streemlit Community:アプリのインターフェイスを強化するオープンソースフレームワークの場合。

追加のリソース

  • Openaiドキュメント:Openaiドキュメント
  • ストリームライトドキュメント:retrylitdドキュメント
  • ガーディアンAPI:ガーディアンオープンプラットフォーム
  • Sarvam Text-to-Speech API:Sarvam TTSドキュメント

キーテイクアウト

  • Newsvoiceaiは、ライブ英語のニュース記事の簡潔なパンジャブ語の概要を提供することにより、ニュース消費に革命をもたらします。
  • このアプリケーションは、AIを搭載した要約、翻訳、テキストへのスピーチテクノロジーを使用して、ニュースをリアルタイムでアクセスできるようにします。
  • NewsVoiceAiは、外出先でユーザーを救う、言語アクセシビリティ、ハンズフリーのリスニングをサポートしています。
  • このシステムは、Seamlessユーザーエクスペリエンスのために、Guardian API、OpenaiのGPTモデル、Sarvam TTS、およびRimelitを統合します。
  • Newsvoiceaiは、忙しい専門家、通勤者、および現在のニュースに簡単にアクセスする必要がある視覚障害のある人に最適です。

よくある質問

Q1。 Newsvoiceaiとは何ですか?それは私にどのように利益をもたらしますか?

A. NewsVoiceaiは、ライブ英語のニュース記事をパンジャブ語のオーディオサマリに変換するAIを搭載したアプリケーションです。時間を節約し、言語の障壁を破り、アクセスしやすく、ハンズフリーの方法を提供してニュースを消費することでユーザーに利益をもたらします。

Q2。 NewsVoiceを使用するには、技術的な専門知識が必要ですか?

A.アプリケーションをエンドユーザーとして使用するためには、技術的な専門知識は必要ありません。ユーザーフレンドリーなインターフェイスと交流して、ニュースの要約を取得、読み、聞くことができます。ただし、アプリケーションを構築またはカスタマイズする場合は、PythonとAPI統合の基本的な知識が役立ちます。

Q3。 Newsvoiceaiは自由に使用できますか?

A. NewsVoiceAiアプリケーション自体はオープンソースであり、無料で使用できます。ただし、OpenaiやSarvam TTSなどの特定のAPIにアクセスするには、特に無料の使用層を超えてコストが伴う場合があります。使用する予定の各APIサービスの価格設定の詳細を確認することが重要です。ただし、ローカルで使用する予定がある場合は、Ollamaを使用してオープンソースLLMを使用できます。

Q4。翻訳と要約はどれくらい正確ですか?

A. NewsVoiceaiは、言語タスクの高精度で知られるOpenaiの高度なAIモデルを利用しています。翻訳と概要は一般に信頼性がありますが、言語処理のニュアンスのために完璧ではない場合があります。フィードバックは、将来のバージョンの改善を支援してくれます。

Q5。記事の数をカスタマイズするか、特定のニューストピックを選択できますか?

A.はい、アプリケーションでは、サイドバースライダーを介してフェッチする記事の数を選択できます。現在、トピックの選択は利用できませんが、将来の強化には、カテゴリまたはキーワードごとにニュースをフィルタリングする機能が含まれる場合があります。

この記事に示されているメディアは、Analytics Vidhyaが所有しておらず、著者の裁量で使用されています。

以上がNewsvoiceaiで簡単にAIニュースを入手してくださいの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。