Una idea errónea que muchos tenemos sobre la IA es que nuestras expectativas son:
graph TD
Question -->|"Magia de IA costosa"| Answer
Answer["La respuesta perfecta"]
Puede ser extremadamente frustrante gastar $$$ en un modelo insignia y aun así obtener resultados deficientes.
En este tema, me gustaría dedicar tiempo a ajustar las expectativas y señalar varias funciones que Discourse AI ofrece para ayudar a obtener mejores respuestas.
Cómo funciona realmente Discourse AI
La realidad es más matizada. Cuando haces una pregunta, esto es lo que sucede:
graph TD
Question --> Consolidation[Consolidación de la pregunta]
Consolidation --> RAG[Sistema RAG]
RAG --> ToolSelection[Selección de herramientas]
ToolSelection --> Search[Búsqueda]
ToolSelection --> Categories[Categorías]
ToolSelection --> Tags[Etiquetas]
Search --> Context[Recopilar contexto]
Categories --> Context
Tags --> Context
Context --> Answer[Generar respuesta]
- Tu pregunta se consolida y se comprende primero.
- Nuestro sistema RAG busca en el conocimiento disponible (opcional).
- Según lo que encuentre, decide qué herramientas utilizar (opcional).
- Las herramientas recopilan información específica.
- Todo se combina para generar una respuesta.
El contexto lo es todo
Al utilizar sistemas de IA para responder preguntas, el contexto es clave.
Los modelos de lenguaje grandes (LLM) como GPT-4 o Claude 3.5 Sonnet se entrenan con una gran cantidad de datos públicos. Sin embargo, hay dos advertencias que hacen que sea menos ideal para responder preguntas específicas de un dominio:
- Los LLM se entrenan con datos públicos.
- Los LLM tienen una fecha de corte de entrenamiento, lo que significa que es probable que falten en el conjunto de datos los datos públicos de solo unos meses de antigüedad.
En el caso de un foro cerrado, no habrá nada en el conjunto de datos, lo que hace que el contexto sea aún más clave.
Contexto es la información que proporcionamos a un LLM antes de que responda una pregunta para ayudarlo a responderla correctamente.
¿Cómo se obtiene contexto?
El contexto se puede suministrar de varias maneras:
- Automáticamente usando RAG (Generación Aumentada por Recuperación): cuando carga documentos en una persona, podemos buscar en el documento respuestas antes de responder. Primero consolidamos su pregunta y luego buscamos el contenido utilizando búsqueda semántica. Esto ayuda a guiar qué herramientas usar.
- Automáticamente usando herramientas: los LLM pueden usar herramientas (como búsqueda o lectura de temas) para encontrar información adicional basada en la guía RAG.
- Manualmente: puede pegar una gran cantidad de texto y luego hacer preguntas a un LLM sobre él.
Contexto basado en herramientas
El Asistente de Foro de Discourse utiliza herramientas para buscar, leer temas y publicaciones, listar categorías o etiquetas.
Cuando le hace una pregunta al Asistente del Foro, el modelo primero usa RAG para comprender qué podría ser relevante y luego decide qué herramientas ayudarán a obtener mejores respuestas.
En este ejemplo, puede ver que le pregunté al asistente del foro qué estaba haciendo, y este decidió buscar contenido de Sam publicado en la última semana y obtuvo 21 resultados.
Para comprender qué nuevo contexto obtuvo el modelo de esta búsqueda, puede habilitar la configuración: AI bot debugging allowed groups
Agregará un botón de depuración en la parte inferior de cada publicación; al hacer clic en él, se mostrará el contexto exacto que se proporcionó al LLM.
La herramienta de búsqueda de Discourse es muy rica en opciones:
Esto es tanto una bendición como una maldición. Los LLM a menudo toman decisiones subóptimas si hay demasiadas opciones sobre la mesa, intentamos mantener el número de opciones no… demasiado alto… pero dependiendo de sus necesidades, puede preferir usar una herramienta personalizada para la búsqueda.
¿Qué hago si no obtengo los resultados esperados?
Dado que el contexto lo es todo, lo primero que debe confirmar es:
- ¿El sistema RAG encontró contenido relevante para guiar las herramientas?
- ¿El LLM utilizó las herramientas adecuadas basándose en esa guía?
- ¿Las herramientas encontraron los resultados esperados?
Por ejemplo, considere este fallo:
Este es un fallo clásico tanto de la guía RAG como del uso de herramientas.
El LLM buscó:
bug critical urgent broken order:latest status:open status:public
El componente de palabra clave de esta búsqueda es bastante pobre y arroja un solo resultado; la búsqueda semántica tiene muchas dificultades para encontrar los resultados, ya que cada vez que alguien grita fuerte, lo trata como urgente.
Lo que probablemente arrojaría un mejor resultado es:
Encuentra todos los errores abiertos ordenados por op_likes que se informaron en las últimas 2 semanas. Sin embargo, este subconjunto particular de información no está disponible para la función de búsqueda tal como está, requeriría una herramienta personalizada.
Dada la gran varianza y los matices aquí, lo primero que debe hacer es monitorear las interacciones existentes de los usuarios con sus bots y recopilar tantos fallos como pueda.
¿Qué hago con los casos fallidos?
Cuando tenga una interacción fallida, tiene algunas opciones:
- Puede mejorar el prompt del sistema para dar mejores indicaciones al bot.
- Puede documentar información en el foro para darle al bot mejores resultados de búsqueda; puede priorizar su categoría de documentación para que sea más probable que la encuentre.
- Puede cargar un documento con más contexto; dividiremos el documento en fragmentos y proporcionaremos los fragmentos más cercanos a la pregunta consolidada para ayudar a fundamentar el bot.
- Si su persona se centra predominantemente en la búsqueda, fuerce el uso de la herramienta de búsqueda.
- Puede desarrollar herramientas personalizadas para satisfacer mejor sus necesidades.
- Puede aumentar la cantidad de contexto que proporciona al LLM (más resultados de búsqueda, etc.).
La IA puede ser imprecisa, resolver un problema puede crear otro
Tenga en cuenta que conseguir el bot de respuesta de preguntas de IA “perfecto” es un viaje. Crear bucles de retroalimentación monitoreados y evaluar regularmente qué tan bien lo hace le permitirá mejorarlo con el tiempo.
Tenga en cuenta cómo está construida la tecnología; si necesita acceso al contexto de 10,000 publicaciones para responder una pregunta, puede ser inviable alimentar la lista completa de publicaciones en el contexto para responder con las ventanas de contexto actuales.
La clave es comprender que obtener mejores resultados es un proceso iterativo.


