Update src/app.py
Browse files- src/app.py +10 -13
src/app.py
CHANGED
|
@@ -187,36 +187,33 @@ if query:
|
|
| 187 |
# 2. Reranking des documents pour améliorer la pertinence
|
| 188 |
if docs:
|
| 189 |
rerank_result = st.session_state.reranker.rerank(query, passages)
|
| 190 |
-
|
| 191 |
-
# Si le reranker a bien retourné un résultat
|
| 192 |
if rerank_result is not None:
|
| 193 |
st.session_state.last_rerank = rerank_result.model_dump()
|
| 194 |
-
|
| 195 |
-
|
| 196 |
-
# Vérification si un feedback est requis
|
| 197 |
if rerank_result.feedback_required:
|
| 198 |
st.session_state.messages.append({
|
| 199 |
"role": "assistant",
|
| 200 |
"content": rerank_result.message
|
| 201 |
})
|
| 202 |
st.rerun() # Arrête ici pour laisser l'utilisateur reformuler
|
| 203 |
-
|
| 204 |
-
# Filtrage et réorganisation des documents selon le reranking
|
| 205 |
if rerank_result.top_indexes:
|
| 206 |
reranked_docs = [docs[i] for i in rerank_result.top_indexes if i < len(docs)]
|
| 207 |
docs = reranked_docs
|
| 208 |
else:
|
|
|
|
| 209 |
st.session_state.messages.append({
|
| 210 |
"role": "assistant",
|
| 211 |
-
"content":
|
| 212 |
})
|
| 213 |
-
st.stop()
|
| 214 |
-
|
| 215 |
-
# Si le reranker a échoué
|
| 216 |
-
# Si le reranker a échoué
|
| 217 |
else:
|
|
|
|
| 218 |
pass
|
| 219 |
-
|
|
|
|
|
|
|
| 220 |
|
| 221 |
|
| 222 |
|
|
|
|
| 187 |
# 2. Reranking des documents pour améliorer la pertinence
|
| 188 |
if docs:
|
| 189 |
rerank_result = st.session_state.reranker.rerank(query, passages)
|
| 190 |
+
|
|
|
|
| 191 |
if rerank_result is not None:
|
| 192 |
st.session_state.last_rerank = rerank_result.model_dump()
|
| 193 |
+
|
|
|
|
|
|
|
| 194 |
if rerank_result.feedback_required:
|
| 195 |
st.session_state.messages.append({
|
| 196 |
"role": "assistant",
|
| 197 |
"content": rerank_result.message
|
| 198 |
})
|
| 199 |
st.rerun() # Arrête ici pour laisser l'utilisateur reformuler
|
| 200 |
+
|
|
|
|
| 201 |
if rerank_result.top_indexes:
|
| 202 |
reranked_docs = [docs[i] for i in rerank_result.top_indexes if i < len(docs)]
|
| 203 |
docs = reranked_docs
|
| 204 |
else:
|
| 205 |
+
# Ici : si reranker vide, afficher le message d'excuse et ne pas continuer
|
| 206 |
st.session_state.messages.append({
|
| 207 |
"role": "assistant",
|
| 208 |
+
"content": "I'm sorry, I cannot answer this request. It is beyond my capabilities or not related to car insurance."
|
| 209 |
})
|
| 210 |
+
st.experimental_rerun() # Ou st.stop() pour stopper l'exécution
|
|
|
|
|
|
|
|
|
|
| 211 |
else:
|
| 212 |
+
# reranker a échoué, tu peux aussi gérer ce cas si besoin
|
| 213 |
pass
|
| 214 |
+
|
| 215 |
+
|
| 216 |
+
|
| 217 |
|
| 218 |
|
| 219 |
|