Realizar búsqueda semántica

Realiza una búsqueda semántica en el campo especificado y restringe el conjunto de registros especificado para el texto de búsqueda y el modelo a utilizar o para los vectores de incrustación dados.

Temas relacionados 

Opciones 

  • Consulta por especifica si la consulta es Idioma natural (texto) o incrustación Datos vectoriales.

  • Conjunto de registros selecciona si buscar en Todos los registros o en el Conjunto encontrado actual.

  • Campo objetivo especifica un campo de texto o contenedor donde buscar. El contenido del campo debe ser vectores de incrustación, ya sea como una matriz JSON, si es un campo de texto, o como datos binarios, si es un campo contenedor.

  • Recuento de devoluciones es una expresión numérica para el número de registros semánticamente similares que se devolverán como conjunto encontrado. Si no se especifica, el valor predeterminado es un máximo de 10 registros.

  • Condición de similitud del coseno especifica cómo se compara la similitud del coseno de los datos con el Valor de similitud del coseno. Si no se especifica, el conjunto encontrado no estará limitado por una condición de similitud del coseno.

  • Valor de similitud del coseno es el umbral utilizado junto con la Condición de similitud del coseno para determinar si los datos son semánticamente similares o diferentes. Esta expresión numérica debe tener un valor entre -1 (diferente) y 1 (similar), ambos incluidos.

Opciones disponibles solo cuando Consulta por es Idioma natural:

  • Nombre de cuenta es una expresión de texto de la cuenta de IA que debe usar este paso de guión. En el archivo actual, utilice el paso de guión Configurar cuenta de IA para configurar la cuenta y asignarle este nombre en cualquier momento antes de que se ejecute este paso de guión.

  • Modelo de incrustación es el nombre del modelo para generar vectores de incrustación. Especifique el nombre del modelo como una expresión de texto, que está disponible en el proveedor del modelo.

  • Texto es una expresión de texto para que el texto que hay que buscar. Este texto se envía al modelo para compararlo con los vectores de incrustación en Campo objetivo en busca de similitud.

Opciones disponibles solo cuando Consulta por es Datos vectoriales:

  • Los vectores de incrustación que representan el texto que hay que buscar. Esta es una expresión que devuelve datos de contenedor, como una referencia a un campo contenedor. Los resultados serán semánticamente similares al texto que representan estos datos vectoriales.

Compatibilidad 

Producto Format
FileMaker Pro
FileMaker Go
FileMaker WebDirect
FileMaker Server
FileMaker Cloud
FileMaker Data API
Publicación en la Web personalizada

Se origina en 

21.0

Descripción 

Este paso de guión busca registros en los que el contenido del Campo objetivo es semánticamente similar a la consulta, en lugar de buscar coincidencias de palabras clave como lo hace el paso de guión Ejecutar búsqueda.

Este paso de guión tiene dos modos de operación determinados por la opción Consulta por:

  • Cuando se establece en Idioma natural, debe proporcionar la consulta como texto en lenguaje natural en la opción Texto. Este paso de guión envía ese texto de consulta al modelo especificado para su conversión a vectores de incrustación. Esta es la razón por la que este modo requiere un nombre de cuenta de IA y un modelo de incrustación.

  • Cuando se establece en Datos vectoriales, debe proporcionar los vectores de incrustación como datos de contenedor para la consulta. Si utiliza comúnmente ciertas consultas, puede ser más eficiente obtener vectores de incrustación para esas consultas una vez y almacenarlos en lugar de obtenerlos con frecuencia del modelo.

Comenzando con todos los registros de la tabla actual o solo con los registros del conjunto encontrado actual (establecido por la opción Conjunto de registros), este paso de guión compara los datos del Campo objetivo con la consulta de similitud semántica (o diferencia). El resultado es un conjunto encontrado restringido (estrecho) de no más de Recuento de devoluciones registros que cumplan las condiciones de similitud del coseno. El conjunto encontrado resultante se ordena por similitud del coseno descendente, de modo que los registros más relevantes aparecen en primer lugar.

Ejemplo 1 

Configura una cuenta de IA, va a la presentación Detalles de la reunión, luego, en todos los registros, realiza una búsqueda semántica de Texto (como lenguaje natural) en el campo contenedor Reuniones::Nota_Incrustación, que contiene vectores de incrustación para el contenido del campo Reuniones::Nota (consulte el Ejemplo 1 en Insertar incrustación en el conjunto encontrado). Para obtener resultados más útiles, el recuento de devoluciones está limitado a 10 y la similitud del coseno entre Texto y el contenido del campo Reuniones::Nota_Incrustación debe ser mayor que 0,4. El conjunto encontrado resultante se ordena primero con los registros más relevantes.

Copiar
Configurar cuenta de IA [ Nombre de cuenta: "mi-cuenta" ; Proveedor del modelos: OpenAI ; Clave API: "sk-RZCtpWT..." ]

Ir a presentación [ "Detalles de la reunión" (Reuniones) ; Animación: Ninguna ]

Realizar búsqueda semántica [ Consulta por: Idioma natural ; Nombre de cuenta: "mi-cuenta" ; Modelo de incrustación: "text-embedding-3-small" ; Texto: "Contratación, definición del trabajo, plan de formación" ; Conjunto de registros: Todos los registros ; Campo objetivo: Reuniones::Nota_Incrustación ; Recuento de devoluciones: 10 ; Condición de similitud del coseno: es mayor que ; Valor de similitud del coseno: ,4 ]

Ejemplo 2 

Configura una cuenta de AI, va a la presentación Detalles de la reunión y, a continuación, pide al usuario que busque un texto. La función GetEmbedding envía ese texto al modelo, luego Establecer campo almacena los vectores de incrustación en el campo contenedor global Reuniones::Entrada. Suponiendo que el campo contenedor Reuniones::Nota_Incrustación contiene vectores de incrustación para el contenido del campo Reuniones::Nota (consulte el Ejemplo 1 en Insertar incrustación en el conjunto encontrado), Realizar búsqueda semántica compara los datos vectoriales de Reuniones::Entrada con Reuniones::Nota_Incrustación en todos los registros y devuelve un conjunto encontrado que cumple con los criterios de recuento de devolución y similitud.

Copiar
Configurar cuenta de IA [ Nombre de cuenta: "mi-cuenta" ; Proveedor del modelos: OpenAI ; Clave API: "sk-RZCtpWT..." ]

Ir a la presentación [ "Detalles de la reunión" (Reuniones) ; Animación: Ninguna ]

Mostrar cuadro de diálogo personalizado [ "Buscar reuniones con notas sobre:" ; $Input ]
Establecer campo [ Reuniones::Entrada ; GetEmbedding ( "mi-cuenta" ; "text-embedding-3-small" ; $Input ) ]

Realizar búsqueda semántica [ Consulta por: Datos vectoriales; Reuniones::Entrada ; Conjunto de registros: Todos los registros ; Campo objetivo: Reuniones::Nota_Incrustación ; Recuento de devoluciones: 10 ; Condición de similitud del coseno: es mayor que ; Valor de similitud del coseno: ,4 ]