feat: mimise rag response mcp#26
Conversation
Co-authored-by: Copilot <copilot@github.com>
Kaiohz
left a comment
There was a problem hiding this comment.
🔍 Code Review - PR #26
📊 Score: 6/10
✅ Points Positifs
- Tests mis à jour - Les tests unitaires ont été correctement adaptés pour valider les nouvelles structures de réponse
- Intention claire - La minimisation des réponses MCP est une bonne amélioration pour réduire la payload
- Séparation des modèles - Création de modèles dédiés pour MCP (
McpRagResponse,McpClassicalRagResponse) - bonne pratique
⚠️ Problèmes à Corriger
1. 🐛 Bug potentiel dans la logique de transformation
Fichier: mcp_classical_tools.py lignes 49-54
for item in response.queries:
for chunk in response.chunks:
if chunk.chunk_id.startswith(item):
classical_response.rag_response.append(...)Cette logique semble incorrecte:
itemvient deresponse.queries(liste de strings = queries générées par multi-query)chunk_id.startswith(item)n'a pas de sens : un chunk_id ne peut pas commencer par une query textuelle- Résultat probable: Liste vide si la logique ne matche jamais
Suggestion: Vérifier l'intention. Si le but est de lier chunks à leurs queries, utiliser plutôt l'index ou un mapping explicite.
2. 📝 PR sans description
Aucune description dans la PR. Difficile de comprendre le contexte et la motivation du changement sans lire le diff.
Suggestion: Ajouter une description avec:
- Contexte/Motivation
- Changements principaux
- Impact sur les consommateurs MCP
3. 🔤 Typo dans le titre
"mimise" → "minimise"
4. 🔧 Inconsistances dans les modèles
query_response.py:
class McpRagResponse(BaseModel):
rag_response: list[RagResponse] # Pas de Field()classical_query_response.py:
class McpClassicalRagResponse(BaseModel):
rag_response: list[ClassicalRagResponse] = Field(
default_factory=list, description="..."
)Suggestion: Harmoniser les deux modèles pour la cohérence.
5. 🔚 Trailing newline manquant
Fichier: classical_query_response.py - pas de newline à la fin du fichier
❓ Questions
- CI: Suppression du build PostgreSQL - est-ce intentionnel? Le PostgreSQL custom n'est plus nécessaire?
- Breaking change: Cette modification casse-t-elle l'API MCP existante? Les consommateurs doivent-ils être notifiés?
📋 Recommandations
- Corriger la logique de transformation dans
mcp_classical_tools.py - Ajouter une description à la PR
- Corriger la typo dans le titre
- Harmoniser les modèles Pydantic
- Ajouter trailing newline
- Confirmer l'intention de la suppression du build Postgres
Une fois ces points corrigés, la PR sera prête pour merge. 🚀
🔍 Code Review - PR #26📊 Score: 7/10✅ Points positifs
|
No description provided.