一个基于 React 和 FastAPI 构建的现代化金融文本处理工具箱,提供全面的金融文本分析服务。 极客时间RAG进阶训练营
学习链接: https://u.geekbang.org/subject/airag/1009927
- 支持识别多种金融实体类型:
- 公司(COMPANY)
- 股票(STOCK)
- 基金(FUND)
- 债券(BOND)
- 货币(CURRENCY)
- 指数(INDEX)
- 行业(SECTOR)
- 金融术语(FINANCIAL_TERM)
- 提供实体关系分析
- 支持实体验证和分类
- 支持批量文本处理
- 支持多种金融术语类型
- 基于FAISS向量数据库的相似度匹配
- 提供标准术语定义
- 支持相似度阈值过滤
- 提供术语元数据查询
- 支持多种展开方法
- 提供标准定义查询
- 支持上下文理解
- 支持批量处理
- 支持多种错误类型:
- 金融术语拼写纠正
- 金融术语验证
- 金融缩写处理
- 金融数字格式处理
- 提供智能纠错建议
- 支持批量文本处理
- 支持多种生成类型:
- 财务报告生成
- 财务分析报告
- 投资计划生成
- 市场分析报告
- 风险评估报告
- 投资组合回顾
- 提供参数化控制
- 支持结构化输出
- 提供数据验证和格式化
- 框架: React 18
- 路由: React Router 6
- UI组件: Chakra UI 2
- 样式: Tailwind CSS 3
- 图标: Lucide React
- 动画: Framer Motion
- 状态管理: React Hooks
- 框架: FastAPI
- AI模型:
- 智谱GLM-4(文本生成)
- 智谱Embedding-3(向量嵌入)
- 数据库:
- SQLite(存储术语元数据)
- FAISS(向量索引)
- 工具库:
- Pydantic(数据验证)
- SQLAlchemy(ORM)
- ZhipuAI SDK
- terms(术语表)
- term_id: 术语ID
- term_name: 术语名称
- category: 术语类别
- created_at: 创建时间
- 使用智谱AI的embedding-3模型生成向量
- 基于FAISS向量数据库
- 支持相似度搜索
-
克隆仓库
-
安装后端依赖:
cd backend pip install -r requirements_win.txt # Windows # 或 pip install -r requirements_mac.txt # Mac # 或 pip install -r requirements_ubun.txt # Ubuntu
-
安装前端依赖:
cd frontend npm install -
启动后端服务:
cd backend uvicorn main:app --host 0.0.0.0 --port 8000 --reload -
启动前端开发服务器:
cd frontend npm start -
在浏览器中打开 http://localhost:3000
rag-fin-study-gk/
├── backend/
│ ├── services/ # 后端服务实现
│ │ ├── ner_service.py # 实体识别服务
│ │ ├── std_service.py # 术语标准化服务
│ │ ├── abbr_service.py # 缩写展开服务
│ │ ├── corr_service.py # 文本纠错服务
│ │ └── gen_service.py # 文本生成服务
│ ├── utils/ # 工具函数
│ ├── db/ # 数据库文件
│ ├── data/ # 数据文件
│ └── main.py # 主程序入口
├── frontend/
│ ├── src/
│ │ ├── components/ # 可复用组件
│ │ ├── pages/ # 页面组件
│ │ │ ├── NERPage.js # 实体识别页面
│ │ │ ├── StdPage.js # 术语标准化页面
│ │ │ ├── AbbrPage.js # 缩写展开页面
│ │ │ ├── CorrPage.js # 文本纠错页面
│ │ │ └── GenPage.js # 文本生成页面
│ │ ├── App.js # 应用入口
│ │ └── index.js # 渲染入口
│ └── public/ # 静态资源
└── README.md
- 通过术语ID查询
- 通过术语名称查询
- 通过术语类别查询
- 通过语义相似度查询
- 通过关键词查询
- 通过上下文查询
- 支持实时添加新术语
- 支持实时修改术语
- 支持实时删除术语
- 自动更新向量索引
- 支持增量更新
- 支持全量更新
- Fork 本仓库
- 创建您的特性分支 (
git checkout -b feature/AmazingFeature) - 提交您的更改 (
git commit -m '添加一些特性') - 推送到分支 (
git push origin feature/AmazingFeature) - 开启一个 Pull Request
本项目采用 MIT 许可证 - 查看 LICENSE 文件了解详情