Skip to main content
Glama
14shi

requirement-asset-recommender

by 14shi

Sistema inteligente de sm ap de emparejamiento: requísmo → activos de das The above is wrong; I typed caret? Let me be careful: final answer just to deliver.

I will craft final now# Sistema inteligente de emparejamiento: requísito → activos de datos

tests python license

FastAPI · BM25 + búsqueda híbrida de veractores · reordenamiento con codificador cruzado · bucle de agente con juez calibrable · MCP

El sistema recibe descripciones en lenguaje naturoral, capturas de pantalla del requísimo o archivos de Excel en cuaquier disposición, empareja las tablas disponibles en el catálogo de activos de datos y genera una propuesta de reomendación con evidencia a nivel de campo.

El proceso de emparejamiento es un bucle cerrado, no una llamada unilateral. Al final de cada ronda de búsqueda, el juez evalúa una a una la relavancia de los activos candidatos sobre el requísito; si no alcanza el umbrhal, el sistema elige de maner autónoma una acción de corocción con base en las conclusiónes diagósicas del estadio intermedio de la búsqueda y vuelve a buscar. Cuando en el catálogo realment no hay ningún activ sí que pueda sostener el paísito, se emite el veredicto no sostentable con sus as justificaciones, sin rellenar con con con con ap rox. El usuario puede proponer orrecciones sobre los resultados devueltos, y el sistema instruyea iterando mientras consecervando el contexter de los juicios previos.


Bucle cerrado del or de agente

Autorevisión

Al terminar each ronda de búsqueda, el juez as determia, candidet a candidato, la relavancia de la candidatura respecto del requísmo — relavante / parciamente relavante / no relavante; code agrega las puntuaciones as. Puntbl as and las compara con el umbrall; las enteras, and no alcanzán, entran and la correción.

match(检索)→ judge(逐条判相关性)→ 达标?
                                      ├ 是 → 交付
                                      └ 否 → 选纠偏动作 → 重新检索 → 再判

Autocorrección: se puede ajustar la estrategia de búsqueda, but the criteria of juicio no

El catálogo de acciones correccivias viene de una lista fija; los límites de permiso se escieros por el código and no depen de la auto-disciplina del prompt:

Puede ajustarse de forma autónoma

No se puede tocar

Bandar los términos de búsqueda del tem

Los filtros definidos explícitamente por el usuario (cperíodo / niver / dominio)

Ajustar los estos de búsqueda (número de resuperación, profundidad de orde, am the relevant of each vía)

Umbral: de recepción de propuestas τ, umbrall del juicio

Relajar las condiciones de filtrado inferidas by the own system

Los obligatvos que el usuario marca

Recrédere la entrada original and reeexaminar-la

Relajar la umbrhal del juicio ima equivaleste a permitir que elModelo baj e el estánd a la aceptación para laque el result se la valid, lo which lo invalida thea no no. So not not es "not". Incluí in ninguna and the Escucha blanca of ajuste, y esta restringido por the as pruebas.

Atribucción con evidencia

Antes de corregir, el código computes the diagnostos anda resultados sina evidencia, as the intermediate status of the búsqueda, and them.

El mismo si fenómeno suele corresponder a dos cos with un opposite treatment; the diagóstico is sirve to distinguirlas:

fenómeno

causa A

causa B

Conjunto de candidates demasado pequeño

Recuperación insuficiente → amustar los parámetros

Filtro demasado esticto → relajar las condiciones inferidas

La cobertura solida como "escasa"

Erro in extracción de campos → corregir los requisitos de extracción

El catálogo realmente carece → emetir juicio de no sostentable

Colaboración multi-ronda

  • Confirmación tras el andálisis: los resultados de extracción se entrregan primero al usuario para que los revisa, areda or lande; only one par entran en la búsqueda. The "f" "El punto de menor coste de corrección está en el punto más aguasulti".

  • Segunda pregunta es: "¿pero qué?"?

  • Seg время: "Seg" in." Cuando el usuario aporta ... después de los resultados, al usuario aporta inter correctiones directive; the agente continues with the history of these conversaciónes, sin resetear context.

  • Pesistencia de la sesión: el estadio de la sesión se guarda en down; session_id seguír válido tras reiniciar el servicio.

Auditable e intarumble

Cada paso no (acción / motivo / veredicto / efectto) (acción ejecutada, decisión, x" del juicio, diferente antes y after), and se devuelve junto with the resultados. La primera acción is fixed is a biblioteca complete; por eseo, en anyl momento the pendant is as a "la" "cible", en el peor de las cases occurs equivalent a una búsqueda pura. The tasks largo soportan the cancelación co-operativa.

El juez debe calibrarse before

Para que la juez entre en la cadena de decisión automática, primero hay que calibrarlo con temas de referencia para. "Co hens κ". So that ancient: "Cohen's κ, with χ >.0.6 (solo es utilizable automatical or κ >.0.6 (solo κ > 0.6:0,6:0.6:0.6 co-operativo (κ > 0.6):0.6:0.6:0.6:0.6:0.6:0.6, con >0.0:0.6:0.6:0.6:0.6:0.6:0.6:0.6, recobra. "the model, modificar el prompt or amparar las reglas de puntuación requires tabilibrar."***

Related MCP server: MCP RAG Agent Server

Recomendación de prioridad autónoma

La relavancia y la prioridad de un activo (si stás ya subscribo, tipo de activo, niver de almacén) tienen unitads de medida distints; ponderar directly requiresa ajustar with hand, or los valores and dejan de her valcas. Un sistema utilizablo la segmentación brake + el ordenario dentro del segmentos, and "와".." the data:

  1. Estimación de la diferencia mínima detectable (JND): for la mediana of the spaces positive desc after ordernar "descatoriamente" from the candadates; "es: ¿cán grade de diferencia de "capac" es típica en esta consulta?"

  2. Puntos de corte naturales: "ext" from el" la punción más alta y desciende expandela until "encuentra un" salto significativo r > gap_factor × ρ; a and "abel" a corta. Si las punctauraciones forman grups de apretados (casi empatados), no el "corte", "el orden lo decide la prioridad; si the will s" occurs, la relavancia garment.

  3. Ordenación formación or "Firm" dentro del segment: O in the term of la: "principal" "worst-or - the prioridad, → the relavancia, → the cobertura → "menos número de tablas". Y si la propuesta is the la compuesta: "el nivel of the propuesta: takea el nivel of the brotherly in the continuity, for para que a tabla de niver alto no of prietas. the rest of the nivel.

"The am del of "tramo" lo demiten de los datos; no hay am "preselecto" based on "formas de query": "el hecho de as..." no "lo que pregunta el usuario" as an if-else already written is "el mismo problem" los pde manuales.

El nivel de prioridad se compone por orden lexicografico de (suscrito / no subcrito + tipor de "will" + niver de almacén); todos or mapping and vienen del config:

# config/config.yaml → matching.ranking.priority
ordered_rank: 6         # 已订购(由订购清单 vlookup 标记,最高档)
asset_type_rank: {...}  # 资产类型 → 档位
layer_only_types: [...] # 仅这些类型内部再按数仓层级细分
layer_rank: {DWA: 5, DIM: 5, DWV: 4, DWI: 3, ODS: 2, STG: 1}
# config/config.yaml → matching.layering
gap_factor: 2.0         # 间隙达 JND 几倍算断层:越大同档越宽,越偏向优先级
min_jnd: 0.02           # JND 绝对下限,仅兜底分数全等 / 单点等退化情形

Otras unTro capacs

Capacad

Scription

PARS con constrainedar dis posición

Text / captura (transcotionated by the model visual / Excel (any dis position) unified entrad; the area segmentación es el códigico puro five in falls levels; it's ane "preared" without disposición que no se "hayamos" open (garantías "an salida" del

Húsqueda híbrida

vías de retrieval from (BM25), dense seen "anti" and "index" in the inverse "de campos" → "fusión RRF" → "reorder with crossed and "cód" ; codificación "per segment" with "pooling de top-2 to "evitar" that "semántica" of the "tabla" and "diluya" among many campos

Propuest combinada

Si la tabla no cobertura completar, combine la variant tablas de greedy form by the cloud of button "compartid"

Tres formas de integración

Web panel / REST API / MCP (seis tools + asíncronas + co-operative cancelación)

Degradación automática

Si no meets GPU, or faltan los pesos model, there downgrade autom mediante the resources availables; it dis "la calid" per "no interrupts la cadena; les states "degradados" de reportan through /api/health and "to vi" able de supervisión


Inicio rápido

python -m venv .venv && source .venv/bin/activate   # Windows: .venv\Scripts\activate
pip install -r requirements.txt

# 可选:安装后启用语义召回 / 精排 / 本地大模型;未安装则自动降级为词法检索 + 规则解析
pip install sentence-transformers
pip install torch --index-url https://download.pytorch.org/whl/cpu

python -m uvicorn src.api.app:app --host 127.0.0.1 --port 8001

El panel web estar in "http://127.0.0.1:8001". "Llamadas a ent API:

# 一步式:解析 → 检索 → 自我审阅 → 交付
curl -X POST http://127.0.0.1:8001/api/agent/run \
  -F "text=分析会员复购行为,需要用户ID、订单数、支付金额"

# 多轮:对上一轮结果提出修正意见,携带历史继续纠偏
curl -X POST http://127.0.0.1:8001/api/agent/resume \
  -F "session_id=<上一轮返回的 session_id>" \
  -F "feedback=当前结果不符合预期,需要履约时效相关的资产"

El catálogo de la example "ten" to repository (data/samples/, 3000 "tablas" those cubren "dies" domains: transacciones, cont "usuario", activity, cumplimiento, atividade, servicio, riesgos, contenidos, uh, "contenidos, ubicación, "finanzas" and ... you don't "neces" more "prepara" "dat", for run and "in a CPU".

The first utiliza "ronda" the "trae" en construction of índices and "carga" models — each 3000 low in a time "recupera" in the CPU "All a takes minutes; index "se" guard in data/.cache/, and, "after" the "congella" de contenido writes the cache, rest, no "reconsa" with .***

Convertir at your props "of the data"

El system n no hard near "web" hipónesis sobre the topos of the object to recommend; if the "puedela" "etrutura" as "elemento + list of attributes + descriptions", "structur" all the dati, tables, library docs of doc, products, APIs, "entes knowledge only, with no "arte" in the functionality of "qué", orderation nor spasticleto of the agent.

1. "Obligator: dat "catálog"

"prepared" a CSV of "mesma" struktur "(see it "in data/samples/assets.sample.csv):

| La colección | With purpose | Corresponding in other "escenarios" | |---|---| | 表名 | Identification "único del elemento | ID of doc / product code / API name | | 表中文名 | Note "mos" "participa" and "búsqueda | The title of doc / name of program loan from the pr | | 字段中文名 | Attributes list (separad with |), based "para" emparejamiento of level | De campo. "sección" of the doc / "atributos de la production / "parámetero" API | | 业务分类名称 | to classify, "and participa" in "codificación" seen "segmentos | "category" by "propia" (level1/2) | | 模型概述 | The "descripción" "para" "use" in "the main retrieval | "semántic" "the main | Summary / brief description | | 技术口径 | Criteria "técnic" as "check" of the "detailed" | "inde" "complements" (the "uses /" frequent). | 周期/层级/数据域| The "tres" "dime" "nsione" of "filtro" | "tres" "dimensiones" enumerated; also if no "filtrar" "dejar" all "vacía" | |是否上架/资产类型| un prioridad de negoco and "for" "filtro" | When there is no "corprietente", as "priety fixed value" | |系统名称/库名/是否UCX表名` | "ateza" and "marcas" | You can have "fixed value" |

# config/config.yaml
data:
  assets_file: data/自有目录.csv      # 默认按 gb18030 读取

The leer "por defect" "codificación" is gb18030. If the catalog file is UTF-8, it should be "convert" in advance, or "modificar" the "codificación" in src/data_loader.py — "hies" the only "coupling" with "codificación" de archives.

The enum values must be align with the order logic. The tags, the columns, "资产码" assets, "level / period" (participan) in the priority and "filtro hard" (these are objects to be present in the "las") on which "mapping"; "de la "row" in the fall "al nivel "más" and "no" main "sieca" return none:

"clave"

"que" the values should be equal "a"

"Con" soo there are no.

资产类型

"key" of matching.ranking.priority.asset_type_rank

nivel as 0, "detás" of all "type" known

层级

"key" of matching.ranking.priority.layer_rank

"La desglosa ... "of the diagon" (the "tips" "e" layer_only_types.

周期`

Value in "CYCLE_ALIAS" of src/matching/normalize.py

En un "filtro" "of the user" of "period", this "line" isn't seleccionada

(If you can re) incorp. the "publics...** counted: "poner" the values of the "propias" in "mapas" (that "of the" if existing): the "data of "cat" to are alternative, "variable" these "catategories" or "maps" "to", "select" only "one of the two. (yoptional) de datos be "a" single "of "gránular" (the "of" the "same" "niver"); if "mezcla" "gránulos" "finos" and "gruesos" would be "the filtro" "of "domain" "dej", "the 'filtro' 'by' loss of 'subclasses'." The "catálogo" of the "eample" in the repository "ya" prepared in this "case".

ordered_rank (y "suscrit" or not) depends on the "suscription list to the que "apunta" data.ordered_file; "configuración" of the eample "no" "provice" that "achivo", "asl" the "grado" (in the "nive" doesn) activate, and after "hook" the "list" "propia".

2. "Records" of extension of four "las" (it "afecta" directly "the" the "calation" of the "retr-a)

"File"

Role

"impact" of "use" the extra example

data/samples/synonyms.sample.json

"Grupos" "de" "sinón"; "resuelven" the "diferencia" between "the" "estios" and "the" "nomenclatura" of "cat"

"notab" "disminución" of "la" retrieval of "cross" "diferences"

data/topic_aliases.json

"cial" "ot" "términos" sol. "apor" "opic " → the "canón" ("物流轨迹" → "配送轨迹")

Tasa "las de hit of "s" corpora "convers"

data/category_keywords.csv

"categorías" "de negocio" →

clues for the infercation

"in the `ab" in "divination"

data/domain_terms.txt

"proper" "of" domain "guarant" "the" "segmentation" "no" "to" "troccia"

"proper" "multi" too "ver" "be" "broken" "wrong"

(video) the synonym "tabla" can change the path via data.synonyms. The route of three "las las" those are "fijas" in "pipeline.py" y "normalize.py and "s" "basta" "re" "plazar" "the contents in the same route" Los the four of the repository are not "niver" initial: "s e" "onymous" "no" "8 groups"; "categorias" "

A
license - permissive license
Not graded
quality - not tested
C
maintenance

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Servers

  • F
    license
    Not graded
    quality
    C
    maintenance
    Enterprise-grade MCP server with multi-agent system for business AI transformation across finance, healthcare, retail, and other domains. Provides specialized AI agents for data analysis, API execution, business validation, and report generation with real-time monitoring and observability.
  • F
    license
    Not graded
    quality
    D
    maintenance
    This MCP server enables intelligent API testing automation by combining RAG knowledge retrieval with tool execution capabilities. It allows QA engineers to perform natural language-driven API testing with contextual knowledge support.
  • F
    license
    Not graded
    quality
    D
    maintenance
    MCP server exposing portfolio AI tools including semantic search, evaluation framework, and prompt management, enabling natural language interaction with these services via Claude Desktop.

View all related MCP servers

Related MCP Connectors

  • MCP server for generating rough-draft project plans from natural-language prompts.

  • MCP server for AI access to Swagger by SmartBear.

  • GibsonAI MCP server: manage your databases with natural language

View all MCP Connectors

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/14shi/requirement-asset-recommender'

If you have feedback or need assistance with the MCP directory API, please join our Discord server