FinRobot是一个超越 FinGPT 范畴的 AI 代理平台,是专为金融应用精心设计的综合解决方案。它集成了多种 AI 技术,超越了单纯的语言模型。这种广阔的视野凸显了平台的多功能性和适应性,能够满足金融行业的多方面需求。
AI代理的概念:AI代理是一种智能体,它使用大型语言模型作为大脑来感知环境、做出决策并执行动作。与传统的人工智能不同,AI代理具有独立思考和利用工具逐步实现既定目标的能力。
- 金融AI代理层:金融AI代理层现已包含金融思维链(CoT)提示,增强了复杂的分析和决策能力。市场预测代理、文档分析代理和交易策略代理利用CoT将金融挑战分解为逻辑步骤,将其先进的算法和领域专业知识与不断变化的金融市场动态相结合,从而获得精准、可操作的洞察。
- 金融 LLM 算法层:金融 LLM 算法层配置并利用针对特定领域和全球市场分析定制的专门调整模型。
- LLMOps 和 DataOps 层:LLMOps 层实施多源集成策略,利用一系列最先进的模型,为特定的财务任务选择最合适的 LLM。
- 多源 LLM 基础模型层:该基础层支持各种通用和专用 LLM 的即插即用功能。
-
感知:该模块捕获并解释来自市场信息、新闻和经济指标的多模式金融数据,使用复杂的技术来构建数据以进行彻底的分析。
-
大脑:作为核心处理单元,该模块使用 LLM 感知来自感知模块的数据,并利用财务思路链 (CoT) 流程生成结构化指令。
-
行动:该模块执行来自大脑模块的指令,运用工具将分析洞察转化为可操作的结果。行动包括交易、投资组合调整、生成报告或发送警报,从而积极影响金融环境。
智能调度器对于确保模型多样性以及优化每个任务最合适的 LLM 的集成和选择至关重要。
- 主管代理:该组件协调任务分配过程,确保根据代理的绩效指标和特定任务的适用性将任务分配给代理。
- 代理注册:管理注册并跟踪系统内代理的可用性,促进高效的任务分配流程。
- 代理适配器:根据特定任务定制代理功能,增强其性能和在整个系统中的集成。
- 任务管理器:管理和存储针对各种财务任务定制的不同通用和微调的基于 LLM 的代理,并定期更新以确保相关性和有效性。
地址: https://github.com/AI4Finance-Foundation/FinRobot
官方网址: https://ai4finance.org/
1.(推荐)创建一个新的虚拟环境
conda create --name finrobot python=3.10
conda activate finrobot
2. 使用终端下载 FinRobot repo 或手动下载
git clone https://github.com/AI4Finance-Foundation/FinRobot.git
cd FinRobot
3. 从源代码或 pypi 安装 finrobot 及其依赖项
从 pypi 获取我们的最新版本
pip install -U finrobot
或者直接从这个 repo 安装
pip install -e .
4.修改OAI_CONFIG_LIST_sample文件
1) rename OAI_CONFIG_LIST_sample to OAI_CONFIG_LIST
2) remove the four lines of comment within the OAI_CONFIG_LIST file
3) add your own openai api-key <your OpenAI API key here>
5.修改config_api_keys_sample文件
1) rename config_api_keys_sample to config_api_keys
2) remove the comment within the config_api_keys file
3) add your own finnhub-api "YOUR_FINNHUB_API_KEY"
4) add your own financialmodelingprep and sec-api keys "YOUR_FMP_API_KEY" and "YOUR_SEC_API_KEY" (for financial report generation)
6. 开始浏览以下教程或演示:
# find these notebooks in tutorials
1) agent_annual_report.ipynb
2) agent_fingpt_forecaster.ipynb
3) agent_trade_strategist.ipynb
4) lmm_agent_mplfinance.ipynb
5) lmm_agent_opt_smacross.ipynb