henryschultz
huggingface deployment
7eaced5
Raw
History Blame Contribute Delete
1.19 kB
"""
Search term mappings — applied before embedding wherever vector search occurs.
Keys are lowercase; the lookup is case-insensitive.
When a user's query matches a key, the mapped value is sent to the embedder
instead, so abbreviations and acronyms get a richer representation.
Edit QUERY_MAPPINGS freely — no other file needs to change.
"""
from __future__ import annotations
QUERY_MAPPINGS: dict[str, str] = {
"ai": "artificial intelligence",
"ki": "Künstliche Intelligenz",
"ml": "machine learning",
"dl": "deep learning",
"nlp": "natural language processing",
"cv": "computer vision",
"rl": "reinforcement learning",
"llm": "large language model",
"crispr": "gene editing",
}
def apply_mapping(term: str) -> tuple[str, bool]:
"""
Return (mapped_term, was_mapped).
Looks up term.strip().lower() in QUERY_MAPPINGS.
If found, returns the mapped value and True.
Otherwise returns the original stripped term and False.
"""
stripped = term.strip()
mapped = QUERY_MAPPINGS.get(stripped.lower())
if mapped:
return mapped, True
return stripped, False