LLMs之openbb-agents:openbb-agents的简介、安装和使用方法、案例应用之详细攻略

LLMs之openbb-agents:openbb-agents的简介、安装和使用方法、案例应用之详细攻略

目录

openbb-agents的简介

1、特点

openbb-agents的安装和使用方法

1、安装

2、使用方法

查询可以相对复杂:

查询也可以有时间依赖性(即需要先前子问题的答案才能回答后续子问题):

异步代理变体也是可用的:

开发 使用poetry创建一个新的虚拟环境

测试

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来快速了解该项目的功能。

### 关于AI Agents项目的实例与教程 #### 使用AutoGen创建对话代理 对于希望构建能够处理自然语言交互的AI代理人,`agentchat.contrib.retrieve_user_proxy_agent | AutoGen` 提供了一个强大的起点[^1]。此模块允许开发者快速搭建起具备基本功能的聊天机器人原型,这些机器人可以根据预设逻辑响应用户的输入。 ```python from autogen import UserProxyAgent, AssistantAgent user_proxy = UserProxyAgent(name="User", human_input_mode="ALWAYS") assistant = AssistantAgent( name="Assistant", system_message="You are a helpful assistant.", ) conversation_history = [ {"role": "system", "content": "You will be having a conversation with an AI."}, ] while True: user_message = input("Enter your message: ") response = assistant.respond(user_message=user_message) print(f"Response from {response['author']}: {response['message']}") ``` 这段代码展示了如何利用Python中的Autogen库初始化两个代理——一个是代表最终用户的代理,另一个则是执行任务或提供帮助的服务端代理。通过这种方式,可以轻松模拟出真实的对话场景并测试不同的交流策略。 #### 利用NVIDIA TAO Toolkit加速开发流程 当涉及到更复杂的计算机视觉应用时,如图像分类、目标检测等领域内的AI代理人设计,则可借助[NVIDIA TAO Toolkit][^2]的力量。该工具包不仅提供了大量已经过良好训练的基础模型作为起点,还极大地降低了调整超参数以及优化性能所需的时间成本技术门槛。这意味着即使是没有深厚机器学习背景的人也能高效地完成特定应用场景下的定制化工作。 例如,在医疗影像分析方面,可以选择一个适用于胸部X光片诊断肺炎状况的预训练ResNet架构,并针对本地收集的数据集做进一步精细化调优;整个过程中几乎不需要额外编写任何底层算法实现细节方面的代码。 #### 探索大型语言模型资源集合 为了深入理解当前最先进的文本理解生成技术背后原理及其实际运用方式,访问由Wang Rongsheng整理维护的大规模语言模型(LLMs)资料库不失为明智之举[^3]。这里汇集了众多高质量的学习材料,包括但不限于: - **理论讲解**:从零开始介绍神经网络基础知识直到前沿研究进展; - **实战演练**:分享具体案例解析及配套源码片段以便读者模仿练习; - **社区互动**:鼓励参与者贡献自己的见解形成良性循环的知识共享平台。 综上所述,无论是初学者还是有一定经验的研究人员都能在此找到适合自身的切入点去探索有关智能体项目的一切可能性。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

一个处女座的程序猿

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值