内容
# osqf-archive
**十八年的osQF / R-in-finance会议演讲(2009–2026年),转化为可搜索、可聊的存档** — 衍生笔记、嵌入、实体图谱和MCP服务器 — 使用单个工作站GPU(一个RTX 3090 Ti,管道中无云调用)构建,基于本地开放权重模型。
本项目是论文《*文本、OCR还是像素?用于量化金融文档的可检索决策矩阵,基于十八年的osQF存档*》(osQF 2026提交 — `docs/`)的配套产物。
## 五分钟与存档聊天
无需模型、无需GPU、无需服务器:
1. `pip install "mcp>=1.9" "duckdb>=1.1"`
2. 从本仓库的**发布**页面下载 `notes.duckdb`(约50 MB)。
3. 在MCP客户端(Claude Desktop、Claude Code、Cursor等)中注册stdio服务器 — 完整的复制粘贴配置见 [`osqf_mcp/CLIENT_SETUP.md`](osqf_mcp/CLIENT_SETUP.md)。
然后提问类似的问题,如 *"谁是投资组合优化的常驻专家,他们最近提出了什么?"* 或 *"哪些演讲涵盖了所有18年的制度转换?"*
或者使用 `https://osqf.assetflow.ai` 上的**托管端点** — 相同的工具,无需安装,包含语义搜索(服务器为您嵌入查询)。它需要来自会议演讲最后一张幻灯片的共享Bearer令牌。
## 存档内容
| 路径 | 内容 |
|---|---|
| `notes/` | 626份衍生演讲笔记(markdown;标题、关键发现与逐字证据引用、方法、源URL) |
| `wiki/` | 聚合页面:年份、演讲者、199个主题、111种方法 |
| `R/pipeline/` | 8阶段构建管道(抓取 → 文本提取 → OCR门控 → LLM提取 → 渲染 → 嵌入 → 论文收获 → MCP预计算) |
| `R/query.R`, `R/assoc.R` | 语义搜索 + 个性化页面排名关联检索 |
| `python/pixel/` | PixelRAG层:页面渲染、像素嵌入(晚期交互)、VLM读取器,带按需缩放的OCR服务 |
| `osqf_mcp/` | MCP服务器(stdio + 身份验证HTTP),参见其 `CLIENT_SETUP.md` |
| `docs/` | 检索**决策矩阵**和论文 |
发布资产(不跟踪):`notes.duckdb` — 分段 + 嵌入、笔记、清单、标签、预计算的相关演讲/专家表格和持久化的全文索引,以便搜索时无需模型。
## 如何构建
1. **抓取**公共会议议程页面 → 800+条目清单。
2. **提取文本**,按演讲稿(pdftools/officer),并应用**VLM-OCR通道**(PaddleOCR-VL通过vLLM服务),仅在优于原生提取时应用 — 验收门控保留两者中较好的一种,按文档而定。
3. **LLM提取**(qwen3:14b通过Ollama,强制工具调用):结构化笔记,每个关键发现必须带有**逐字证据引用**,与源文本验证(69%语料库通过率)。
4. **嵌入**(nomic-embed-text,768-d)到DuckDB,带有HNSW索引;462个提取演讲 + 440个配套论文页面的4111个分段。
5. **像素层**:12,276张页面图像,300 dpi,晚期交互(ColQwen-style MaxSim)检索 — 用于图表/表格问题的所有文本管道失败时。
6. **实体图谱**:演讲↔主题/演讲者/标签边缘,IDF加权;个性化PageRank显示桥接演讲和每个主题的专家。
何时使用哪一层是论文的重点 — 简短版本在 [`docs/decision_matrix.md`](docs/decision_matrix.md) 中。
## 自己重建
管道可以从干净的克隆(R ≥ 4.3 + 本地Ollama)重新运行:
```r
# smoke: 单个会议年份端到端
Sys.setenv(OSQF_YEARS = "2025")
source("R/pipeline/run_all.R")
```
像素/OCR层还需要CUDA GPU和 `python/pixel/` 下的Python服务(每个脚本记录其venv和服务模式)。模型权重**不**在此仓库中 — 脚本从其上游仓库拉取(参见 `NOTICE.md` 中的许可证)。
## 来源、许可、删除
演讲幻灯片从其**公开发布的**会议URL索引;原始PDF**不**重新分发 — 每个笔记都链接回源文件。代码为MIT;衍生笔记为CC-BY-4.0,附带演讲者署名。详情和删除流程: [`NOTICE.md`](NOTICE.md)。