@@ -28,32 +28,32 @@ def test_rag_search_nominal(session: Session):
2828 # Recharger le moteur RAG (synchronisation avec la DB)
2929 engine = RAGService ()
3030 engine .reload_from_db (session )
31- # MOCKER la collection ChromaDB pour éviter le TypeError.
3231 engine .collection = MagicMock ()
3332 engine .collection .query .return_value = {
3433 "ids" : [["1" ]],
35- "distances" : [[0.1 ]], # Doit être un float, pas un Mock
34+ "distances" : [[0.1 ]],
3635 "metadatas" : [[{
3736 "answer" : "Allez sur la page inscription." ,
38- "question " : "Comment créer un compte ?"
37+ "original_question " : "Comment créer un compte ?"
3938 }]],
4039 }
41- # Tester une recherche pertinente
40+ # Test
4241 result = engine .search ("créer compte utilisateur" )
43- # Le score devrait être élevé car la question est proche
44- assert result ["confidence" ] > 0.0
45- assert result ["answer" ] == "Allez sur la page inscription."
42+ assert result ["confidence" ] > 0.8
43+ assert "inscription" in result ["answer" ]
4644
4745def test_rag_search_no_match (session : Session ):
4846 """Vérifie le comportement quand rien ne correspond."""
4947 engine = RAGService ()
5048 engine .reload_from_db (session )
51- # MOCKER la collection pour simuler une distance élevée (pas de match).
5249 engine .collection = MagicMock ()
5350 engine .collection .query .return_value = {
5451 "ids" : [["1" ]],
5552 "distances" : [[1.5 ]],
56- "metadatas" : [[{"answer" : "Réponse non pertinente" }]]
53+ "metadatas" : [[{
54+ "answer" : "Réponse non pertinente" ,
55+ "original_question" : "Question non pertinente"
56+ }]]
5757 }
5858 result = engine .search ("Une question qui n'a aucun sens ici" )
5959 assert result ["answer" ] is None
0 commit comments