feat: integrate chatbox research with datasets and backtests
This commit is contained in:
@@ -37,9 +37,9 @@ docker compose ps
|
||||
|
||||
从侧栏进入“数据集”,设置 Region、Universe、Delay 后手动同步目录。范围选项表示本版支持的组合,平台账户实际权限以同步结果为准;分类和子分类来自已同步数据。
|
||||
|
||||
选中一个数据集后默认使用整集字段;首次使用先同步全部字段。字段列表、搜索、类型、覆盖率、排序及翻页均不改变输入范围,只有明确取消勾选才排除字段。表头选择作用于整个已完成集合,支持恢复全选。字段与详情采用 75% / 30% 的工作区右抽屉,窄屏展开为全宽;逐层关闭保留父层条件。抽屉顶部可打开 AI 助手,业务抽屉暂时隐藏,收起助手后恢复;不会发送字段或研究备注给模型。
|
||||
选中一个数据集后默认使用整集字段;首次使用先同步全部字段。字段列表、搜索、类型、覆盖率、排序及翻页均不改变输入范围,只有明确取消勾选才排除字段。表头选择作用于整个已完成集合,支持恢复全选。字段与详情采用 75% / 30% 的工作区右抽屉,窄屏展开为全宽;逐层关闭保留父层条件。抽屉顶部可打开 AI 助手,业务抽屉暂时隐藏,收起助手后恢复;发送消息时会附带当前范围和输入引用;助手可通过工具读取本地目录和字段,不发送未保存的研究备注。
|
||||
|
||||
“用于 Alpha 模板”目前进入**保存输入草稿**,尚未接入模板编辑器或回测。草稿在服务端固定数据集、研究范围、集合版本、字段 ID 和字段类型,可通过“已保存输入”查看。后续同步不会改变旧草稿。
|
||||
“用于 Alpha 模板”先保存输入草稿,在服务端固定数据集、研究范围、集合版本、字段 ID 和字段类型。点击“用此输入研究”将该快照带入聊天;也可从“已保存输入”恢复。后续同步不会改变旧草稿。
|
||||
|
||||
数据集和字段备注单独保存,版本冲突保留当前草稿。字段同步沿用已有任务面板的进度、取消、重试、等待连接和人工验证;每页与检查点同事务保存。只有完整分页成功才发布新集合,失败或取消继续使用上一版;首次未完成时不可准备输入。异常字段归属、覆盖率单位或分页协议会失败,不以部分字段代替全集。
|
||||
|
||||
@@ -63,6 +63,14 @@ docker compose ps
|
||||
|
||||
模型不可用或未配置时,原有业务功能继续使用。API Key 仅加密存储于数据库,不返回浏览器;发送聊天时,相关本地业务结果会发送至你指定的模型服务。没有 MCP、知识检索、多 Agent 或平台属性回写。回测使用独立的固定集合确认,详见下文。
|
||||
|
||||
## Chatbox 研究到回测结果
|
||||
|
||||
可以从保存的数据输入点击“用此输入研究”,或直接在聊天中指定研究范围,让助手选择已同步的数据集与字段。例如:“用此输入构建一个基本面排序 Alpha,解释字段和假设,预览回测。”助手通过固定输入、具名字段绑定和明确模拟参数构建候选;预览显示表达式及研究来源,点击“确认执行”后启动回测。
|
||||
|
||||
回测完成后可在同一会话追问“查看刚才回测的结果并解释指标”,也可打开回测详情。Alpha 管理中的“研究来源”页签可查看关联回测、原聊天和输入快照;列表支持按来源筛选。同一 Alpha 的多次研究分别保留,不覆盖本地研究备注。完成回测不会自动唤醒模型。
|
||||
|
||||
Chatbox 来源使用 `kind=chatbox`,会话 ID 为 `reference`,生成轮次 ID 为 `research_id`,由服务端赋值;既有草稿、裁剪和重跑保留原生成来源。字段绑定检查输入归属、类型和范围,不代替 FASTEXPR 语义或平台算子权限验证,不自动加入 VECTOR 聚合或清洗操作。接口与验证范围见 [集成规格](.scratch/chatbox-research/spec.md)。
|
||||
|
||||
## 通用回测
|
||||
|
||||
在“回测”页录入表达式及明确参数,保存候选草稿或直接预览;支持逐项 JSON 输入。预览固定完整集合,显示分组、分批和历史重复提示;排除候选会生成新预览。确认启动立即返回运行,后台负责执行及收集。AI 使用同一预览与启动契约,每次运行确认一次;关闭聊天不终止回测。
|
||||
@@ -97,7 +105,7 @@ docker compose -f compose.public.yaml logs --tail=100 web
|
||||
| `ENCRYPTION_KEY` | 独立 Fernet 密钥,加密数据库中的 WorldQuant 密码和模型 API Key |
|
||||
| `LOCAL_PORT` | 本机入口端口,默认 8080 |
|
||||
| `DOMAIN` | 公网域名 |
|
||||
| `AI_REQUEST_LIMIT` | 每轮模型请求上限,默认 6 |
|
||||
| `AI_REQUEST_LIMIT` | 每轮模型请求上限,默认 12 |
|
||||
| `AI_TOOL_LIMIT` | 每轮工具执行上限,默认 12 |
|
||||
| `AI_OUTPUT_TOKENS` | 每次模型输出上限,默认 4096 |
|
||||
| `AI_TIMEOUT` | 每轮累计活动执行时限(秒),默认 180,等待确认不计入 |
|
||||
@@ -209,10 +217,12 @@ FastAPI 的 `/openapi.json` 与 `/docs` 可在后端开发端口访问;生产
|
||||
- `/api/v1/auth`:登录、退出、会话;除登录与健康检查外,业务接口都需要 Cookie。
|
||||
- `/api/v1/account`:偏好、加密凭据、连接/验证/断开/资料刷新。
|
||||
- `/api/v1/alphas`:服务端筛选与排序、详情、本地研究记录、批量编辑、流式 CSV。
|
||||
- `/api/v1/alphas/{id}/sources`:分页查看已保存回测的研究来源;Alpha 列表及 CSV 支持 `source`、`source_reference`、`research_id`、`backtest_run_id` 筛选。
|
||||
- `/api/v1/alphas/{id}/pnl`:只读缓存;刷新通过 `pnl_refresh` 任务。
|
||||
- `/api/v1/alphas/{id}/self-correlation`:读取本地检测结果;检测通过 `self_correlation` 任务。
|
||||
- `/api/v1/sync-jobs`:创建任务立即返回 202 和 ID,查询、取消与重试。
|
||||
- `/api/v1/backtests`:候选草稿、不可变预览、异步启动、运行/结果/事件分页、调度配置、暂停/继续/停止/找回及重跑预览。
|
||||
- `/api/v1/backtests/research-previews`:通过固定输入、表达式模板和字段绑定生成候选预览;沿用现有确认启动接口。
|
||||
- `/api/v1/ai`:脱敏模型配置与测试、会话历史、SSE 执行、执行快照、取消及确认。新执行只接收 `request_id`、`message`、`context`;同一会话重复请求 ID 返回原运行,参数变化返回 409。
|
||||
|
||||
研究记录 PATCH 现在必须提供读取时的 `version`;批量编辑必须提供每个目标 ID 的 `versions` 映射。`0002` 迁移给旧研究记录设置初始版本 1,不修改其内容。版本冲突返回 409。
|
||||
|
||||
Reference in New Issue
Block a user