今日のペースの速い世界では、情報を提供することは非常に重要ですが、長いニュース記事を読む時間を見つけることは困難です。さらに、母国語でニュースを消費すると、理解と関与が向上します。 Newsvoiceaiを入力してください。NewsVoiceAiは、ニュースにアクセスする方法に革命をもたらすために設計された革新的なアプリケーションです。人工知能の力を活用することにより、Newsvoiceaiはライブ英語のニュース記事を簡潔なパンジャブ語のオーディオサマリに変換し、外出中に更新されたままにすることをこれまで以上に容易にします。
この包括的な記事では、Newsvoiceaiの仕組みを掘り下げ、その背後にある最先端のテクノロジーを探り、同様のアプリケーションを作成する方法に関する段階的なガイドを提供し、このアプリケーションを生命に導く実際のコードを統合します。
この記事は、データサイエンスブログソンの一部として公開されました。
長い記事を読んだり、言語の障壁に苦しんでいることもなく、朝の通勤中に最新のニュースに追いつくことを想像してください。 NewsVoiceは、特に母国語でコンテンツを消費することを好むパンジャブ語を話す聴衆にとって、ニュースをよりアクセスしやすくしたいという願望から生まれました。アプリケーションはいくつかのギャップを橋渡しします:
あなたが忙しい専門家でも、通勤者でも、視覚障害のある人であろうと、Newsvoiceaiは情報を提供するシームレスな方法を提供します。
NewsVoiceの段階的なワークフローを調べて、コードスニペットを統合して各部分を説明しましょう。
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}") 戻る []
説明:
各記事について、完全なコンテンツを取得して要約のために準備します。
#記事コンテンツを取得する機能 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"、 "")ボディのブロックのため) なしなし
説明:
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() 概要を返す、翻訳
説明:
翻訳されたテキストは、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)
説明:
ユーザーインターフェイスは、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__"の場合: 主要()
説明:
このリポジトリのreadmeにアップロードされた録音のオーディオ品質をチェックしてください - newsvoiceai
NewsVoiceの構築と実行に成功するには、次のサービスからAPIキーを取得する必要があります。
以下は、これらのAPIキーを取得する方法に関する段階的なガイドです。
Guardianは、開発者がニュース記事の膨大なリポジトリからコンテンツにアクセスできるようにする無料のAPIを提供します。
Openaiは、GPT-4Oなどの強力な言語モデルを提供しています。これは、NewsVoiceaiでのテキストの要約と翻訳に使用されています。
請求情報:
Sarvam AIは、パンジャブ語を含む複数のインド言語をサポートするテキストからスピーチへのサービスを提供しており、約1,000ポンドの無料クレジットがあります。それをうまく利用してください!
以下のNewsVoiceの背後にあるテクノロジーについて説明しましょう。
ガーディアンAPIは、豊富なライブニュース記事とメタデータへのアクセスを提供します。このAPIを統合することにより、NewsVoiceは、ユーザーが最新かつ関連するニュースコンテンツを受け取ることを保証します。
NewsVoiceaiは、Openaiの強力な多言語モデルを活用して、要約と翻訳の両方のタスクを処理します。
翻訳されたテキストをスピーチに変換するために、NewsVoiceaiはパンジャブをサポートする高度なTTS APIを利用します。
Streamlitは、NewsVoice用のインタラクティブなWebインターフェイスを作成するために使用されるオープンソースアプリフレームワークです。
NewsVoiceaiは、ニュースをよりアクセスしやすくし、個々のニーズに合わせて調整するための重要なステップを表しています。 Openaiの高度なAIテクノロジーを統合し、The Guardianのような信頼できるニュースソースを活用することにより、アプリは私たちがニュースを消費する方法を変換します。
テクノロジーが進化し続けるにつれて、NewsVoiceのようなアプリケーションは、情報へのアクセスを民主化する上で重要な役割を果たします。
今日試してみてください:NewsVoice Githubリポジトリ
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 サイトの他の関連記事を参照してください。