Files
IPSExtractor/docs/application/prompts.md
T

917 B

application/prompts.py

Propósito

Centraliza la construcción de prompts para:

  • Extracción reducida limitada a los campos seleccionados.
  • Normalización de JSON al esquema canónico.

API pública

PromptBuilder.build(selected_fields, schema, profile_name=None) -> str

Devuelve un JSON de instrucciones para extracción, respetando exactamente las claves solicitadas.

PromptBuilder.build_normalization_messages(profile_name, template, source_json) -> list[dict[str, str]]

Construye los mensajes system y user para solicitar al LLM la normalización al template.

Ejemplo

from application.prompts import PromptBuilder

prompt = PromptBuilder.build(
    ["radicado", "items/*/codigo"],
    {"radicado": "str", "items/*/codigo": "str"},
    profile_name="invoice"
)
msgs = PromptBuilder.build_normalization_messages("invoice", {"radicado": None}, {"radicado": "R-1"})