본문 바로가기
TechStudy/LLM

[문제해결] ChromaDB 검색의 유사도 점수가 L2 Norm으로 출력되는 이유

문제 상황: RAG로 검색된 DB 조회시 유사도 점수가 코사인 기준이 아닌 L2 Norm으로 출력

 

원인: Chroma DBvector를 저장할 때 기본값이 L2 Norm

 

 

      db = Chroma.from_documents(
            batch,      
            HuggingFaceBgeEmbeddings(model_name=embedding_model, model_kwargs={'device': 'cuda'}),   
            persist_directory='벡터DB 경로',
            collection_metadata={"hnsw:space": "cosine"})

 

해결 방법: Vector 저장할 때 collection_matadata에서 cosine으로 명확히 지정하여 해결

728x90
반응형