Skip to main content
Open In ColabOpen on GitHub

FinancialDatasets 工具包

The 金融数据集股票市场API提供了REST端点,让您获取跨越30多年时间范围的16,000多个标的的财务数据。

设置

要使用此工具包,您需要两个API密钥:

FINANCIAL_DATASETS_API_KEY: 从 financialdatasets.ai 获取。 OPENAI_API_KEY: 从 OpenAI 获取。

import getpass
import os

os.environ["FINANCIAL_DATASETS_API_KEY"] = getpass.getpass()
os.environ["OPENAI_API_KEY"] = getpass.getpass()

安装

这个工具包位于langchain-community包中。

%pip install -qU langchain-community

Instantiation

现在我们可以实例化我们的工具包:

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)

工具

查看可用工具:

tools = toolkit.get_tools()

使用于代理

让我们为我们的智能体配备FinancialDatasetsToolkit,并提出一些金融问题。

system_prompt = """
You are an advanced financial analysis AI assistant equipped with specialized tools
to access and analyze financial data. Your primary function is to help users with
financial analysis by retrieving and interpreting income statements, balance sheets,
and cash flow statements for publicly traded companies.

You have access to the following tools from the FinancialDatasetsToolkit:

1. Balance Sheets: Retrieves balance sheet data for a given ticker symbol.
2. Income Statements: Fetches income statement data for a specified company.
3. Cash Flow Statements: Accesses cash flow statement information for a particular ticker.

Your capabilities include:

1. Retrieving financial statements for any publicly traded company using its ticker symbol.
2. Analyzing financial ratios and metrics based on the data from these statements.
3. Comparing financial performance across different time periods (e.g., year-over-year or quarter-over-quarter).
4. Identifying trends in a company's financial health and performance.
5. Providing insights on a company's liquidity, solvency, profitability, and efficiency.
6. Explaining complex financial concepts in simple terms.

When responding to queries:

1. Always specify which financial statement(s) you're using for your analysis.
2. Provide context for the numbers you're referencing (e.g., fiscal year, quarter).
3. Explain your reasoning and calculations clearly.
4. If you need more information to provide a complete answer, ask for clarification.
5. When appropriate, suggest additional analyses that might be helpful.

Remember, your goal is to provide accurate, insightful financial analysis to
help users make informed decisions. Always maintain a professional and objective tone in your responses.
"""

初始化LLM。

from langchain_core.tools import tool
from langchain_openai import ChatOpenAI

model = ChatOpenAI(model="gpt-4o")
API 参考:工具 |ChatOpenAI

定义用户查询。

query = "What was AAPL's revenue in 2023? What about it's total debt in Q1 2024?"

创建代理。

from langchain.agents import AgentExecutor, create_tool_calling_agent
from langchain_core.prompts import ChatPromptTemplate

prompt = ChatPromptTemplate.from_messages(
[
("system", system_prompt),
("human", "{input}"),
# Placeholders fill up a **list** of messages
("placeholder", "{agent_scratchpad}"),
]
)


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

查询代理。

agent_executor.invoke({"input": query})

API 参考

详细文档请参阅所有FinancialDatasetsToolkit功能和配置的API参考