OpenBB LLM 代理
正在进行中。
这是一个利用LLM和OpenBB平台创建金融分析师代理的项目,这些代理可以自主执行金融研究,并使用最新数据回答问题。这是通过代理利用函数调用与OpenBB平台交互而实现的。
安装
目前,我们支持Python 3.10+版本。我们将在不久的将来添加对更多Python版本的支持。
openbb-agents
可作为PyPI包使用:
pip install openbb-agents --upgrade
设置
OpenAI API密钥
要使用OpenBB LLM代理,你需要一个OpenAI API密钥。请按以下步骤操作:
- 获取API密钥:在OpenAI注册并获取你的API密钥。
- 设置环境变量:将以下内容添加到你的shell配置文件(
.bashrc
、.zshrc
等)中:export OPENAI_API_KEY="你的openai_api密钥"
OpenBB平台数据提供商凭证
要使用OpenBB平台功能,你需要配置必要的数据提供商API凭证。这可以通过以下两种方式之一完成:
- 本地配置:在
~/.openbb_platform/user_settings.json
文件中指定你的凭证。详细说明请参阅本地环境设置指南。 - OpenBB Hub:通过你的OpenBB Hub账户创建个人访问令牌(PAT)。然后可以将此PAT作为参数传递给代理。
入门
强烈建议查看入门笔记本,它会带你大致了解openbb-agents
的功能。
使用方法
>>> from openbb_agents.agent import openbb_agent
>>> result = openbb_agent("TSLA的当前市值是多少?") # 将打印一些日志以显示进度
>>> print(result)
- TSLA(特斯拉公司)的当前市值约为695,833,798,800.00美元。
- 这个数字基于2024年1月15日的最新可用数据。
- 市值是通过将当前股价(218.89美元)乘以流通股数(3,178,920,000)计算得出的。
要使用存储在OpenBB Hub中的数据提供商凭证,你可以直接将OpenBB Hub PAT传递给代理:
>>> openbb_agent("AAPL的股价是多少?", openbb_pat="<openbb-hub-pat>")
**注意:**代理会根据可用的数据提供商凭证动态配置自身。因此,如果没有适当的API密钥,某些数据源和功能可能无法访问。默认情况下,yfinance
作为数据提供商包含在内,不需要API密钥。有关功能及其支持的数据提供商的完整列表,请参阅OpenBB平台文档。
查询可以相对复杂:
>>> openbb_agent("使用最新可用数据对AMZN进行基本面财务分析。你发现了什么有趣的内容?")
查询也可以有时间依赖性(即需要先前子问题的答案来回答后面的子问题):
>>> openbb_agent("TSLA的同行企业有哪些?它们各自的市值是多少?请按市值降序返回结果。")
代理也提供async
变体:
>>> from openbb_agents.agent import aopenbb_agent
>>> await aopenbb_agent("TSLA的当前市值是多少?")
开发
- 使用
poetry
创建一个新的虚拟环境 poetry install
代码检查和格式化
我们目前正在尝试使用ruff
作为black
、isort
和pylint
的替代品。
你可以按以下方式运行代码检查:
ruff check
或修复代码检查错误:
ruff check --fix
或格式化代码:
ruff format
我们还将这些包含在pre-commit
中,如果你希望在提交代码前自动运行这些检查。
你可以按以下方式安装pre-commit
钩子:
pre-commit install
测试
我们使用pytest
作为测试运行器:
pytest -n 8 tests/