使用AskNews动态集成最新新闻到你的LLM

在当今快速发展的信息时代,实时获取最新新闻并将其有效整合到大语言模型(LLM)中是提高AI应用能力的关键步骤。AskNews提供了一种强大的解决方案,通过一个简单的自然语言查询,将最新的全球或历史新闻注入到任何LLM中。AskNews每天丰富超过30万篇文章,并将其翻译、摘要、实体提取、索引到热/冷向量数据库中。这些数据库提供低延迟的访问,为你的查询返回经过优化的提示字符串,涵盖所有重要的新闻信息,使得无需自行管理新闻RAG(Retrieve, Augment, Generate),并有效传达浓缩的新闻信息到LLM。

技术背景介绍

AskNews专注于透明度,监控并多样化覆盖全球数百个国家、13种语言和5万个来源。用户可以通过AskNews透明度仪表板跟踪其源覆盖情况。集成AskNews的步骤简单,主要依赖于langchain-community包和asknews包。

核心原理解析

AskNews通过向量数据库快速响应查询,为你的LLM提供最相关的新闻丰富内容。这意味着你可以专注于LLM的应用而非数据管理和提取。

代码实现演示

以下是如何设置和使用AskNews进行新闻查询的示例代码:

import getpass
import os

# 设置AskNews API凭证
os.environ["ASKNEWS_CLIENT_ID"] = getpass.getpass(prompt="Enter your AskNews client ID: ")
os.environ["ASKNEWS_CLIENT_SECRET"] = getpass.getpass(prompt="Enter your AskNews client secret: ")

# 导入必要的包
from langchain_community.retrievers import AskNewsRetriever
from datetime import datetime, timedelta

# 设置时间范围
start = (datetime.now() - timedelta(days=7)).timestamp()
end = datetime.now().timestamp()

# 创建一个AskNews检索器并设置类别和搜索方法
retriever = AskNewsRetriever(
    k=3,  # 返回最相关的3篇文章
    categories=["Business", "Technology"],
    start_timestamp=int(start),
    end_timestamp=int(end),
    method="kw",  # 关键字搜索
    offset=10,  # 分页结果
)

# 执行查询
articles = retriever.invoke("federal reserve S&P500")
for article in articles:
    print(article.page_content)

该代码设置了AskNews API凭证并实例化了一个检索器,可以根据指定的时间和类别进行新闻搜索。然后它执行查询并输出包含相关内容的文档结构。

应用场景分析

AskNews可以用于实时获取最新的市场信息、全球事件或特定领域的新闻并将其注入到你的LLM中。这对于金融预测、市场分析、政策影响分析等应用场景尤为重要。

实践建议

  • 确保API凭证的安全性,不要在源码中明文存储。
  • 为高效的数据处理设置合理的时间范围和返回文档数量。
  • 结合AskNews的透明度仪表板优化数据源选择。

如果遇到问题欢迎在评论区交流。
—END—

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值