LLMs之openbb-agents:openbb-agents的简介、安装和使用方法、案例应用之详细攻略
目录
查询也可以有时间依赖性(即需要先前子问题的答案才能回答后续子问题):
openbb-agents的简介
2024年5月,OpenBB LLM Agents是一个利用大型语言模型(LLMs)和开放BB平台(OpenBB Platform)来创建能够自主进行金融研究并使用最新数据回答问题的金融分析师代理的项目。这是通过代理使用函数调用来与开放BB平台互动实现的。开放BB语言模型代理 (OpenBB LLM Agents) 开发中。
OpenBB LLM Agents是一个正在开发中的项目,它结合了大型语言模型(LLM)和OpenBB平台,旨在创建能够自主执行金融研究并使用最新数据回答问题的金融分析师代理。 该项目利用代理的功能调用来与OpenBB平台进行交互。
OpenBB LLM Agents的目标是构建能够处理复杂金融问题的AI代理。通过将LLM的自然语言处理能力与OpenBB平台提供的丰富金融数据和分析功能相结合,该项目旨在为金融分析和研究提供一种新的、更高效的方式。
OpenBB LLM Agents是一个很有前景的项目,它将LLM的强大自然语言处理能力与OpenBB平台的金融数据和分析功能相结合,为金融领域的研究和分析提供了新的可能性。 其模块化设计和对复杂查询的支持使其具有很高的实用价值。
GitHub地址:GitHub - OpenBB-finance/openbb-agents: R&D playground to play with agents and OpenBB
1、特点
>> 结合LLM和OpenBB平台:该项目的核心在于将大型语言模型(LLM)与OpenBB金融数据平台相结合。LLM负责理解自然语言问题,而OpenBB平台提供数据和分析功能。
>> 功能调用:代理通过功能调用与OpenBB平台交互,从而能够访问和处理最新的金融数据。
>> 支持多种数据提供者:默认情况下,它包含yfinance作为数据提供者,并且不需要API密钥。 可以通过本地配置(~/.openbb_platform/user_settings.json)或OpenBB Hub个人访问令牌(PAT)来配置其他数据提供者的凭据。 没有合适的API密钥,某些数据源和功能可能无法访问。
>> 处理复杂查询:该代理能够处理相对复杂的查询,例如执行基本面财务分析并提取有趣的发现,以及具有时间依赖性的查询(后续子问题的答案依赖于先前子问题的答案)。
>> 异步版本:除了同步版本openbb_agent外,还提供了一个异步版本aopenbb_agent,以提高效率。
openbb-agents的安装和使用方法
1、安装
目前我们支持Python 3.10+版本。我们将在不久后增加对更多Python版本的支持。
openbb-agents作为一个PyPI包可用:
pip install openbb-agents --upgrade
设置 开放AI API密钥 (OpenAI API keys) 为了使用开放BB语言模型代理,您需要一个开放AI的API密钥。请按照以下步骤操作:
获取API密钥:在开放AI注册并获取您的API密钥。 设置环境变量:将此添加到您的shell配置文件(.bashrc, .zshrc等):
export OPENAI_API_KEY="your_openai_api_key"
开放BB平台数据提供商凭证 (OpenBB Platform data provider credentials) 为了使用开放BB平台的功能,您需要配置必要的数据提供商API凭证。这可以通过以下两种方式之一完成:
本地配置:在~/.openbb_platform/user_settings.json文件中指定您的凭证。请参阅本地环境设置指南以获取详细的指示。 开放BB中心:通过您的开放BB中心账户创建一个个人访问令牌(PAT)。此PAT然后可以作为参数传递给代理。
开始使用 强烈建议查看入门笔记本,它会引导您了解openbb-agents的主要功能。
2、使用方法
>>> from openbb_agents.agent import openbb_agent
>>> result = openbb_agent("特斯拉当前市值是多少?") # 将打印一些日志以显示进度
>>> print(result)
- 特斯拉(Tesla, Inc.)当前市值约为$695,833,798,800.00。
- 这个数字基于最新的可用数据,即2024年1月15日的数据。
- 市值是由当前股价($218.89)乘以流通股数(3,178,920,000)得出的。
要使用存储在开放BB中心的数据提供商凭证,您可以直接将您的开放BB中心PAT传递给代理:
>>> openbb_agent("苹果公司的股价是多少?", openbb_pat="<openbb-hub-pat>")
注意:代理会根据可用的数据提供商凭证动态配置自身。因此,没有适当的API密钥某些数据源和功能可能无法访问。默认情况下,yfinance被包含为一个数据提供商,并且不需要API密钥。有关函数及其支持的数据提供商的完整列表,请参考开放BB平台文档。
查询可以相对复杂:
>>> openbb_agent("使用最新可用数据对亚马逊(AMZN)进行基本面财务分析。你发现了什么有趣的地方?")
查询也可以有时间依赖性(即需要先前子问题的答案才能回答后续子问题):
>>> openbb_agent("特斯拉的同行有哪些?它们各自的市值是多少?按市值降序返回结果。")
异步代理变体也是可用的:
>>> from openbb_agents.agent import aopenbb_agent
>>> await aopenbb_agent("特斯拉当前市值是多少?")
开发 使用poetry创建一个新的虚拟环境
poetry install
代码检查与格式化 我们目前正在尝试使用ruff作为black, isort 和 pylint的替代品。
您可以运行代码检查:
ruff check
或者修复代码检查错误:
ruff check --fix
或者格式化代码:
ruff format
我们也已将这些检查包含在提交前脚本中,如果您希望在提交代码前自动运行这些检查,您可以这样安装提交前脚本:
pre-commit install
测试
我们使用pytest作为我们的测试运行器:
pytest -n 8 tests/
openbb-agents的案例应用
持续更新中……
项目使用Poetry进行依赖管理,Ruff进行代码检查和格式化,pytest进行测试。 推荐使用getting_started.ipynb Jupyter Notebook来快速了解该项目的功能。