Ejecutar acción RAG

Envía una indicación o añade y elimina datos de un espacio RAG en el servidor del modelo de IA especificado por una cuenta RAG.

Temas relacionados 

Opciones 

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

  • ID de espacio es una expresión de texto que especifica el ID exclusivo del espacio RAG con el que trabajar en la cuenta RAG especificada.

  • Acción especifica el tipo de operación que se va a realizar en un espacio RAG. Esta opción controla la disponibilidad de otras opciones en el paso de guión. Elija entre las siguientes opciones:

    • Añadir datos añade un documento (datos de texto o un archivo PDF) a un espacio RAG.

    • Enviar indicación envía una indicación a un espacio RAG y obtiene una respuesta generada por la IA.

    • Eliminar datos elimina los documentos de un espacio RAG.

Opciones disponibles solo cuando Acción se ha establecido en Añadir datos:

  • Datos RAG especifica el documento que se va a añadir al espacio RAG:

    • Desde texto añade texto directamente a través de una expresión de texto.

    • Desde archivo añade un archivo PDF desde la ruta especificada, transferido de forma sincrónica.

    • Desde archivo (asinc.) añade un archivo PDF desde la ruta especificada, transferido de forma asíncrona (la mejor opción para archivos de gran tamaño).

    • Desde contenedor añade un archivo PDF desde un campo contenedor, transferido de forma síncrona.

    • Desde contenedor (asinc.) añade un archivo PDF desde un campo contenedor, transferido de forma asíncrona (la mejor opción para archivos de gran tamaño).

  • Archivo de entrada especifica una lista de una o varias rutas para un archivo PDF. El paso de guión realiza una búsqueda en la lista y añade el primer archivo PDF que encuentra correctamente. Las rutas deben utilizar uno de los prefijos de ruta image. Consulte Crear rutas de archivo.

  • Campo contenedor especifica el campo contenedor que almacena el archivo PDF que se va a añadir.

Opciones disponibles solo cuando Acción se ha establecido en Enviar indicación:

  • El valor de Enviar indicación es una expresión de texto para la indicación o la pregunta del usuario en lenguaje natural.

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

  • Modelo es el nombre del modelo de generación de texto que se utiliza. Especifique el nombre del modelo como expresión de texto. Para conocer los modelos compatibles, consulte las Especificaciones técnicas de FileMaker.

  • Transmisión controla cómo se entrega la respuesta:

    • Encendida: La respuesta se recupera y se entrega de forma incremental (palabra por palabra o en frases). Esto puede hacer que el cliente de FileMaker se sienta más receptivo.

    • Apagada: Toda la respuesta se recupera antes de que esté disponible. Esto puede hacer que el cliente de FileMaker no responda mientras espera una respuesta completa.

  • Nombre de plantilla de indicaciones especifica el nombre de una plantilla de indicaciones personalizada configurada utilizando el paso de guion paso de guión Configurar plantilla de indicaciones. Utilice esta opción para diseñar una indicación adicional con el fin de contribuir a lograr una respuesta óptima en un modelo de IA.

  • Objetivo de respuesta especifica el campo o la variable en el que se almacenará la respuesta del modelo.

  • Parámetros es una expresión de texto para un objeto JSON que consiste en pares clave-valor para parámetros adicionales que son compatibles con el proveedor del modelo. Por ejemplo: {"temperatura": 0.7, "semilla": 42}. Consulte la documentación del proveedor del modelo para conocer los nombres clave de los parámetros admitidos y sus rangos válidos.

    La clave context_prompt es un parámetro especial que le permite incorporar instrucciones o contexto adicionales al modelo antes de la indicación principal. Por ejemplo: {"context_prompt": "Tratar 'hoy' como 03/09/2025"}.

Opciones disponibles solo cuando Acción se ha establecido en Eliminar datos:

  • Parámetros es una expresión de texto para un objeto JSON que contiene una clave id cuyo valor es una matriz de los ID de los documentos que deben eliminarse del espacio RAG especificado. Por ejemplo, {"id" : [2, 3, 5, 7]}. Para obtener los ID de todos los documentos de un espacio RAG, utilice la función GetRAGSpaceInfo. Consulte Ejemplo 3.

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 

22.0

Descripción 

Este paso de guión le permite crear y gestionar una memoria caché de información de documentos (datos de texto y archivos PDF) en el servidor de modelos de IA proporcionado con FileMaker Server. A continuación, puede aprovechar esta memoria caché con una técnica denominada generación aumentada por recuperación (RAG). Mediante esta técnica, el paso de guión envía una indicación o una pregunta a un modelo de IA junto con los datos más pertinentes recuperados de la caché de información, lo que mejora la fiabilidad y la precisión de la respuesta del modelo.

La opción Acción determina lo que realiza este paso de guión:

Acción Hace lo siguiente

Añadir datos

Añade Datos RAG del documento especificado: texto (como cualquier expresión de texto), un archivo PDF por ruta o un archivo PDF de un campo contenedor en el registro actual o relacionado. El proceso sigue estos pasos:

  1. El paso de guión envía el documento al servidor de modelos de IA.

    Si añade un archivo PDF, el paso de guión envía el archivo de forma síncrona o asíncrona en función de la opción Datos RAG. Si el envío es síncrono, el guión no continúa con el siguiente paso hasta que haya finalizado la transferencia del archivo. Si el envío es asíncrono, el guión continúa con el siguiente paso mientras la transferencia del archivo está en curso (la opción más adecuada para archivos de gran tamaño), lo que permite al cliente de FileMaker seguir respondiendo a la interacción del usuario.

  2. El servidor de modelos de IA asigna un ID al documento. Si se trata de un archivo PDF, extrae solo el texto del archivo PDF; si se trata de un documento de texto, divide el documento de texto en fragmentos. A continuación, obtiene vectores de incrustación para todos los fragmentos mediante el modelo de incrustación de texto configurado para RAG en el servidor.

Enviar indicación

Envía la indicación de usuario al servidor de modelos de IA para obtener los datos más pertinentes del espacio RAG especificado y, a continuación, envía la indicación de usuario junto con la plantilla de indicaciones y el contenido RAG al modelo de IA. El proceso sigue estos pasos:

  1. El paso de guión envía la indicación especificada por Enviar indicación y el ID de espacio al servidor de modelos de IA especificado por Nombre de cuenta RAG.

  2. El servidor de modelos de IA obtiene vectores de incrustación para la indicación, realiza una búsqueda semántica de la indicación en el espacio RAG especificado y, a continuación, devuelve los resultados RAG al paso de guión.

    Los resultados RAG son los primeros N fragmentos de documentos más pertinentes del espacio RAG en forma de texto (el valor de N puede configurarse en la Admin Console de FileMaker Server).

  3. El paso de guión envía la indicación y su plantilla, el modelo Parámetros, y los resultados RAG al modelo especificado por Nombre de cuenta de IA y Modelo.

  4. El modelo devuelve una respuesta que el paso de guión almacena en Objetivo de respuesta.

Eliminar datos

Elimina documentos de un espacio RAG. Si se indica en la opción Parámetros, solo se eliminan los documentos especificados; de lo contrario, se eliminan todos los documentos del espacio RAG.

Nota  La eliminación de documentos de un espacio RAG no puede deshacerse. Asegúrese de conservar los documentos originales en otro lugar por si necesita añadirlos de nuevo.

Notas 

  • Debe configurarse una cuenta RAG mediante paso de guión Configurar cuenta RAG antes de utilizar este paso de guión.

  • Para las acciones Enviar indicación, también debe configurarse una cuenta de IA mediante el paso de guión Configurar cuenta de IA.

  • Los archivos PDF con cifrado o protección por contraseña no pueden procesarse con la acción Añadir datos.

  • Los espacios RAG son persistentes y conservan sus documentos hasta que se eliminan explícitamente mediante la acción Eliminar datos.

  • Si añade un archivo PDF con el mismo nombre de archivo que uno existente en el espacio RAG, el archivo PDF existente se elimina y el nuevo se añade con un nuevo ID de documento. Este comportamiento es el mismo tanto si añade el archivo PDF a través de una ruta como si lo hace a través de un campo contenedor.

  • Si especifica un Nombre de plantilla de indicaciones, este paso de guión utiliza la plantilla configurada a través del paso de guión Configurar plantilla de indicaciones. Las plantillas de indicaciones pueden utilizar las constantes como :question: (sustituida por el valor Enviar indicación) y :context: (sustituida por el parámetro context_prompt en Parámetros).

  • La calidad de las respuestas de la IA depende del modelo y de la pertinencia y la calidad de los documentos añadidos al espacio RAG.

  • En FileMaker WebDirect, cuando este paso de guión utiliza la acción Añadir datos y Datos RAG se ha establecido en Desde archivo o Desde archivo (asinc.), se abre el cuadro de diálogo Insertar para que el usuario elija un archivo PDF que cargar; se omite la opción Archivo de entrada.

Ejemplo 1 - Añadir texto a un espacio RAG

Añade contenido de texto a un espacio RAG para una base de información de clientes.

Copiar
Configurar cuenta RAG [ Nombre de cuenta RAG: "cuenta-rag-atención-cliente" ; Punto de conexión: "https://myserver.example.com/llm/v1/" ; Clave de API: "eyJh..." ; Verificar certificados SSL ]

Ejecutar acción RAG [ Nombre de cuenta RAG : "cuenta-rag-atención-cliente" ; ID de espacio: "base-información" ; Acción: Añadir datos; Datos RAG: Desde texto ; "Políticas y procedimientos de atención al cliente para la gestión de devoluciones y cambios..." ]

Ejemplo 2- Enviar una indicación para consultar un espacio RAG

Envía una indicación para consultar el mismo espacio RAG que en el Ejemplo 1 y almacena la respuesta en un campo.

El guión configura tanto la cuenta RAG como la cuenta de IA para utilizar el servidor de modelos de IA proporcionado con FileMaker Server. Cuando envía la indicación, el guión envía parámetros personalizados al modelo para la generación de respuestas y transmite la respuesta a un campo.

Copiar
Configurar cuenta RAG [ Nombre de cuenta RAG: "cuenta-rag-atención-cliente" ; Punto de conexión: "https://myserver.example.com/llm/v1/" ; Clave de API: Global::Clave_API_RAG ; Verificar certificados SSL ]

Configurar cuenta de IA [ Nombre de cuenta: "Servidor_modelos_IA" ; Proveedor de modelos: Personalizado ; Punto de conexión: "https://myserver.example.com/llm/v1/" ; Clave de API: Global::Clave_API_gen_texto ; Verificar certificados SSL ]

Ejecutar acción RAG [ Nombre de cuenta de RAG: "rag-atención-cliente" ; ID de espacio: "base-información" ; Acción: Enviar indicación ; Enviar indicación: "¿Cuál es la política de devolución de productos defectuosos?" ; Nombre de cuenta de IA: "Servidor_modelos_IA" ; Modelo: Global::NombreModelo; Transmisión: Activo; Objetivo de respuesta: Atención_cliente::Respuesta_IA ; Parámetros: "{\"temperature\": 0.3, \"max_tokens\": 500}" ]

Un posible resultado en el campo Asistencia_cliente::Respuesta_IA empezaría por "La política de devolución de productos defectuosos le permite devolver el artículo en un plazo de 14 días naturales".

Ejemplo 3 - Añadir y eliminar un archivo PDF de un espacio RAG

Añade un archivo PDF llamado Políticas.pdf a un espacio RAG y,a continuación, lo elimina.

Tras configurar la cuenta RAG que se va a utilizar en el servidor de modelos de IA, el guión añade el archivo Políticas.pdf al espacio RAG especificando su ruta de archivo.

Antes de poder eliminar el archivo, el guión debe encontrar el ID de documento que se asignó cuando se añadió el archivo. En primer lugar, el guión utiliza la función función GetRAGSpaceInfo para obtener información sobre el espacio RAG. A continuación, para la variable $id, obtiene la matriz values y utiliza un bucle "While" para encontrar el elemento cuya clave filename sea "Políticas.pdf" y devuelve el valor de id de ese elemento.

Tras establecer $idArrayToRemove en el contenido JSON necesario para especificar el $id, el guión llama a Ejecutar acción RAG para eliminar los datos estableciendo la opción Parámetros en $idArrayToRemove.

Copiar
Configurar cuenta RAG [ Nombre de cuenta RAG: "cuenta-rag-atención-cliente" ; Punto de conexión: "https://myserver.example.com/llm/v1/" ; Clave de API: Global::Clave_API_RAG ; Verificar certificados SSL ]

Ejecutar acción RAG [ Nombre de cuenta RAG: "cuenta-rag-atención-cliente" ; ID de espacio: "base-información" ; Acción: Añadir datos ; Datos RAG: Desde archivo ; "Políticas.pdf" ]

Establecer variable [ $ragSpaceInfo ; Valor: GetRAGSpaceInfo ( "cuenta-rag-atención-cliente" ; "base-información" ) ]

Establecer variable [ $id ; Valor: 
  Let ( [
    json = $ragSpaceInfo ;
    values = JSONGetElement ( json ; "values" ) ;
    arrayCount = ValueCount ( JSONListKeys ( values ; "" ) ) ;
    
    search = While ( 
      [ i = 0 ; result = "" ] ; 
      
      i < arrayCount and IsEmpty ( result ) ; 
      
      [ 
        filename = JSONGetElement ( values ; "[" & i & "].filename" ) ;
        result = Case ( 
          filename = "Políticas.pdf" ; 
          JSONGetElement ( values ; "[" & i & "].id" ) ; 
          "" 
        ) ;
        i = i + 1 
      ] ; 
      
      result 
    )
  ] ;

  search
  )
]

Establecer variable [ $idArrayToRemove ; Valor: "{\"id\": [" & $id & "]}" ]

Ejecutar acción RAG [ Nombre de cuenta RAG: "cuenta-rag-atención-clientes" ; ID de espacio: "base-información" ; Acción: Eliminar datos ; Parámetros: $idArrayToRemove ]