giva-discovery / src /embeddings.py
Gautham98's picture
GIVA Discovery: full app + vectors
73d02ec verified
Raw
History Blame Contribute Delete
745 Bytes
"""
embeddings.py — single source of the embedding function used by BOTH ingest.py
and search.py (they must match, or query vectors won't align with the index).
Uses Chroma's built-in ONNX all-MiniLM-L6-v2 (onnxruntime). This deliberately
avoids torch / sentence-transformers, whose unsigned DLLs get blocked by Windows
App Control on managed devices. onnxruntime's DLLs are signed and pass.
"""
from chromadb.utils import embedding_functions
_ef = None
def get_embedding_function():
"""Return a shared ONNX MiniLM embedding function (cached)."""
global _ef
if _ef is None:
# DefaultEmbeddingFunction == ONNXMiniLM_L6_V2 in current chromadb.
_ef = embedding_functions.DefaultEmbeddingFunction()
return _ef