引言
在投资领域,SEC(美国证券交易委员会)文件是投资者和金融专业人士获取公司信息的关键资源。这些文件揭示了公司的财务状况、经营成果以及其他重要信息。本篇文章将介绍如何使用Kay.ai和LangChain,通过智能检索方式快速获取并分析这些文件中的数据。
主要内容
1. 什么是SEC文件?
SEC文件是公司提交给美国证券交易委员会的财务数据或其他正式文件。公共公司、某些内部人士以及经纪交易商需要定期进行SEC文件的提交。投资者和金融专业人士依赖这些文件来评估公司的投资价值。
2. 使用Kay.ai获取SEC文件数据
在这个示例中,我们将使用Kay.ai提供的API来检索公司提交的财务数据。
2.1 安装和设置
首先,您需要安装kay包并获取一个API密钥(可以在 kay.ai 免费获取)。将此密钥设置为环境变量KAY_API_KEY。
# 设置Kay和OpenAI的API密钥
from getpass import getpass
import os
KAY_API_KEY = getpass("Enter your Kay API Key: ")
OPENAI_API_KEY = getpass("Enter your OpenAI API Key: ")
os.environ["KAY_API_KEY"] = KAY_API_KEY
os.environ["OPENAI_API_KEY"] = OPENAI_API_KEY
3. 创建检索链
使用LangChain库,我们可以创建一个检索链来提取所需信息。
from langchain.chains import ConversationalRetrievalChain
from langchain_community.retrievers import KayAiRetriever
from langchain_openai import ChatOpenAI
# 使用API代理服务提高访问稳定性
model = ChatOpenAI(model="gpt-3.5-turbo")
retriever = KayAiRetriever.create(
dataset_id="company", data_types=["10-K", "10-Q"], num_contexts=6
)
qa = ConversationalRetrievalChain.from_llm(model, retriever=retriever)
4. 查询和结果分析
questions = [
"What are patterns in Nvidia's spend over the past three quarters?",
]
chat_history = []
for question in questions:
result = qa({"question": question, "chat_history": chat_history})
chat_history.append((question, result["answer"]))
print(f"-> **Question**: {question} \n")
print(f"**Answer**: {result['answer']} \n")
这段代码展示了如何提问和解析Nvidia在过去三个季度的支出模式。
常见问题和解决方案
1. 网络访问问题
由于某些地区的网络限制,开发者可能需要考虑使用API代理服务来改善访问的稳定性。
2. 数据准确性
确保您使用的是最新的API和数据集,以获得准确的结果。
总结和进一步学习资源
通过本文,我们学习了如何使用Kay.ai和LangChain对SEC文件进行智能检索。这种方法可以显著提高数据获取的效率和准确性。您可以查阅以下资源以获得更多信息:
参考资料
如果这篇文章对你有帮助,欢迎点赞并关注我的博客。您的支持是我持续创作的动力!
---END---