--- name: embedding_search_usearch kind: function lang: py domain: infra version: "1.0.0" purity: impure signature: "def embedding_search_usearch(path: str, query_embedding: list, k: int = 10, dim: int = 384) -> list" description: "Busca los k vecinos mas cercanos en indice USearch persistido. Busqueda sub-milisegundo." tags: [embedding, usearch, vector, search, retrieval, ann, python, pendiente-usar] uses_functions: [] uses_types: [] returns: [] returns_optional: false error_type: "error_go_core" imports: [usearch, numpy] params: - name: path desc: "ruta al archivo de índice USearch persistido" - name: query_embedding desc: "vector de embedding (list[float]) a usar como query" - name: k desc: "cantidad de vecinos aproximados a retornar" - name: dim desc: "dimensión del espacio de embeddings (por defecto 384 para e5-small)" output: "list[dict]: resultados con 'key' y 'distance' (inner product, mayor=más similar)" tested: false tests: [] test_file_path: "" file_path: "python/functions/embedding/usearch_store.py" --- ## Ejemplo ```python model = embedding_load_model(".local/models/e5-small") q_emb = embedding_encode(model, ["¿Que es machine learning?"], mode="query")[0] results = embedding_search_usearch("docs.usearch", q_emb, k=5) # [{"key": 0, "distance": 0.82}, {"key": 1, "distance": 0.65}, ...] ``` ## Notas Carga el indice completo a RAM antes de buscar. Cold start ~190ms para 50k vectores. Busqueda aproximada (HNSW) — puede no encontrar el vecino exacto pero es 150x mas rapido que brute-force. Distance es inner product (mayor = mas similar, al reves que sqlite-vec).