CoolFace
Apppublic

sritikaa/fintech-audit-ai

sourceHugging Faceupdated 6mo agoView on Hugging Face
0likes
embedder.py41 linesDownload Raw Back to src
1import os2import numpy as np3from sentence_transformers import SentenceTransformer4from dotenv import load_dotenv5 6load_dotenv()7 8MODEL_NAME = os.getenv("EMBEDDING_MODEL", "all-MiniLM-L6-v2")9 10_model = None11 12def get_model():13    global _model14    if _model is None:15        print(f"Loading embedding model: {MODEL_NAME}...")16        _model = SentenceTransformer(MODEL_NAME)17        print("Model loaded.")18    return _model19 20def embed(texts: list) -> np.ndarray:21    model = get_model()22    return model.encode(texts, normalize_embeddings=True, show_progress_bar=True)23def cosine_similarity(a: np.ndarray, b: np.ndarray) -> float:24    return float(np.dot(a, b))25 26if __name__ == "__main__":27    test = [28        "JPMorgan total revenue 2025",29        "Goldman Sachs risk management",30        "Bank of America loan portfolio",31        "What is the weather today",   # unrelated — should score low32    ]33 34    print("Embedding test sentences...\n")35    embeddings = embed(test)36    print(f"\nEmbedding shape: {embeddings.shape}")37    print(f"\nSimilarity to 'JPMorgan total revenue 2025':")38    for i, sentence in enumerate(test):39        sim = cosine_similarity(embeddings[0], embeddings[i])40        print(f"  {sentence:<45} → {sim:.4f}")41