Saltar al contenido principal
🔒 Modo vista previa. Las primeras quince lecciones de Foundations son gratis; esta es Pro. Inicia un trial de 7 días para desbloquear el editor, las pistas AI y el resto del programa. Tarjeta requerida, cancela cuando quieras en Dashboard.Iniciar trial de 7 días →
← CursosAI Engineering with PythonMódulo 3 · RAG (Recuperación-Generación Aumentada)Búsqueda híbrida: BM25 + vectorwrite37 / 105
+100 XP
Tarea
📝 **Pregunta:** **Escribe la función** \`rrf(rankings, k=60)\` — Fusión de rangos recíprocos. Toma una lista de clasificaciones (cada clasificación es una lista ordenada de ID de documentos de mejor a peor, de un solo recuperador) y devuelve el top-K fusionado como una lista de ID de documentos ordenados por puntuación RRF total, el más alto primero. Fórmula para un documento en una clasificación en la posición \`rank\` indexada a cero: \`\`\` puntuación = 1 / (k + rango) \`\`\` Sumar puntuaciones en todas las clasificaciones de cada documento; ordenar documentos por puntuación total descendente. Luego fusione un vector y un recuperador BM25 para una consulta "SKU-4471": \`\`\` vector = ["doc-A", "doc-B", "doc-C", "doc-D"] # vector cree que A es mejor bm25 = ["doc-D", "doc-A", "doc-E", "doc-F"] # bm25 pone D primero (coincide con el SKU) \`\`\` Imprima el top 4 fusionado como una lista de Python: \`\`\` ['doc-A', 'doc-D', 'doc-B', 'doc-C'] \`\`\` A aparece en ambas listas en los rangos más altos → gana. D fue el número 1 en BM25 → supera a B y C aunque el vector no lo favoreció. Eso es RRF: documentos altamente clasificados según CUALQUIER superficie de recuperador. 📋 Elige la respuesta correcta. 💡 **Pista:** Vuelve a leer la teoría anterior si no estás seguro.
✏️ Escribe tu código aquí
🐍
Cargando Python...
Descarga única (~1 MB). Después, es instantáneo.
📊 Resultado
Pulsa Ejecutar para ver el resultado...

💬 Discusión

Sé el primero en hacer una pregunta o compartir un consejo.
Inicia sesión para unirte a la discusión. Leer es gratis.
Cargando discusión…