Skip to content

Latest commit

 

History

3 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

养老规划 Agent(Pension Agent)

基于规则引擎 + 本地 Skill + 大模型(One API)的养老规划问答系统,支持客户信息查询、退休测算、资产配置、行为分析与建议书生成。

项目结构

Pension_Agent/
├── run.py                      # 程序入口(评测/命令行调用此文件)
├── requirements.txt            # Python 依赖
├── .env.example                # 环境变量示例(复制后填写私有配置)
├── Readme.md                   # 本说明
├── pension_agent/              # 核心业务包
│   ├── config/
│   │   ├── settings.py         # 数据库、API 等配置(从环境变量读取)
│   │   ├── constants.py        # 产品库、时间基准、关键词
│   │   └── prompts.py          # Planner 系统提示词
│   ├── db/                     # MySQL 连接与表结构探测
│   ├── memory/                 # 会话与用户长期记忆
│   ├── intent/                 # 意图识别、路由、答案校验
│   ├── analytics/              # 行为分析与聚合统计
│   ├── services/               # 客户、退休测算、配置、报告
│   ├── llm/                    # 大模型调用与 Tool Schema
│   ├── skills/                 # 可调用 Skill 实现与注册表
│   ├── agent/                  # 规则引擎与 LLM Agent
│   ├── core/
│   │   └── pipeline.py         # 主流程 run()
│   └── state.py                # 进程内缓存与日志
├── test_local.py               # 本地批量提问自测
└── test_enhancements.py        # 结构化回归自测

快速开始

1. 安装依赖

pip install -r requirements.txt

2. 配置环境变量(必做)

请勿在代码仓库中填写真实账号、密码或 API Key。
请复制 .env.example.env(或在系统中导出环境变量),填入你自己的私有配置:

变量 说明
TASK2_DB_HOST MySQL 主机
TASK2_DB_PORT 端口,默认 3306
TASK2_DB_USER 数据库用户名
TASK2_DB_PASSWORD 数据库密码
TASK2_DB_NAME 数据库名
TASK2_BASE_TABLE 客户基础表,本地训练集常用 train_base_table
TASK2_ACTION_TABLE 行为表,本地训练集常用 train_action_table
ONE_API_URL 大模型接口地址(竞赛环境由平台注入)
ONE_API_KEY 你的 One API 密钥
ONE_API_MODEL 模型名,如 qwen3.6-flash

可选:

变量 说明
PENSION_MEMORY_PATH 记忆 JSON 路径;未设置时使用系统临时目录下按进程区分的文件
AGENT_LOG_LEVEL 日志级别,默认 WARNING

Windows PowerShell 示例:

$env:TASK2_DB_HOST = "你的主机"
$env:TASK2_DB_USER = "你的用户名"
$env:TASK2_DB_PASSWORD = "你的密码"
$env:TASK2_DB_NAME = "你的库名"
$env:ONE_API_KEY = "你的密钥"

3. 运行

python run.py "客户V500001现在年龄多大?"

标准输出仅打印最终答案(无 JSON、无调试日志),符合竞赛提交要求。

无参数运行 python run.py 会执行内置多轮对话示例(用于本地调试)。

处理流程简述

  1. 加载记忆 → 解析用户 ID、意图(intent/
  2. 规则引擎 rule_run:确定性 SQL/公式题优先
  3. LLM Agent agent_run:Function Calling + Planner 选择 Skill
  4. 写回会话记忆 并返回答案

并行评测注意

  • 不要修改提交目录下的共享文件;记忆文件请用 PENSION_MEMORY_PATH 指向唯一路径(含 PID/UUID)。
  • 日志勿输出到 stdout;可通过 AGENT_LOG_LEVEL 控制。

本地测试

python test_local.py
python test_enhancements.py

配置代码位置

敏感项集中在 pension_agent/config/settings.py,默认值为空,必须通过环境变量提供后才能连接数据库或调用大模型。

About

第10届招商银行数字金融训练营复赛|养老规划 Agent 建设

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages