首頁 >科技週邊 >人工智慧 >與newsvoiceai快速獲取AI新聞

與newsvoiceai快速獲取AI新聞

Joseph Gordon-Levitt
Joseph Gordon-Levitt原創
2025-03-16 09:56:10510瀏覽

在當今快節奏的世界中,保持知情至關重要,但是找時間閱讀冗長的新聞文章可能具有挑戰性。此外,用母語食用新聞可以增強理解和參與度。輸入Newsvoiceai,這是一個創新的應用程序,旨在徹底改變我們訪問新聞的方式。通過利用人工智能的力量,Newsvoiceai將現場的英語新聞文章轉變為簡潔的旁遮普音頻摘要,這使得在旅途中保持更新比以往任何時候都更容易。

在這篇全面的文章中,我們將深入研究Newsvoiceai的運作方式,探索其背後的尖端技術,提供有關如何創建類似應用程序的分步指南,並整合將此應用程序帶入生活的實際代碼。

學習成果

  • 了解新聞雜誌如何利用AI將現場新聞文章轉變為簡潔的本地語言音頻摘要。
  • 了解Newsvoiceai背後的技術,包括Guardian API,OpenAI模型以及文本到語音轉換。
  • 獲取動手知識,以整合API並使用簡化來構建交互式應用程序。
  • 發現如何使用AI驅動的模型來總結並將英語新聞文章轉化為旁遮普語。
  • 探索通過實時新聞獲取和音頻輸出來構建多語言新聞摘要的過程。

本文作為數據科學博客馬拉鬆的一部分發表

目錄

  • 什麼是Newsvoice?
  • NewsVoice如何工作?
  • 如何獲得API?
  • Newsvoice背後的技術
  • 結論
  • 常見問題

什麼是Newsvoice?

想像一下,在您的早晨通勤期間趕上最新消息,而不必閱讀冗長的文章或與語言障礙鬥爭。 Newsvoice源於使新聞更容易獲得的願望,尤其是對於喜歡旁遮普語的聽眾而言,他們喜歡用母語消費內容。該應用程序彌合了幾個空白:

  • 時間限制:提供簡潔的摘要,節省用戶的時間。
  • 語言可訪問性:將內容轉化為旁遮普人的母語者。
  • 易於消費:將文本轉換為語音,允許免費聆聽。

無論您是忙碌的專業人士,通勤者還是視覺障礙的人,Newsvoiceai都會提供一種無縫的方式來保持知情。

NewsVoice的主要功能

  • 實時新聞獲取:使用其API,從衛報(Guardian)等知名消息來源汲取了最新的新聞文章。
  • AI驅動的摘要:利用從OpenAI到簡短摘要的高級AI模型,將冗長的文章凝結為冗長的文章。
  • 旁遮普翻譯:通過將摘要準確地翻譯成旁遮普語,確保區域可訪問性。
  • 文本到語音轉換:使用最先進的TTS技術生成清晰而自然的旁遮普音頻。
  • 用戶友好的界面:使用簡化構建,提供交互式和直觀的用戶體驗。

NewsVoice如何工作?

讓我們探索新聞雜誌的分步工作流程,集成代碼片段以說明每個部分。

步驟1:獲取新聞文章

NewsVoiceAi使用Guardian API,根據預定義的標准或用戶喜好檢索了頂級實時新聞文章。

執行

#功能可從監護人API獲取新聞文章
def fetch_news(api_key):
    從theguardian導入theguardian_content
    content = theguardian_content.content(api = api_key)
    json_content = content.get_content_response()
    嘗試:
        返回content.get_results(json_content)
    除了KeyError為E:
        St.Error(f“錯誤獲取文章:{e}”)
        返回 []

解釋:

  • 我們使用TheGuardian庫與Guardian API進行互動。
  • Fetch_News功能檢索文章並處理任何潛在錯誤。

步驟2:獲取文章內容

對於每篇文章,我們獲取全部內容以準備摘要。

執行

#功能獲取文章內容
def fetch_article_content(Artics_url,API_KEY):
    響應= requests.get(article_url,params = {“ api-key”:api_key,“ show-blocks”:“ as all”})
    如果響應。STATUS_CODE== 200:
        atrest_data = response.json()
        body = artical_data.get(“響應”,{})。get(“ content”,{})。get(“ blocks”,{})。get(“ body”,[])
        如果身體:
            返回“” .join(block.get(“ bodytextsummary”,“”)用於身體的塊)
    沒有返回

解釋:

  • 該函數將GET請求發送到帶有參數的文章的API URL,以檢索全部內容。
  • 它解析了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(
        型號=“ gpt-4”, 
        消息= [
            {“角色”:“系統”,“ content”:“您是一個有用的助手,總結了新聞文章。
            {“角色”:“用戶”,“ content”:f“總結2-3個句子中的以下文章內容:\ n \ n {content}”}
        ],,
        max_tokens = 100
    )
    summary = summary_response.choices [0] .message.content.strip()
    
    #翻譯提示
    translation_response = openai.chatcompletion.create(
        型號=“ gpt-3.5-turbo”,
        消息= [
            {“角色”:“系統”,“ content”:“您是專業翻譯者,專門從事英語至旁遮普語的翻譯。
            {“角色”:“用戶”,“ content”:f“將以下文本轉換為punjabi:\ n \ n {summary}”}
        ],,
        max_tokens = 150
    )
    translation = translation_response.choices [0] .message.content.strip()
    
    返回摘要,翻譯

解釋:

  • 我們使用提供的密鑰初始化OpenAI API。
  • 匯總_and_translate函數首先總結了文章內容。
  • 然後,將摘要轉化為旁遮普語。
  • 這兩個操作都使用適當的提示使用聊天範圍端點。

步驟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-to-spech”
    
    #將文本分成多達500個字符的塊
    塊= [punjabi_text [i:i 500]在範圍內(0,len(punjabi_text),500)]]
    audio_clips = []
    
    對於我,枚舉(塊)中的塊:
        有效載荷= {
            “輸入”:[塊],
            “ target_language_code”:“ pa-in”,
            “發言人”:“ Meera”,
            “音調”:0,
            “速度”:1.0,
            “響亮”:1.2,
            “ specy_sample_rate”:8000,
            “ enable_preprocessing”:是的,
            “模型”:“ Bulbul:V1”
        }
        標題= {
            “ content-type”:“ application/json”,
            “ api-subscription-key”:sarvam_api_key
        }
    
        響應= requests.post(url,標頭=標題,json =有效載荷)
    
        如果響應。STATUS_CODE== 200:
            audio_base64 = response.json()。get(“ audios”)
            如果AUDIO_BASE64和LEN(AUDIO_BASE64)> 0:
                AUDIO_CLIPS.APPEND(AUDIO_BASE64 [0])
            別的:
                St.Error(f“未找到零件的音頻{i 1}。”)
                沒有返回
        別的:
            St.Error(f“無法將塊{i 1}轉換為語音:{response.status_code}  -  {response.text}”)
            沒有返回
    
    #將所有base64音頻塊組合到一個字符串中
    返回“” .join(audio_clips)

解釋:

  • 該函數通過將文本分成塊來處理API的字符限制。
  • 它將每個塊發送到TTS API並收集基本64編碼的音頻。
  • 音頻塊被串聯以形成完整的音頻文件。

步驟5:構建流線接口

用戶界面是使用簡報構建的,提供了交互式體驗。

執行

#主精簡應用
def main():
    st.set_page_config(
        page_title =“ newsvoice:多語言新聞摘要”,
        page_icon =“?”,
        佈局=“寬”
    )
    
    #用於改進樣式的自定義CSS
    St.MarkDown(“”
    
    .main title {
        字體大小:36px;
        顏色:#2C3E50;
        文字平衡:中心;
        邊緣底:30px;
    }
    。
        顏色:#3498DB;
        邊界底:2PX實心#3498DB;
        填充底:10px;
    }
    
    “”,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.Spinner(“獲取和處理新聞...”):
            #獲取新聞文章
            articles = fetch_news(guardian_api_key)
    
            如果不是文章:
                聖瓦寧(“找不到文章。請再試一次。”)
            別的:
                #流程最佳的文章數量
                對於文章中的文章[:num_articles]:
                    English_title = Article.get('WebTitle','無標題')
                    atrest_url = action.get('apiurl')
    
                    #為每篇文章創建一個容器
                    與St.Container():
                        聖小牛(English_title)
    
                        #獲取文章內容
                        artern_content = fetch_article_content(aptrict_url,guardian_api_key)如果actits_url其他
                        
                        如果不是Artics_content:
                            St.Write(“本文沒有內容。”)
                            繼續
    
                        嘗試:
                            #總結和翻譯
                            摘要,punjabi_translation = summarize_and_translate(article_content,openai_api_key)
                            
                            #顯示英語摘要
                            St.MarkDown(“ **英語摘要:**”)
                            聖沃特(摘要)
    
                            #顯示旁遮普翻譯
                            St.MarkDown(“ **旁遮普翻譯:**”)
                            St.Write(Punjabi_translation)
    
                            #文本到語音
                            St.Write(“生成旁遮普音頻...”)
                            audio_base64 = punjabi_text_to_speech(punjabi_translation,sarvam_api_key)
    
                            如果AUDIO_BASE64:
                                audio_bytes = base64.b64decode(audio_base64)
                                St.Audio(Audio_bytes,格式=“音頻/wav”)
                            
                            #在文章之間添加一個分隔線
                            St.MarkDown(“ ---”)
    
                        除例外為E:
                            St.Error(f“錯誤處理文章:{e}”)
    
    # 頁尾
    St.MarkDown(“”
    ---
    由Guardian API,OpenAI和Sarvam TTS提供支持
    ”“”)
    
#運行簡化應用程序
如果__name__ ==“ __ -main __”:
    主要的()

解釋:

  • 主函數設置了簡化應用程序,包括頁面配置和样式。
  • 側邊欄允許用戶選擇文章數量。
  • 主要區域顯示被提取的新聞,摘要,翻譯和音頻。
  • 錯誤處理可確保應用程序在處理過程中通知用戶任何問題。

與newsvoiceai快速獲取AI新聞

查看該存儲庫的錄音中的錄音中的音頻質量 - newsvoiceai

如何獲得API?

要成功構建和運行NewsVoice,您需要從以下服務中獲取API鍵:

  • 監護人開放平台API
  • Openai API
  • Sarvam TTS API

以下是有關如何獲取這些API鍵的分步指南。

監護人開放平台API

監護人提供了一個免費的API,該API允許開發人員從其廣泛的新聞文章存儲庫中訪問內容。

獲取Guardian 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背後的技術

現在讓我們討論下面的新聞雜誌背後的技術:

監護人API

Guardian API提供了大量現場新聞文章和元數據的訪問權限。通過集成此API,NewsVoice確保用戶收到最新和最相關的新聞內容。

  • 可自定義的查詢:基於各節,標籤或搜索詞的文章。
  • Rich Metadata :訪問文章的頭條新聞,作者,出版日期等。
  • 可靠性:具有全球報導的可信賴新聞來源。

Openai的GPT型號

Newsvoiceai利用Openai強大的多語言模型來處理摘要和翻譯任務。

摘要

  • 使用的模型:根據速度和準確性之間的所需平衡,GPT-4O的2024年11月發布或GPT-4O-Mini。
  • 功能:將冗長的新聞文章轉換為簡潔的摘要,捕獲內容的本質。
  • 好處:減少閱讀時間,同時保留關鍵信息。

翻譯

  • 使用的模型:使用相同的OpenAI模型進行翻譯任務。
  • 功能:將英語摘要轉換為旁遮普語,具有高語言精度。
  • 好處:使本地旁遮普語者可以舒適地消費內容。

文本到語音(TTS)轉換

為了將翻譯文本轉換為語音,NewsVoiceAi使用了支持旁遮普語的高級TTS API。

  • 使用的API :SARVAM TTS API或支持旁遮普語的任何其他提供商。
  • 特徵:
    • 自然的聲音:提供愉快的聆聽體驗。
    • 大型文本處理:能夠通過將其分成可管理的塊來處理冗長的文本。
  • 好處:讓那些喜歡聽覺學習或視覺障礙的人可以訪問新聞。

簡化

Spartlit是一種開源應用程序框架,用於創建新聞雜誌的交互式Web界面。

  • 特徵:
    • 易於使用:簡化將Python腳本轉換為Web應用程序的過程。
    • 交互式小部件:允許用戶無縫與應用程序進行交互。
    • 快速開發:啟用快速的原型製作和部署。
  • 好處:提供一個用戶友好的平台,供用戶毫不費力地獲取,處理和收聽新聞。

結論

Newsvoiceai是使新聞更容易訪問和根據個人需求量身定制的重要一步。通過整合Openai的高級AI技術和利用可靠的新聞來源,例如Guardian,該應用程序改變了我們消耗新聞的方式:

  • 可訪問性:分解語言障礙並迎合那些視覺障礙的人。
  • 效率:通過提供簡潔的摘要來節省時間。
  • 便利:允許通過音頻播放進行免提消費。

隨著技術的不斷發展,NewsVoice等應用程序將在使信息訪問訪問民主化方面發揮至關重要的作用。

立即嘗試:NewsVoice GitHub存儲庫

致謝

  • 監護人API:提供實時新聞內容。
  • Openai:用於摘要和翻譯中使用的強大語言模型。
  • SARVAM TTS API:用於在旁遮普語中啟用文字轉換。
  • 簡化社區:用於為應用程序接口提供動力的開源框架。

其他資源

  • Openai文檔:OpenAI文檔
  • 簡化文檔:簡化文檔
  • 監護人API:監護人開放平台
  • SARVAM文本到語音API:SARVAM TTS文檔

關鍵要點

  • Newsvoiceai通過提供現場英語新聞文章的簡潔旁遮普音頻摘要來徹底改變新聞消費。
  • 該應用程序利用AI驅動的摘要,翻譯和文本到語音技術,以實時訪問新聞。
  • NewsVoiceAi支持省時,語言可訪問性以及隨時隨地的用戶提供免費的聆聽。
  • 該系統集成了Guardian API,OpenAI的GPT型號,Sarvam TTS和簡化,以獲得無縫的用戶體驗。
  • Newsvoiceai非常適合忙碌的專業人員,通勤者以及需要輕鬆訪問當前新聞的視覺障礙的人。

常見問題

Q1。什麼是newsvoiceai,它如何使我受益?

A. Newsvoiceai是一個由AI驅動的應用程序,可將現場英語新聞文章轉換為簡潔的旁遮普音頻摘要。它可以節省時間,打破語言障礙並提供一種無障礙,免提的方式來消費新聞,從而使用戶受益。

Q2。我需要任何技術專業知識來使用新聞報嗎?

答:使用該應用程序作為最終用戶不需要技術專長。您可以簡單地與用戶友好的界面進行交互,以獲取,閱讀和收聽新聞摘要。但是,如果您想構建或自定義應用程序,則Python和API集成的基本知識將有所幫助。

Q3。 NewsVoiceAi可以免費使用嗎?

答:NewsVoiceAi應用程序本身是開源的,可以免費使用。但是,訪問OpenAI和Sarvam TT等某些API可能會涉及成本,尤其是超出其免費使用層。重要的是要查看您計劃使用的每種API服務的定價細節。雖然,如果您打算在本地使用它,則可以使用Ollama使用開源LLM。

Q4。翻譯和摘要的準確性如何?

A. NewsVoiceai利用OpenAI的高級AI模型,以其語言任務的高精度而聞名。儘管翻譯和摘要通常是可靠的,但由於語言處理的細微差別,它們可能並不完美。歡迎反饋以幫助改善未來版本。

Q5。我可以自定義文章數量或選擇特定的新聞主題嗎?

答:是的,該應用程序允許您選擇通過側邊欄滑塊獲取的文章數量。當前,主題選擇不可用,但是將來的增強功能可能包括按類別或關鍵字過濾新聞的能力。

本文所示的媒體不由Analytics Vidhya擁有,並由作者酌情使用。

以上是與newsvoiceai快速獲取AI新聞的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn