5f4f1f7508
Añade campos params y output al frontmatter YAML de las 506 funciones del registry. Cada parámetro tiene descripción semántica (qué representa, unidades, rango típico) y cada función describe qué produce su output. Permite a agentes razonar sobre cadenas de composición (ej: prices → log_return → sharpe_ratio) sin leer código.
2.3 KiB
2.3 KiB
name, kind, lang, domain, version, purity, signature, description, tags, uses_functions, uses_types, returns, returns_optional, error_type, imports, params, output, tested, tests, test_file_path, file_path
| name | kind | lang | domain | version | purity | signature | description | tags | uses_functions | uses_types | returns | returns_optional | error_type | imports | params | output | tested | tests | test_file_path | file_path | |||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| build_entity_schema_prompt | function | py | datascience | 1.0.0 | pure | def build_entity_schema_prompt(entity_presets: list[dict]) -> str | Genera la seccion del system prompt que describe los entity types disponibles para extraccion. Formatea los presets del registry en texto legible para el LLM. |
|
false |
|
string con seccion del system prompt describiendo los entity types en formato legible para LLM | true |
|
python/functions/datascience/build_entity_schema_prompt_test.py | python/functions/datascience/build_entity_schema_prompt.py |
Ejemplo
from build_entity_schema_prompt import build_entity_schema_prompt
presets = [
{
"type_ref": "osint_person_go_cybersecurity",
"label": "Person",
"metadata_fields": ["full_name", "alias", "nationality", "dob", "risk_score"],
},
{
"type_ref": "osint_organization_go_cybersecurity",
"label": "Organization",
"metadata_fields": ["legal_name", "country", "sector", "founded", "risk_score"],
},
]
prompt = build_entity_schema_prompt(presets)
# Entity types available for extraction:
#
# 1. Person (type_ref: osint_person_go_cybersecurity)
# Attributes: full_name, alias, nationality, dob, risk_score
#
# 2. Organization (type_ref: osint_organization_go_cybersecurity)
# Attributes: legal_name, country, sector, founded, risk_score
Notas
Funcion pura. No requiere dependencias externas.
El formato de salida es deliberadamente sencillo para maximizar la comprension por el LLM: numero de orden, label humano, type_ref del registry y lista de atributos en una sola linea.
Si un preset no tiene metadata_fields (o tiene lista vacia), se omite la linea de atributos.
Pensada para componer con build_relation_schema_prompt al construir el system prompt completo de extraccion de grafos OSINT.