Semantic Search Curation
Semantic Search Curation
Search
Benchmark
Batch Report
Query (format: supplier | description)
Max results per search (K)
Google threshold
MiniLM threshold
Search & Curate
{% if error %}
{{ error }}
{% endif %} {% if results %}
{% for model in ['google', 'minilm'] %} {% set data = results[model] %}
{{ model.upper() }}
({{ "%.1f"|format(data.timing_ms) }}ms)
{% for cluster in data.clusters[:6] %}
{{ cluster.debit_account }}
{% if cluster.cost_center %}
/{{ cluster.cost_center }}
{% endif %}
({{ cluster.total_matches }})
{% endfor %} {% if data.clusters|length > 6 %}
+{{ data.clusters|length - 6 }} more
{% endif %}
{% for cluster in data.clusters %}
{{ cluster.debit_account }}
{% if cluster.cost_center %}
/ {{ cluster.cost_center }}
{% endif %}
{{ cluster.total_matches }} matches
{{ cluster['items']|length }} items
▼
Supplier
Description
Amount
Sim
{% for item in cluster['items'] %}
{{ item.supplier_name }}
{{ item.description }}
{% if item.net_amount %} {{ "%.2f"|format(item.net_amount|float) }} {% endif %}
{% set sim_pct = (item.similarity * 100)|int %}
{{ sim_pct }}%
{% endfor %}
{% endfor %}
Stats:
Raw matches: {{ data.metadata.total_raw_matches }} | Unique: {{ data.metadata.unique_matches }} | Clusters: {{ data.metadata.clusters_count }} | Items: {{ data.clusters | map(attribute='items') | map('length') | sum if data.clusters else 0 }}
{% endfor %}
{% endif %}