首页 > 科技周边 > 人工智能 > 与newsvoiceai快速获取AI新闻

与newsvoiceai快速获取AI新闻

Joseph Gordon-Levitt
发布: 2025-03-16 09:56:10
原创
466 人浏览过

在当今快节奏的世界中,保持知情至关重要,但是找时间阅读冗长的新闻文章可能具有挑战性。此外,用母语食用新闻可以增强理解和参与度。输入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
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板