¿Cómo genera Cody respuestas a partir de tus documentos?
Cuando empieces a utilizar Cody, es posible que te sientas decepcionado o desanimado porque Cody no es capaz de generar las respuestas esperadas. En este breve blog, no profundizaremos en cómo deberías utilizar Cody, pero te daremos una idea aproximada de cómo Cody utiliza tus documentos para generar respuestas, de modo que puedas entender mejor el proceso de generación y experimentar con él.
Hay dos factores principales que afectan principalmente a la generación de respuestas utilizando sus documentos:
- Agrupar
- Ventana de contexto
Ambas terminologías, el chunking y la ventana contextual, están interrelacionadas. Se puede establecer una sencilla analogía para comparar la generación de respuestas con la cocción de alimentos. Los trozos pueden verse como las piezas individuales de verdura que se cortan, mientras que la ventana de contexto representa el tamaño del utensilio de cocina. Es importante cortar las verduras en trozos de tamaño óptimo para realzar el sabor general, y un utensilio más grande permite añadir más trozos de verdura.
¿Qué es la fragmentación?
En términos sencillos, la fragmentación es el acto de dividir el contenido en partes manejables para un uso eficiente de la memoria. Si ha leído nuestros blogs, sabrá que modelos como GPT requieren recursos considerables y, para hacer frente a las limitaciones de la ventana contextual, empleamos múltiples procesos como el chunking.
La fragmentación es un proceso que se realiza después de cargar los documentos en Cody. Divide o segmenta el documento en varios fragmentos, cada uno de los cuales contiene el contexto circundante pertinente. A estos trozos se les asignan etiquetas numéricas para facilitar el cálculo, lo que se conoce como incrustación. Es importante encontrar el tamaño óptimo de los trozos. Un tamaño de trozo menor reduce la relevancia del contexto, mientras que un tamaño de trozo mayor introduce más ruido. El algoritmo de troceado de Cody ajusta dinámicamente el tamaño del trozo en función de la distribución de tokens establecida por el usuario.
¿Cómo afecta la Ventana de Contexto a las respuestas del Bot?
En la calidad de las respuestas de los bots influyen varios factores, como el indicador de personalidad, la puntuación de relevancia, etc. La ventana contextual del modelo también desempeña un papel importante en la determinación de la calidad. La ventana de contexto se refiere a la cantidad de texto que un LLM (Modelo de Lenguaje) puede procesar en una sola llamada. Dado que Cody utiliza incrustaciones e inyección de contexto para generar respuestas utilizando modelos OpenAI, una ventana de contexto más amplia permite una mayor ingestión de datos por parte del modelo en cada consulta.
💡 Cada Consulta (≤ Ventana de Contexto) = Personalidad del Bot + Trozos de Conocimiento + Historial + Entrada del Usuario + Respuesta.
Ventanas contextuales de distintos modelos:
- GPT-3.5: 4096 fichas (≈3500 palabras)
- GPT-3.5 16K: 16000 fichas (≈13000 palabras)
- GPT-4: 8000 fichas (≈7000 palabras)
Cuando la ventana contextual es más grande, permite una mayor proporción de cada parámetro, incluyendo Personalidad, Trozos, Historia, Entrada y Respuesta. Este contexto ampliado permite al robot generar respuestas más pertinentes, coherentes y creativas.
La última incorporación de Cody permite a los usuarios comprobar las citas de los documentos haciendo clic en el nombre del documento al final de las respuestas. Estas citas corresponden a los trozos obtenidos mediante la búsqueda semántica. Cody determina el umbral de trozos para el contexto basándose en la puntuación de relevancia establecida por el usuario. Si el usuario establece una puntuación de relevancia alta, Cody sólo utiliza los trozos que superan un umbral predefinido como contexto para generar la respuesta.
Ejemplo
Asumiendo un valor límite predefinido del 90% para una puntuación de relevancia alta, Cody descarta cualquier trozo con una puntuación de relevancia inferior al 90%. Recomendamos a los nuevos usuarios que empiecen con una puntuación de relevancia baja (baja o equilibrada), especialmente cuando utilicen documentos cargados (PDF, Powerpoints, Word, etc.) o sitios web. Los documentos o sitios web cargados pueden encontrar problemas de formato y legibilidad durante el preprocesamiento, lo que puede dar lugar a puntuaciones de relevancia más bajas. Formatear el documento utilizando nuestro editor de texto integrado en lugar de cargar documentos sin formato garantizará la máxima precisión y puntuación de confianza.
Si te ha parecido interesante este blog y quieres profundizar en los conceptos de ventana contextual y chunking, te recomendamos encarecidamente que leas este blog escrito por Kristian de All About AI. Para obtener más recursos, también puedes consultar nuestro Centro de ayuda y unirte a nuestra comunidad de Discord.