{"id":8051,"date":"2021-01-07T01:05:54","date_gmt":"2021-01-07T09:05:54","guid":{"rendered":"https:\/\/www.couchbase.com\/blog\/?p=8051"},"modified":"2025-06-13T20:08:50","modified_gmt":"2025-06-14T03:08:50","slug":"machine-learning-predictions-couchbase-lite-predictive-query","status":"publish","type":"post","link":"https:\/\/www.couchbase.com\/blog\/es\/machine-learning-predictions-couchbase-lite-predictive-query\/","title":{"rendered":"Haga predicciones de aprendizaje autom\u00e1tico con Couchbase Lite"},"content":{"rendered":"<p>Couchbase Lite <a href=\"https:\/\/docs.couchbase.com\/couchbase-lite\/current\/swift\/learn\/swift-query-predictive.html\">API de consulta predictiva<\/a> permite a las aplicaciones aprovechar modelos de aprendizaje autom\u00e1tico (ML) preentrenados para ejecutar consultas predictivas contra datos en la base de datos Couchbase Lite integrada de una forma c\u00f3moda, r\u00e1pida y siempre disponible. Estas predicciones pueden combinarse con predicciones realizadas a partir de datos en tiempo real capturados por su aplicaci\u00f3n para permitir una serie de aplicaciones atractivas. La API de consultas predictivas de Couchbase Lite es la primera de su clase en una base de datos integrada. Hemos tenido <a href=\"https:\/\/www.couchbase.com\/blog\/es\/couchbase-mobile-2-5-released\/\">anunciado<\/a> la versi\u00f3n Developer Preview de Predictive Query API con Couchbase Mobile 2.5 el a\u00f1o pasado. Con <a href=\"https:\/\/www.couchbase.com\/blog\/es\/couchbase-mobile-embedded-java-write-throughput\/\">Couchbase M\u00f3vil 2.7<\/a>nos complace anunciar la disponibilidad general de esta funci\u00f3n.<\/p>\n<p>En este post, ofrecemos una visi\u00f3n general de la funci\u00f3n, incluyendo el contexto en torno a por qu\u00e9 lo construimos y los tipos de aplicaciones que se <ins id=\"firstdiff\"><\/ins>puede habilitar. Tambi\u00e9n demostramos el uso de la Predictive API con un ejemplo. Puede consultar el <a href=\"https:\/\/docs.couchbase.com\/couchbase-lite\/current\/swift\/learn\/swift-query-predictive.html\">documentaci\u00f3n<\/a> para obtener informaci\u00f3n espec\u00edfica sobre la API y fragmentos de c\u00f3digo de ejemplo.<\/p>\n<h2 id=\"machinelearningonmobile-motivation\">Aprendizaje autom\u00e1tico en m\u00f3viles - Motivaci\u00f3n<\/h2>\n<p>El aprendizaje autom\u00e1tico se ha realizado tradicionalmente en la nube. Con acceso a recursos de computaci\u00f3n y almacenamiento \"ilimitados\", parec\u00eda el \u00fanico lugar viable para hacerlo. Aunque eso puede ser cierto para determinadas aplicaciones, hay una serie de razones para realizar el aprendizaje autom\u00e1tico localmente en un dispositivo m\u00f3vil.<\/p>\n<h3 id=\"fastresponsive\">Rapidez y capacidad de respuesta<\/h3>\n<p>Al evitar el tiempo de ida y vuelta a la nube, se puede garantizar que los tiempos de respuesta a las predicciones sean del orden de unos pocos milisegundos, independientemente del estado de la conexi\u00f3n de red. Esto es importante, ya que la capacidad de respuesta de una aplicaci\u00f3n est\u00e1 directamente relacionada con la experiencia del usuario final, que es importante para la retenci\u00f3n de la aplicaci\u00f3n.<\/p>\n<h3 id=\"alwaysavailable\">Siempre disponible<\/h3>\n<p>Al ejecutar el aprendizaje autom\u00e1tico localmente en el dispositivo, puede realizar predicciones incluso en estado desconectado. Su aplicaci\u00f3n y sus datos est\u00e1n siempre disponibles. Esto es especialmente relevante en el caso de aplicaciones de campo desplegadas en entornos desconectados.<\/p>\n<h3 id=\"dataprivacy\">Protecci\u00f3n de datos<\/h3>\n<p>Ejecutar predicciones localmente en el dispositivo implica que los datos sensibles no tienen por qu\u00e9 salir nunca de \u00e9l. Esto permite crear aplicaciones con experiencias muy personalizadas sin comprometer la privacidad de los datos.<\/p>\n<h3 id=\"bandwidthsavings\">Ahorro de ancho de banda<\/h3>\n<p>Al evitar la necesidad de transferir datos a la nube, puede ahorrar en costes de ancho de banda. Esto es especialmente importante en el caso de entornos con limitaciones de ancho de banda de red en los que los planes de datos salen caros.<\/p>\n<p>Todas las ventajas mencionadas se ajustan bien al paradigma de <a href=\"https:\/\/www.odbms.org\/2019\/07\/on-iot-edge-computing-and-couchbase-mobile-qa-with-priya-rajagopal\/\">computaci\u00f3n perif\u00e9rica<\/a> donde cada vez es m\u00e1s necesario acercar el almacenamiento y la inform\u00e1tica a los extremos.<\/p>\n<h2 id=\"mobileml-ecosystem\">ML m\u00f3vil - Ecosistema<\/h2>\n<p>El ML m\u00f3vil es una realidad y hay varios ecosistemas que lo hacen posible.<\/p>\n<h3 id=\"powerfulmobiledevices\">Potentes dispositivos m\u00f3viles<\/h3>\n<p>Los dispositivos m\u00f3viles se est\u00e1n volviendo incre\u00edblemente potentes. Por ejemplo, el recientemente lanzado <a href=\"https:\/\/en.wikipedia.org\/wiki\/Apple_A13\">iPhone11<\/a> y <a href=\"https:\/\/en.wikipedia.org\/wiki\/Pixel_Visual_Core\">Pixel 4<\/a> incluyen motores de n\u00facleos neuronales dedicados. La innovaci\u00f3n en la capa de silicio hace factible la ejecuci\u00f3n local de modelos de ML en dispositivos m\u00f3viles. Aprovechando las capacidades de aceleraci\u00f3n del hardware de la plataforma, los modelos pueden ejecutarse con un rendimiento \u00f3ptimo.<\/p>\n<h3 id=\"mobileoptimizedmodels\">Modelos optimizados para m\u00f3viles<\/h3>\n<p>Los modelos de aprendizaje autom\u00e1tico han sido tradicionalmente intensivos en almacenamiento y computaci\u00f3n. Se est\u00e1n llevando a cabo varios proyectos para optimizar el uso de recursos de los modelos y mantener al mismo tiempo el nivel de precisi\u00f3n requerido. Existe una creciente red de modelos de aprendizaje autom\u00e1tico de c\u00f3digo abierto preentrenados, como <a href=\"https:\/\/ai.googleblog.com\/2017\/06\/mobilenets-open-source-models-for.html\">MobileNet<\/a> y <a href=\"https:\/\/github.com\/onnx\/models\/tree\/master\/vision\/classification\/squeezenet\">SqueezeNet<\/a> optimizados para funcionar en dispositivos m\u00f3viles.<\/p>\n<h3 id=\"machinelearningframeworks\">Marcos de aprendizaje autom\u00e1tico<\/h3>\n<p>Las principales plataformas m\u00f3viles incluyen compatibilidad con marcos y bibliotecas de aprendizaje autom\u00e1tico que facilitan enormemente a los desarrolladores la integraci\u00f3n de ML en sus aplicaciones. Estos marcos aprovechan la aceleraci\u00f3n por hardware y las API de bajo nivel, lo que les confiere un gran rendimiento. Algunos ejemplos son <a href=\"https:\/\/developer.apple.com\/documentation\/coreml\">N\u00facleo ML<\/a> para iOS, <a href=\"https:\/\/www.tensorflow.org\/lite\/guide\/android\">Tensorflow lite<\/a> para Android, <a href=\"https:\/\/dotnet.microsoft.com\/apps\/machinelearning-ai\/ml-dotnet\">ML.NET<\/a> para Windows y <a href=\"https:\/\/developers.google.com\/ml-kit\">Kit ML<\/a> entre otros.<\/p>\n<h3 id=\"creatingmlmodels\">Creaci\u00f3n de modelos ML<\/h3>\n<p>Cada vez hay m\u00e1s herramientas y plataformas de c\u00f3digo abierto como <a href=\"https:\/\/www.tensorflow.org\/\">TensorFlow<\/a> y <a href=\"https:\/\/developer.apple.com\/documentation\/createml\">crearML<\/a> que facilitan m\u00e1s que nunca la creaci\u00f3n de modelos de aprendizaje autom\u00e1tico. No hace falta ser un cient\u00edfico de datos para crear uno.<\/p>\n<h2 id=\"predictivequeryapi\">API de consulta predictiva<\/h2>\n<p>La API Predictive Queries permite a las aplicaciones m\u00f3viles aprovechar modelos de aprendizaje autom\u00e1tico (ML) preentrenados para realizar predicciones sobre datos de Couchbase Lite. La API se puede utilizar para combinar predicciones en tiempo real realizadas sobre datos introducidos en la app en tiempo real con predicciones sobre datos de la app almacenados en Couchbase Lite.<\/p>\n<p>Construyendo <a href=\"https:\/\/docs.couchbase.com\/couchbase-lite\/2.6\/swift.html#create-an-index\">\u00edndice de predicci\u00f3n<\/a> durante el tiempo de escritura, los usuarios pueden obtener mejoras significativas en el rendimiento de sus consultas. Los resultados de las predicciones pueden materializarse en Couchbase Lite y sincronizarse con otros clientes a trav\u00e9s de <a href=\"https:\/\/docs.couchbase.com\/sync-gateway\/current\/index.html\">Pasarela de sincronizaci\u00f3n<\/a>.<\/p>\n<h3 id=\"applications\">Aplicaciones<\/h3>\n<p>Existen varias aplicaciones de Machine Learning en m\u00f3viles, incluyendo clasificaciones de im\u00e1genes, reconocimiento de voz, reconocimiento de objetos y sistemas de recomendaci\u00f3n basados en contenidos. Combinar esas predicciones con datos almacenados en Couchbase Lite tiene el potencial de revolucionar las actividades cotidianas en varios sectores. Todas estas aplicaciones se benefician de ejecutar el aprendizaje autom\u00e1tico localmente, lo que garantiza una alta disponibilidad, una respuesta m\u00e1s r\u00e1pida, un uso eficiente del ancho de banda de la red y la privacidad de los datos. He aqu\u00ed algunos ejemplos<\/p>\n<h4 id=\"retaile-commerce\">Venta al por menor y comercio electr\u00f3nico<\/h4>\n<p>Considere este flujo de trabajo<br \/>\n- Entras en una tienda con una foto de un art\u00edculo que te interesa. Por ejemplo, una foto de un bolso que viste en alguien.<br \/>\n- Se acerca al dependiente para preguntarle si el art\u00edculo est\u00e1 disponible.<br \/>\n- El dependiente hace una foto del art\u00edculo con su tableta, que ejecuta una aplicaci\u00f3n de cat\u00e1logo \/ inventario.<br \/>\n- La imagen capturada se utiliza para buscar en la base de datos del cat\u00e1logo de la tienda y determinar su disponibilidad.<br \/>\n- Si est\u00e1 disponible en la tienda, se le dirige al pasillo adecuado. Tambi\u00e9n se le pueden presentar alternativas y recomendaciones sobre otros art\u00edculos relacionados.<\/p>\n<figure><img decoding=\"async\" src=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2019\/12\/GettyImages-508831370.jpg\" alt=\"Machine Learning Predictions Retail Application with Couchbase Lite\" \/><\/figure>\n<p>La b\u00fasqueda basada en im\u00e1genes aumenta la experiencia de b\u00fasqueda m\u00e1s tradicional basada en texto e incluso en voz, que se basa en la capacidad del usuario para describir el art\u00edculo de inter\u00e9s. Las aplicaciones con b\u00fasqueda basada en im\u00e1genes pueden mejorar significativamente la experiencia de compra tanto en l\u00ednea como en tienda. Aunque las ventajas de la b\u00fasqueda basada en im\u00e1genes son bastante obvias en el caso de las aplicaciones de comercio electr\u00f3nico, los flujos de trabajo como el descrito anteriormente brindan una oportunidad a las tiendas tradicionales para competir con las experiencias de compra en l\u00ednea.<\/p>\n<p>Entre bastidores, la aplicaci\u00f3n de cat\u00e1logo\/inventario utiliza un modelo ML de clasificaci\u00f3n de im\u00e1genes para identificar el art\u00edculo capturado con la c\u00e1mara de la tableta. Una vez identificado, la aplicaci\u00f3n busca en la base de datos local Couchbase Lite para comprobar si el art\u00edculo est\u00e1 disponible en la tienda y recupera otros detalles relevantes, como si est\u00e1 en stock y el pasillo donde se puede encontrar. Las im\u00e1genes nunca salen de la aplicaci\u00f3n de la tienda y pueden borrarse localmente despu\u00e9s de su uso, lo que alivia cualquier problema de privacidad.<\/p>\n<h4 id=\"hospitality\">Hosteler\u00eda<\/h4>\n<p>Consideremos un quiosco de autopedido en un restaurante de comida r\u00e1pida. He aqu\u00ed un flujo de trabajo t\u00edpico.<br \/>\n- Te acercas al quiosco equipado con una c\u00e1mara que capta tu imagen (tienes que optar por ello )<br \/>\n- La imagen facial capturada se utiliza para consultar la base de datos de usuarios registrados e identificar sus preferencias.<br \/>\n- El sistema puede consultar el historial de pedidos, sugerir pedidos de comida, aplicar puntos de fidelidad, etc. El pedido se puede realizar con los datos de la tarjeta de cr\u00e9dito.<\/p>\n<figure><img decoding=\"async\" src=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2019\/12\/shutterstock_509291950-e1575986071221.jpg\" alt=\"Machine Learning Predictions Meal Ordering Application with Couchbase Lite\" \/><\/figure>\n<p>Los quioscos de autopedido son bastante omnipresentes y han revolucionado la experiencia de pedir comida reduciendo los tiempos de espera, lo que se traduce en un servicio m\u00e1s r\u00e1pido. Equipar estos quioscos con tecnolog\u00eda de reconocimiento facial puede hacer que la experiencia sea a\u00fan m\u00e1s fluida y r\u00e1pida.<\/p>\n<p>Entre bastidores, el quiosco ejecuta una aplicaci\u00f3n que utiliza un modelo ML de reconocimiento facial como <a href=\"https:\/\/cmusatyalab.github.io\/openface\/\">OpenFace<\/a> para generar una huella dactilar \u00fanica de la imagen facial capturada. A continuaci\u00f3n, la aplicaci\u00f3n realiza una <em>coincidencia de similitudes<\/em> entre la huella dactilar de la imagen facial capturada y las huellas dactilares de las im\u00e1genes de la base de datos Couchbase Lite para identificar la coincidencia m\u00e1s cercana.<\/p>\n<h3 id=\"featurewalkthrough\">Caracter\u00edsticas<\/h3>\n<p>La mejor manera de entender c\u00f3mo funciona la API es a trav\u00e9s de un ejemplo. En este post, voy a describir c\u00f3mo puedes implementar la aplicaci\u00f3n de Reconocimiento Facial comentada anteriormente utilizando la API de Consulta Predictiva. Este es probablemente el flujo de trabajo m\u00e1s complicado. La aplicaci\u00f3n de b\u00fasqueda basada en im\u00e1genes utilizando un modelo clasificador sigue un patr\u00f3n similar, excepto que es mucho m\u00e1s simple.<\/p>\n<ul>\n<li><strong>Requisitos previos<\/strong>\n<ul>\n<li>El modelo ML de reconocimiento facial est\u00e1 disponible en la aplicaci\u00f3n. El modelo ML podr\u00eda haber sido incluido en la aplicaci\u00f3n o extra\u00eddo de un repositorio externo, con t\u00e9cnicas similares a las siguientes <a href=\"https:\/\/developer.apple.com\/documentation\/coreml\/core_ml_api\/downloading_and_compiling_a_model_on_the_user_s_device\">este<\/a>. El modelo toma una imagen y genera una \"huella digital\" o \"incrustaci\u00f3n facial\", que es esencialmente una representaci\u00f3n vectorial de las caracter\u00edsticas de la imagen.<br \/>\n<img decoding=\"async\" src=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2019\/12\/facemodel.png\" alt=\"Predictive Query API on Couchbase Lite\" \/><\/li>\n<li>La base de datos Couchbase Lite se rellena con los datos relevantes. En nuestro caso de uso, corresponder\u00eda a una base de datos de usuarios registrados con <em>\"usuario\"<\/em> documentos de tipo. Cada documento de usuario incluye un blob correspondiente a una foto de usuario registrada.<br \/>\n<img decoding=\"async\" src=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2019\/12\/cbl_userdatabase.png\" alt=\"Predictive Query API on Couchbase Lite\" \/><\/li>\n<\/ul>\n<\/li>\n<li><strong>Paso 1 : Registrar el modelo ML con Cuchbase Lite<\/strong><br \/>\nPuede realizar predicciones con <em>cualquier<\/em> Modelo ML. Como desarrollador de aplicaciones, implementar\u00e1 el <a href=\"https:\/\/docs.couchbase.com\/couchbase-lite\/2.6\/swift.html#predictive-query\">PredictiveModel<\/a> interfaz y <a href=\"https:\/\/docs.couchbase.com\/couchbase-lite\/current\/swift\/learn\/swift-query-predictive.html#register-the-model\">reg\u00edstrese en<\/a> con Couchbase Lite. Esta interfaz es muy sencilla y define un \u00fanico <a href=\"https:\/\/docs.couchbase.com\/mobile\/2.6.0\/couchbase-lite-swift\/Protocols\/PredictiveModel.html#\/s:18CouchbaseLiteSwift15PredictiveModelP7predict5inputAA16DictionaryObjectCSgAG_tF\">predecir()<\/a> que debe implementar el desarrollador de la aplicaci\u00f3n. En cualquier momento, el <a href=\"https:\/\/docs.couchbase.com\/mobile\/2.6.0\/couchbase-lite-swift\/Classes\/Function.html#\/s:18CouchbaseLiteSwift8FunctionC10prediction5model5inputAA010PredictionD0_pSS_AA18ExpressionProtocol_ptFZ\">Funci\u00f3n de predicci\u00f3n<\/a> en Couchbase Lite, se invoca el m\u00e9todo predict() subyacente en el PredictiveModel.<\/li>\n<\/ul>\n<figure><img decoding=\"async\" src=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2019\/12\/model_register.png\" alt=\"Predictive Query API on Couchbase Lite\" \/><\/figure>\n<pre class=\"lang:swift decode:true\">\/\/ 1: Register Model \r\nDatabase.prediction.registerModel(mlModel, withName: modelName)<\/pre>\n<ul>\n<li><strong>Paso 2 : Crear \u00edndice predictivo<\/strong><br \/>\nCrear un <a href=\"https:\/\/docs.couchbase.com\/couchbase-lite\/current\/swift\/learn\/swift-query-predictive.html#predictive-index\">\u00edndice predictivo<\/a> en las im\u00e1genes de la base de datos de Couchbase Lite ejecutando una predicci\u00f3n en todas las im\u00e1genes utilizando el modelo ML registrado. Aunque este paso es opcional, se recomienda encarecidamente crear el \u00edndice, ya que tiene un impacto significativo en el rendimiento del tiempo de consulta.<\/li>\n<\/ul>\n<figure><img decoding=\"async\" src=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2019\/12\/predictive_index.png\" alt=\"Predictive Query API on Couchbase Lite\" \/><\/figure>\n<pre class=\"lang:default decode:true\">\/\/ 2: Build prediction index of predictions on images in database \r\nlet index = IndexBuilder.predictiveIndex(model: modelName, input: imagePropertyInDB) db.createIndex(index, withName: \"faceIndex\") \r\n\/\/ Generate fingerprint by running predictions on images in database \r\nlet fingerPrintOfImagesInDB = Function.prediction(model: modelName, input: imagePropertyInDB)<\/pre>\n<ul>\n<li><strong>Paso 3 : Predicci\u00f3n en la imagen capturada<\/strong><br \/>\nEjecutar la predicci\u00f3n sobre la imagen introducida en la aplicaci\u00f3n mediante <a href=\"https:\/\/docs.couchbase.com\/mobile\/2.6.0\/couchbase-lite-swift\/Classes\/Function.html#\/s:18CouchbaseLiteSwift8FunctionC10prediction5model5inputAA010PredictionD0_pSS_AA18ExpressionProtocol_ptFZ\">Funci\u00f3n de predicci\u00f3n<\/a><\/li>\n<\/ul>\n<figure><img decoding=\"async\" class=\"\" src=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2019\/12\/prediction-machine-learn.png\" alt=\"Predictive Query API on Couchbase Lite\" \/><\/figure>\n<pre class=\"lang:swift decode:true\">\/\/ 3: Generate fingerprint by running prediction on input image \r\nlet fingerPrintOfInputImage = Function.prediction(model: modelName, input: inputPhoto)<\/pre>\n<ul>\n<li><strong>Paso 4: Comparaci\u00f3n de similitudes y consulta de documentos de usuario<\/strong><br \/>\nEjecutar una coincidencia de similitud entre la imagen capturada y las im\u00e1genes de la base de datos utilizando uno de los muchos <a href=\"https:\/\/docs.couchbase.com\/mobile\/2.6.0\/couchbase-lite-swift\/Classes\/Function.html#\/s:18CouchbaseLiteSwift8FunctionC17euclideanDistance7between3andAA18ExpressionProtocol_pAaG_p_AaG_ptFZ\">vector distancia<\/a> funciones. Consulta la base de datos Couchbase Lite en busca de los documentos con mayor coincidencia<\/li>\n<\/ul>\n<figure><img decoding=\"async\" src=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2019\/12\/predictive-similarity-match-1.png\" alt=\"Predictive Query API on Couchbase Lite\" \/><\/figure>\n<pre class=\"lang:swift decode:true\">\/\/ 4: Find distance between fingerprints (similarity match of prediction results)\r\nlet distanceBetweenImages = Function.cosineDistance(between: fingerPrintOfInputImage, and: fingerPrintOfImagesInDB) \r\n\r\n\/\/ Query for documents in database with closest match (as measured by distance comparison) \r\nlet query = QueryBuilder.select(SelectResult.all())\r\n                        .from(DataSource.database(db))\r\n                        .orderBy(Ordering.expression(distance).ascending())\r\n                        .limit(Expression.int(1))<\/pre>\n<p>Ya est\u00e1. En s\u00f3lo 4 sencillos pasos, puedes utilizar la API de consulta predictiva para implementar una aplicaci\u00f3n de reconocimiento facial basada en datos en Couchbase Lite.<\/p>\n<h2 id=\"whatnext\">\u00bfQu\u00e9 sigue?<\/h2>\n<p>Con la nueva API de funciones predictivas, Couhbase sigue demostrando su liderazgo en el \u00e1rea del almacenamiento de datos m\u00f3viles e integrados. En este post, hemos hablado de algunas aplicaciones y hemos visto un ejemplo de c\u00f3mo aprovechar la API de consultas predictivas. Esperamos que te haya inspirado para crear las tuyas propias y estamos impacientes por ver las nuevas funciones que habilitar\u00e1s en tus aplicaciones con esta capacidad.<\/p>\n<p>Aqu\u00ed tiene enlaces directos a algunos recursos \u00fatiles -<br \/>\n&#8211; <a href=\"https:\/\/docs.couchbase.com\/couchbase-lite\/2.6\/swift.html#predictive-query\">Documentaci\u00f3n sobre consultas predictivas<\/a>.<br \/>\nIncluye una gu\u00eda paso a paso para utilizar la API<br \/>\n&#8211; <a href=\"https:\/\/www.couchbase.com\/blog\/es\/downloads\/?family=mobile\">Descargas de Couchbase Lite<\/a><br \/>\nPredictive Query API est\u00e1 disponible bajo licencia Enterprise. Nuestra Enterprise Edition tambi\u00e9n puede descargarse gratuitamente y utilizarse con fines de desarrollo.<br \/>\n&#8211; <a href=\"https:\/\/github.com\/couchbaselabs\/couchbase-lite-predictive-query-examples\">Aplicaci\u00f3n de muestra<\/a><br \/>\nAplicaci\u00f3n de ejemplo que demuestra el uso de Predictive API con un modelo Classifier ML<br \/>\n&#8211; <a href=\"https:\/\/www.couchbase.com\/blog\/es\/category\/couchbase-mobile\/\">Blogs de Couchbase Mobile<\/a><br \/>\n&#8211; <a href=\"https:\/\/www.couchbase.com\/blog\/es\/forums\/\">Foros de Couchbase<\/a><\/p>\n<p>Si tiene alguna pregunta o sugerencia, deje un comentario a continuaci\u00f3n o p\u00f3ngase en contacto conmigo a trav\u00e9s de <a href=\"https:\/\/twitter.com\/rajagp\">Twitter<\/a>\u00a0o <a href=\"mailto:priya.rajagopal@couchbase.com\">env\u00edame un correo electr\u00f3nico<\/a><\/p>","protected":false},"excerpt":{"rendered":"<p>Couchbase Lite\u2019s Predictive Query API allows applications to leverage pre-trained, Machine Learning(ML) models to run predictive queries against data in embedded Couchbase Lite database in a convenient, fast and always-available way. These predictions can be combined with predictions made against [&hellip;]<\/p>","protected":false},"author":1423,"featured_media":10117,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"inline_featured_image":false,"footnotes":""},"categories":[1811,7667,1810,2389,9409],"tags":[1968,1536,2140,1909],"ppma_author":[8948],"class_list":["post-8051","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-dotnet","category-couchbase-lite","category-couchbase-mobile","category-solutions","category-swift","tag-embedded-database","tag-ios","tag-machine-learning","tag-swift"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v25.9 (Yoast SEO v25.9) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Make Machine Learning Predictions With Couchbase Lite<\/title>\n<meta name=\"description\" content=\"Introducing the Predictive Query API for running predictive queries against data in in Couchbase Lite, the leading NoSQL mobile database.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.couchbase.com\/blog\/es\/machine-learning-predictions-couchbase-lite-predictive-query\/\" \/>\n<meta property=\"og:locale\" content=\"es_MX\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Make Machine Learning Predictions With Couchbase Lite\" \/>\n<meta property=\"og:description\" content=\"Introducing the Predictive Query API for running predictive queries against data in in Couchbase Lite, the leading NoSQL mobile database.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.couchbase.com\/blog\/es\/machine-learning-predictions-couchbase-lite-predictive-query\/\" \/>\n<meta property=\"og:site_name\" content=\"The Couchbase Blog\" \/>\n<meta property=\"article:published_time\" content=\"2021-01-07T09:05:54+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2025-06-14T03:08:50+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2020\/01\/Predictive-Query-Blog-4.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"1592\" \/>\n\t<meta property=\"og:image:height\" content=\"628\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"Priya Rajagopal, Senior Director, Product Management\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@rajagp\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Priya Rajagopal, Senior Director, Product Management\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"10 minutos\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/machine-learning-predictions-couchbase-lite-predictive-query\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/machine-learning-predictions-couchbase-lite-predictive-query\/\"},\"author\":{\"name\":\"Priya Rajagopal, Senior Director, Product Management\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/c2da90e57717ee4970c48a87a131ac2c\"},\"headline\":\"Make Machine Learning Predictions With Couchbase Lite\",\"datePublished\":\"2021-01-07T09:05:54+00:00\",\"dateModified\":\"2025-06-14T03:08:50+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/machine-learning-predictions-couchbase-lite-predictive-query\/\"},\"wordCount\":1772,\"commentCount\":1,\"publisher\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/#organization\"},\"image\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/machine-learning-predictions-couchbase-lite-predictive-query\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2020\/01\/Predictive-Query-Blog-4.jpg\",\"keywords\":[\"embedded database\",\"ios\",\"Machine Learning (ML)\",\"swift\"],\"articleSection\":[\".NET\",\"Couchbase Lite\",\"Couchbase Mobile\",\"Solutions\",\"Swift\"],\"inLanguage\":\"es\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/www.couchbase.com\/blog\/machine-learning-predictions-couchbase-lite-predictive-query\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/machine-learning-predictions-couchbase-lite-predictive-query\/\",\"url\":\"https:\/\/www.couchbase.com\/blog\/machine-learning-predictions-couchbase-lite-predictive-query\/\",\"name\":\"Make Machine Learning Predictions With Couchbase Lite\",\"isPartOf\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/machine-learning-predictions-couchbase-lite-predictive-query\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/machine-learning-predictions-couchbase-lite-predictive-query\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2020\/01\/Predictive-Query-Blog-4.jpg\",\"datePublished\":\"2021-01-07T09:05:54+00:00\",\"dateModified\":\"2025-06-14T03:08:50+00:00\",\"description\":\"Introducing the Predictive Query API for running predictive queries against data in in Couchbase Lite, the leading NoSQL mobile database.\",\"breadcrumb\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/machine-learning-predictions-couchbase-lite-predictive-query\/#breadcrumb\"},\"inLanguage\":\"es\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.couchbase.com\/blog\/machine-learning-predictions-couchbase-lite-predictive-query\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"es\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/machine-learning-predictions-couchbase-lite-predictive-query\/#primaryimage\",\"url\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2020\/01\/Predictive-Query-Blog-4.jpg\",\"contentUrl\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2020\/01\/Predictive-Query-Blog-4.jpg\",\"width\":1592,\"height\":628},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/machine-learning-predictions-couchbase-lite-predictive-query\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.couchbase.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Make Machine Learning Predictions With Couchbase Lite\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#website\",\"url\":\"https:\/\/www.couchbase.com\/blog\/\",\"name\":\"The Couchbase Blog\",\"description\":\"Couchbase, the NoSQL Database\",\"publisher\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.couchbase.com\/blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"es\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#organization\",\"name\":\"The Couchbase Blog\",\"url\":\"https:\/\/www.couchbase.com\/blog\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"es\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2023\/04\/admin-logo.png\",\"contentUrl\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2023\/04\/admin-logo.png\",\"width\":218,\"height\":34,\"caption\":\"The Couchbase Blog\"},\"image\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/#\/schema\/logo\/image\/\"}},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/c2da90e57717ee4970c48a87a131ac2c\",\"name\":\"Priya Rajagopal, Senior Director, Product Management\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"es\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/image\/4b50a54778b979d8c345b036ab138734\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/acfb2349788955262cd069497a9e7bdb0e97c26326f2e55811e7c1174e9ef1be?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/acfb2349788955262cd069497a9e7bdb0e97c26326f2e55811e7c1174e9ef1be?s=96&d=mm&r=g\",\"caption\":\"Priya Rajagopal, Senior Director, Product Management\"},\"description\":\"Priya Rajagopal is a Senior Director of Product Management at Couchbase responsible for developer platforms for the cloud and the edge. She has been professionally developing software for over 20 years in several technical and product leadership positions, with 10+ years focused on mobile technologies. As a TISPAN IPTV standards delegate, she was a key contributor to the IPTV standards specifications. She has 22 patents in the areas of networking and platform security.\",\"sameAs\":[\"https:\/\/x.com\/rajagp\"],\"url\":\"https:\/\/www.couchbase.com\/blog\/es\/author\/priya-rajagopalcouchbase-com\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Haga predicciones de aprendizaje autom\u00e1tico con Couchbase Lite","description":"Presentamos la API Predictive Query para ejecutar consultas predictivas contra datos en Couchbase Lite, la base de datos m\u00f3vil NoSQL l\u00edder.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.couchbase.com\/blog\/es\/machine-learning-predictions-couchbase-lite-predictive-query\/","og_locale":"es_MX","og_type":"article","og_title":"Make Machine Learning Predictions With Couchbase Lite","og_description":"Introducing the Predictive Query API for running predictive queries against data in in Couchbase Lite, the leading NoSQL mobile database.","og_url":"https:\/\/www.couchbase.com\/blog\/es\/machine-learning-predictions-couchbase-lite-predictive-query\/","og_site_name":"The Couchbase Blog","article_published_time":"2021-01-07T09:05:54+00:00","article_modified_time":"2025-06-14T03:08:50+00:00","og_image":[{"width":1592,"height":628,"url":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2020\/01\/Predictive-Query-Blog-4.jpg","type":"image\/jpeg"}],"author":"Priya Rajagopal, Senior Director, Product Management","twitter_card":"summary_large_image","twitter_creator":"@rajagp","twitter_misc":{"Written by":"Priya Rajagopal, Senior Director, Product Management","Est. reading time":"10 minutos"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.couchbase.com\/blog\/machine-learning-predictions-couchbase-lite-predictive-query\/#article","isPartOf":{"@id":"https:\/\/www.couchbase.com\/blog\/machine-learning-predictions-couchbase-lite-predictive-query\/"},"author":{"name":"Priya Rajagopal, Senior Director, Product Management","@id":"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/c2da90e57717ee4970c48a87a131ac2c"},"headline":"Make Machine Learning Predictions With Couchbase Lite","datePublished":"2021-01-07T09:05:54+00:00","dateModified":"2025-06-14T03:08:50+00:00","mainEntityOfPage":{"@id":"https:\/\/www.couchbase.com\/blog\/machine-learning-predictions-couchbase-lite-predictive-query\/"},"wordCount":1772,"commentCount":1,"publisher":{"@id":"https:\/\/www.couchbase.com\/blog\/#organization"},"image":{"@id":"https:\/\/www.couchbase.com\/blog\/machine-learning-predictions-couchbase-lite-predictive-query\/#primaryimage"},"thumbnailUrl":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2020\/01\/Predictive-Query-Blog-4.jpg","keywords":["embedded database","ios","Machine Learning (ML)","swift"],"articleSection":[".NET","Couchbase Lite","Couchbase Mobile","Solutions","Swift"],"inLanguage":"es","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.couchbase.com\/blog\/machine-learning-predictions-couchbase-lite-predictive-query\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.couchbase.com\/blog\/machine-learning-predictions-couchbase-lite-predictive-query\/","url":"https:\/\/www.couchbase.com\/blog\/machine-learning-predictions-couchbase-lite-predictive-query\/","name":"Haga predicciones de aprendizaje autom\u00e1tico con Couchbase Lite","isPartOf":{"@id":"https:\/\/www.couchbase.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.couchbase.com\/blog\/machine-learning-predictions-couchbase-lite-predictive-query\/#primaryimage"},"image":{"@id":"https:\/\/www.couchbase.com\/blog\/machine-learning-predictions-couchbase-lite-predictive-query\/#primaryimage"},"thumbnailUrl":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2020\/01\/Predictive-Query-Blog-4.jpg","datePublished":"2021-01-07T09:05:54+00:00","dateModified":"2025-06-14T03:08:50+00:00","description":"Presentamos la API Predictive Query para ejecutar consultas predictivas contra datos en Couchbase Lite, la base de datos m\u00f3vil NoSQL l\u00edder.","breadcrumb":{"@id":"https:\/\/www.couchbase.com\/blog\/machine-learning-predictions-couchbase-lite-predictive-query\/#breadcrumb"},"inLanguage":"es","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.couchbase.com\/blog\/machine-learning-predictions-couchbase-lite-predictive-query\/"]}]},{"@type":"ImageObject","inLanguage":"es","@id":"https:\/\/www.couchbase.com\/blog\/machine-learning-predictions-couchbase-lite-predictive-query\/#primaryimage","url":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2020\/01\/Predictive-Query-Blog-4.jpg","contentUrl":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2020\/01\/Predictive-Query-Blog-4.jpg","width":1592,"height":628},{"@type":"BreadcrumbList","@id":"https:\/\/www.couchbase.com\/blog\/machine-learning-predictions-couchbase-lite-predictive-query\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.couchbase.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Make Machine Learning Predictions With Couchbase Lite"}]},{"@type":"WebSite","@id":"https:\/\/www.couchbase.com\/blog\/#website","url":"https:\/\/www.couchbase.com\/blog\/","name":"El blog de Couchbase","description":"Couchbase, la base de datos NoSQL","publisher":{"@id":"https:\/\/www.couchbase.com\/blog\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.couchbase.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"es"},{"@type":"Organization","@id":"https:\/\/www.couchbase.com\/blog\/#organization","name":"El blog de Couchbase","url":"https:\/\/www.couchbase.com\/blog\/","logo":{"@type":"ImageObject","inLanguage":"es","@id":"https:\/\/www.couchbase.com\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2023\/04\/admin-logo.png","contentUrl":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2023\/04\/admin-logo.png","width":218,"height":34,"caption":"The Couchbase Blog"},"image":{"@id":"https:\/\/www.couchbase.com\/blog\/#\/schema\/logo\/image\/"}},{"@type":"Person","@id":"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/c2da90e57717ee4970c48a87a131ac2c","name":"Priya Rajagopal, Directora de Gesti\u00f3n de Productos","image":{"@type":"ImageObject","inLanguage":"es","@id":"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/image\/4b50a54778b979d8c345b036ab138734","url":"https:\/\/secure.gravatar.com\/avatar\/acfb2349788955262cd069497a9e7bdb0e97c26326f2e55811e7c1174e9ef1be?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/acfb2349788955262cd069497a9e7bdb0e97c26326f2e55811e7c1174e9ef1be?s=96&d=mm&r=g","caption":"Priya Rajagopal, Senior Director, Product Management"},"description":"Priya Rajagopal es directora s\u00e9nior de gesti\u00f3n de productos en Couchbase y responsable de las plataformas de desarrollo para la nube y el per\u00edmetro. Lleva m\u00e1s de 20 a\u00f1os dedic\u00e1ndose profesionalmente al desarrollo de software en varios puestos de liderazgo t\u00e9cnico y de producto, con m\u00e1s de 10 a\u00f1os centrados en tecnolog\u00edas m\u00f3viles. Como delegada de est\u00e1ndares IPTV de TISPAN, fue una colaboradora clave en las especificaciones de est\u00e1ndares IPTV. Tiene 22 patentes en las \u00e1reas de redes y seguridad de plataformas.","sameAs":["https:\/\/x.com\/rajagp"],"url":"https:\/\/www.couchbase.com\/blog\/es\/author\/priya-rajagopalcouchbase-com\/"}]}},"authors":[{"term_id":8948,"user_id":1423,"is_guest":0,"slug":"priya-rajagopalcouchbase-com","display_name":"Priya Rajagopal, Senior Director, Product Management","avatar_url":"https:\/\/secure.gravatar.com\/avatar\/acfb2349788955262cd069497a9e7bdb0e97c26326f2e55811e7c1174e9ef1be?s=96&d=mm&r=g","author_category":"","last_name":"Rajagopal, Senior Director, Product Management","first_name":"Priya","job_title":"","user_url":"","description":"Priya Rajagopal es directora s\u00e9nior de gesti\u00f3n de productos en Couchbase y responsable de las plataformas de desarrollo para la nube y el per\u00edmetro. Lleva m\u00e1s de 20 a\u00f1os dedic\u00e1ndose profesionalmente al desarrollo de software en varios puestos de liderazgo t\u00e9cnico y de producto, con m\u00e1s de 10 a\u00f1os centrados en tecnolog\u00edas m\u00f3viles. Como delegada de est\u00e1ndares IPTV de TISPAN, fue una colaboradora clave en las especificaciones de est\u00e1ndares IPTV. Tiene 22 patentes en las \u00e1reas de redes y seguridad de plataformas."}],"_links":{"self":[{"href":"https:\/\/www.couchbase.com\/blog\/es\/wp-json\/wp\/v2\/posts\/8051","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.couchbase.com\/blog\/es\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.couchbase.com\/blog\/es\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/es\/wp-json\/wp\/v2\/users\/1423"}],"replies":[{"embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/es\/wp-json\/wp\/v2\/comments?post=8051"}],"version-history":[{"count":0,"href":"https:\/\/www.couchbase.com\/blog\/es\/wp-json\/wp\/v2\/posts\/8051\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/es\/wp-json\/wp\/v2\/media\/10117"}],"wp:attachment":[{"href":"https:\/\/www.couchbase.com\/blog\/es\/wp-json\/wp\/v2\/media?parent=8051"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/es\/wp-json\/wp\/v2\/categories?post=8051"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/es\/wp-json\/wp\/v2\/tags?post=8051"},{"taxonomy":"author","embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/es\/wp-json\/wp\/v2\/ppma_author?post=8051"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}