跳到主要內容

FinancialDatasets 工具組

金融數據集股票市場 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

實例化

現在我們可以實例化我們的工具組

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 參考:tool | 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 參考


此頁面是否有幫助?