Resultados de extracción y generación del motor de RAG de Vertex AI

En esta página se explica cada campo de la salida del motor de RAG de Vertex AI.

retrieveContexts

En esta sección se describe cada campo definido en la API retrieveContexts y se utilizan los campos en código de ejemplo.

Campos

Nombre del campo Descripción
source_uri El archivo de origen original antes de importarse en RAG. Si el archivo se importa de Cloud Storage o Google Drive, source_uri es el URI del archivo original en Cloud Storage o Drive. Si el archivo se ha subido, source_uri es el nombre visible del archivo.
source_display_name Nombre visible del archivo.
text El fragmento de texto pertinente para la consulta.
score La similitud o la distancia entre la consulta y el fragmento de texto. La similitud o la distancia dependen del vectorDB que elijas. En el caso de ragManagedDB, la puntuación es COSINE_DISTANCE.

Ejemplo de salida

En este código de ejemplo se muestra cómo usar los campos para generar un resultado de ejemplo.

contexts {
    source_uri: "gs://sample_folder/hello_world.txt"
    source_display_name: "hello_world.txt"
    text: "Hello World!"
    score: 0.60545359030757784
  }

generateContent

La mayoría de los campos definidos para la API generateContent se encuentran en el cuerpo de la respuesta.

Campos

En esta sección se describe cada campo definido en la parte grounding_metadata de la API generateContent y se usan los campos en un código de ejemplo.

Nombre del campo Descripción
text La respuesta generada por Gemini.
grounding_chunks Los fragmentos devueltos por el motor de RAG de Vertex AI.
retrieved_context Un campo repetido que puede tener cero o más fragmentos que se usan para fundamentar el contenido generado.
  • uri
  • El source_uri especifica dónde se almacenan los datos originalmente.
  • title
  • El source_display_name es el nombre de archivo o el nombre visible del archivo original.
  • text
  • El fragmento de texto se usa para fundamentar la respuesta de Gemini.
grounding_supports La relación entre el contenido generado y los fragmentos de información. Este es un campo repetido. Cada campo grounding_supports muestra la relación entre un segmento de texto del contexto generado y uno o varios fragmentos de texto que se han obtenido mediante RAG.
segment El segmento de texto fundamentado del texto generado.
  • start_index
  • El primer índice del texto fundamentado. Si falta el parámetro start_index, el valor de start_index es 0.
  • end_index
  • El último índice del texto fundamentado.
  • text
  • El texto fundamentado.
grounding_chunk_indices El fragmento que se usa para fundamentar el segmento de texto. Se puede usar más de un fragmento para fundamentar el texto. El índice empieza por 0, que representa el primer fragmento del campo grounding_chunks. El suelo está en todo el fragmento. No se ha especificado la parte del fragmento que fundamenta la respuesta.
confidence_scores La puntuación que se usa para basar el texto en un fragmento determinado. La puntuación más alta posible es 1 y, cuanto más alta sea la puntuación, mayor será el nivel de confianza. Cada puntuación coincide con cada grounding_chunk_indices. En la salida solo se incluyen los fragmentos con una puntuación de confianza de al menos 0.6.

Ejemplo de salida

En este código de ejemplo se muestra cómo usar los campos para generar un resultado de ejemplo.

candidates {
  content {
    role: "model"
    parts {
      text: "The rectangle is red and the background is white. The rectangle appears to be on some type of document editing software. \n"
    }
  }
  grounding_metadata {
    grounding_chunks {
      retrieved_context {
        uri: "a.txt"
        title: "a.txt"
        text: "Okay ,  I  see  a  red  rectangle  on  a  white  background .  It looks like it\'s on some sort of document editing software. It has those small squares and circles around it, indicating that it\'s a selected object ."
      }
    }
    grounding_chunks {
      retrieved_context {
        uri: "b.txt"
        title: "b.txt"
        text: "The  video  is  identical  to  the  last  time  I  described  it .  It shows a blue rectangle on a white background."
      }
    }
    grounding_chunks {
      retrieved_context {
        uri: "c.txt"
        title: "c.txt"
        text: "Okay ,  I  remember  the  rectangle  was  blue  in  the  past  session . Now it is red.\n The  red  rectangle  is  still  there .  It \' s  still  in  the same position on the white background, with the same handles around it. Nothing new is visible since last time.\n You \' re  welcome .  The  red  rectangle  is  still  the  only  thing visible."
      }
    }
    grounding_supports {
      segment {
        end_index: 49
        text: "The rectangle is red and the background is white."
      }
      grounding_chunk_indices: 2
      grounding_chunk_indices: 0
      confidence_scores: 0.958192229
      confidence_scores: 0.992316723
    }
    grounding_supports {
      segment {
        start_index: 50
        end_index: 120
        text: "The rectangle appears to be on some type of document editing software."
      }
      grounding_chunk_indices: 0
      confidence_scores: 0.98374176
    }
  }
}

Siguientes pasos