|
Download docs/interfaces.md from CamiloS1111/ragsolver: direct link, hf CLI and curl.
- Browser
- Download file 2.83 kB
-
https://huggingface.co/CamiloS1111/ragsolver/resolve/main/docs/interfaces.md
- Command line
-
hf download hf://CamiloS1111/ragsolver/docs/interfaces.md
-
curl -L -o interfaces.md https://huggingface.co/CamiloS1111/ragsolver/resolve/main/docs/interfaces.md
2.83 kB
Contratos de interfaz (RNF-4)
Todos los contratos son modelos Pydantic v2; los JSON Schema en docs/interfaces/*.schema.json se regeneran con python scripts/export_schemas.py y son derivados del código, no al revés.
Módulo RAG (src/ragsolver/rag/schema.py, PLAN_RAG.md §7-§8)
| Esquema | Uso |
|---|---|
Document |
metadatos por fuente (doc_id, licencia, redistributable, parser) |
ChunkBase / MathlibChunk / InformalChunk |
filas de las tablas LanceDB mathlib / informal |
Figure |
tabla figures (recorte, bbox, descripción VLM, detected_by) |
RetrievalRequest |
entrada del retriever: queries[1-4], mode, corpora, k, n_candidates, filters, rerank, include_figures, context |
RetrievalResult |
hits[] (con figures[] y citation), citations[], trace |
Citation |
citation_id (M1../I1..), locator, scores, used_in_proof, used_in_sketch, snippet |
TraceEvent |
evento JSONL por búsqueda/llamada (RNF-5) con VersionsPin; en llamadas LLM request lleva model, tokens_in, tokens_out, cost_usd (exacto, OpenRouter) y decision (salida validada) |
Agentes (src/ragsolver/agents/schemas.py, propuesta §6.3)
| Esquema | Agente | Campos clave |
|---|---|---|
Problem |
entrada | informal_statement, formal_statement (... := by sorry), header (open ...), imports |
PlannerOutput |
Planificador | strategy, subgoals[1-6] con statement_nl, formal_hint, search_queries[≤3], math_area |
GeneratorOutput |
Generador | sketch, used_citations[] |
FormalizerOutput |
Autoformalizador | proof_tactics (sólo el bloque tras := by), notes |
CriticOutput |
Crítico | error_type, action (retry/replan/abandon), missing_identifiers[], feedback |
BaselineAOutput / BaselineBOutput |
líneas base A / B | A: proof_tactics (obligatorio); B: natural_language_proof + self_assessed_correct (obligatorios) |
Verdict |
Verificador | ok, errors[{line,col,message}], uses_sorry, axioms[] (auditoría VER-1: ok=true exige subconjunto de propext/Classical.choice/Quot.sound), seconds |
SolutionReport |
orquestador | estado, intentos, llamadas, tokens, lean_code, citations[] clasificadas, taxonomía de errores, re-recuperaciones |
Configuración
configs/versions.yaml: pins (Lean/Mathlib, modelos, proveedor LLM y cadena de modelos, índice).configs/retrieval.yaml: plantillas de consulta por modo,rrf_k,max_per_module, flags de ablación del retriever.configs/agents.yaml:k_max,llm_budget, recuperación de los agentes, backend Lean, configuraciones de ablación, prompts versionados.configs/ingest.yaml: filtros de Mathlib, parámetros del PDF, prompts de enriquecimiento (versionados).