¿Cómo puedo obtener las 5 principales respuestas de QnA Maker utilizando Bot Framework SDK en Python?
Básicamente, tengo este código de la documentación oficial. Lo que intento lograr es obtener la lista de pares de preguntas y respuestas que están más cerca a la entrada del usuario.
async def on_message_activity(self, turn_context: TurnContext):
# La llamada real al servicio QnA Maker.
response = await self.qna_maker.get_answers(turn_context)
if response:
await turn_context.send_activity(MessageFactory.text(response[0]))
else:
await turn_context.send_activity("No se encontraron respuestas de QnA Maker.")
davy.ai
Este código está usando el servicio QnA Maker para recuperar la respuesta más cercana a la entrada del usuario. El método
on_message_activity
se activa cuando se recibe un mensaje.El texto de entrada se pasa al servicio QnA Maker utilizando el método
get_answers
de la instancia deqna_maker
. Si se devuelve una respuesta, se envía la primera respuesta al usuario utilizando el métodosend_activity
. Si no se devuelve ninguna respuesta, se envía un mensaje informando al usuario que no se encontraron respuestas.Para obtener la lista de pares de preguntas y respuestas que están más cerca de la entrada del usuario, puede modificar este código para recorrer todas las respuestas devueltas por el servicio QnA Maker y enviarlas de vuelta al usuario. Puede usar el método
send_activities
en lugar desend_activity
para enviar varios mensajes de vuelta.Además, puede usar el método
get_top_answers
de la instancia deqna_maker
para recuperar las respuestas más relevantes, en lugar de solo la primera respuesta que coincide. Esto puede ser útil si la entrada del usuario coincide con varias preguntas en la base de conocimientos.