{"id":31,"date":"2026-03-05T16:51:50","date_gmt":"2026-03-05T16:51:50","guid":{"rendered":"https:\/\/blog.rebalai.com\/es\/2026\/03\/05\/rag-vs-fine-tuning-cundo-usar-cada-tcnica-en-aplic\/"},"modified":"2026-03-18T22:00:25","modified_gmt":"2026-03-18T22:00:25","slug":"rag-vs-fine-tuning-cundo-usar-cada-tcnica-en-aplic","status":"publish","type":"post","link":"https:\/\/blog.rebalai.com\/es\/2026\/03\/05\/rag-vs-fine-tuning-cundo-usar-cada-tcnica-en-aplic\/","title":{"rendered":"RAG vs Fine-Tuning: Cu\u00e1ndo Usar Cada T\u00e9cnica en Aplicaciones LLM"},"content":{"rendered":"<p><script type=\"application\/ld+json\">\n{\n  \"@context\": \"https:\/\/schema.org\",\n  \"@type\": \"BlogPosting\",\n  \"headline\": \"RAG <a href=\"https:\/\/blog.rebalai.com\/es\/2026\/03\/05\/rag-vs-fine-tuning\/\" title=\"vs <a href=\"https:\/\/blog.rebalai.com\/es\/2026\/03\/05\/rag-vs-fine-tuning\/\" title=\"Fine-Tuning: Cu\u00e1ndo Usar Cada\">Fine-Tuning: Cu\u00e1ndo Usar Cada<\/a> T\u00e9cnica\">vs <a href=\"https:\/\/blog.rebalai.com\/es\/2026\/03\/05\/rag-vs-fine-tuning\/\" title=\"Fine-Tuning: Cu\u00e1ndo Usar\">Fine-Tuning: Cu\u00e1ndo Usar<\/a> Cada T\u00e9cnica<\/a> <a href=\"https:\/\/blog.rebalai.com\/es\/2026\/03\/05\/rag-vs-fine-tuning\/\" title=\"en Aplicaciones\">en Aplicaciones<\/a> LLM\",\n  \"description\": \"Hace unos seis meses, mi equipo estaba construyendo un chatbot interno para una empresa de log\u00edstica.\",\n  \"url\": \"https:\/\/blog.rebalai.com\/es\/2026\/03\/05\/rag-vs-fine-tuning-cundo-usar-cada-tcnica-en-aplic\/\",\n  \"datePublished\": \"2026-03-05T16:51:50\",\n  \"dateModified\": \"2026-03-05T17:39:39\",\n  \"inLanguage\": \"es_ES\",\n  \"author\": {\n    \"@type\": \"Organization\",\n    \"name\": \"RebalAI\",\n    \"url\": \"https:\/\/blog.rebalai.com\/es\/\"\n  },\n  \"publisher\": {\n    \"@type\": \"Organization\",\n    \"name\": \"RebalAI\",\n    \"logo\": {\n      \"@type\": \"ImageObject\",\n      \"url\": \"https:\/\/blog.rebalai.com\/wp-content\/uploads\/logo.png\"\n    }\n  },\n  \"mainEntityOfPage\": {\n    \"@type\": \"WebPage\",\n    \"@id\": \"https:\/\/blog.rebalai.com\/es\/2026\/03\/05\/rag-vs-fine-tuning-cundo-usar-cada-tcnica-en-aplic\/\"\n  }\n}\n<\/script><\/p>\n<p>Hace unos seis meses, mi equipo estaba construyendo un chatbot interno para una empresa de log\u00edstica. Ten\u00edan cientos de documentos operativos \u2014 procedimientos de aduana, tarifas actualizadas cada trimestre, manuales de flota \u2014 y necesitaban que los empleados pudieran hacerle preguntas en lenguaje natural. La primera decisi\u00f3n real que tuve que tomar fue esta: \u00bfentreno el modelo con ese conocimiento, o construyo un sistema que lo recupere din\u00e1micamente?<\/p>\n<p>Spoiler: tom\u00e9 la decisi\u00f3n equivocada la primera vez. Y fue cara.<\/p>\n<p>Ahora, <a href=\"https:\/\/blog.rebalai.com\/es\/2026\/03\/09\/configuracin-de-github-actions-para-aplicaciones-p\/\" title=\"despu\u00e9s de\">despu\u00e9s de<\/a> implementar ambas t\u00e9cnicas en ese proyecto y en dos m\u00e1s, tengo opiniones bastante concretas sobre <a href=\"https:\/\/blog.rebalai.com\/es\/2026\/03\/05\/rag-vs-fine-tuning\/\" title=\"Cu\u00e1ndo Usar Cada\">cu\u00e1ndo usar cada<\/a> una.<\/p>\n<h2>RAG no es complicado, pero la gente lo sobredise\u00f1a desde el inicio<\/h2>\n<p>RAG (Retrieval-Augmented Generation) es conceptualmente simple: en vez de que el modelo &#8220;sepa&#8221; algo de memoria, t\u00fa le das el contexto relevante <a href=\"https:\/\/blog.rebalai.com\/es\/2026\/03\/05\/claude-vs-gpt-4o-vs-gemini-20-qu-modelo-de-ia-usar\/\" title=\"en el\">en el<\/a> prompt. Tienes <a href=\"https:\/\/blog.rebalai.com\/es\/2026\/03\/09\/postgresql-performance-tuning-what-i-learned-optim\/\" title=\"una Base de\">una base de<\/a> documentos, los conviertes en vectores, y cuando el usuario pregunta algo, recuperas los fragmentos m\u00e1s parecidos sem\u00e1nticamente y los metes <a href=\"https:\/\/blog.rebalai.com\/es\/2026\/03\/05\/claude-vs-gpt-4o-vs-gemini-20-qu-modelo-de-ia-usar\/\" title=\"en el\">en el<\/a> contexto del LLM.<\/p>\n<p>El pipeline b\u00e1sico en Python con LangChain se ve as\u00ed:<\/p>\n<pre><code class=\"language-python\">from langchain_openai import OpenAIEmbeddings, ChatOpenAI\nfrom langchain_community.vectorstores import Chroma\nfrom langchain.chains import RetrievalQA\nfrom langchain_community.document_loaders import DirectoryLoader\nfrom langchain.text_splitter import RecursiveCharacterTextSplitter\n\n# Cargar y chunkar documentos\nloader = DirectoryLoader(&quot;.\/docs&quot;, glob=&quot;**\/*.pdf&quot;)\ndocs = loader.load()\n\nsplitter = RecursiveCharacterTextSplitter(\n    chunk_size=1000,\n    chunk_overlap=200  # Overlap es clave \u2014 sin esto pierdes contexto en los bordes\n)\nchunks = splitter.split_documents(docs)\n\n# Crear vectorstore\nembeddings = OpenAIEmbeddings(model=&quot;text-embedding-3-small&quot;)\nvectorstore = Chroma.from_documents(chunks, embeddings, persist_directory=&quot;.\/chroma_db&quot;)\n\n# Construir chain de QA\nllm = ChatOpenAI(model=&quot;gpt-4o&quot;, temperature=0)\nqa_chain = RetrievalQA.from_chain_type(\n    llm=llm,\n    retriever=vectorstore.as_retriever(search_kwargs={&quot;k&quot;: 4}),\n    return_source_documents=True  # Siempre devuelve fuentes para auditor\u00eda\n)\n\nresponse = qa_chain.invoke({&quot;query&quot;: &quot;\u00bfCu\u00e1l es el procedimiento para importaciones de la UE?&quot;})\nprint(response[&quot;result&quot;])\n<\/code><\/pre>\n<p>Esto funciona. Bien. Desde el primer d\u00eda.<\/p>\n<p>Lo que m\u00e1s me sorprendi\u00f3 al principio fue qu\u00e9 tan r\u00e1pido puedes iterar. Cambias los documentos, los re-indexas, y el sistema ya sabe la versi\u00f3n nueva. No hay epochs, no hay <code>cuda out of memory<\/code>, no hay que esperar a que terminen los trabajos de entrenamiento.<\/p>\n<p>RAG brilla especialmente cuando:<\/p>\n<ul>\n<li><strong>El conocimiento cambia frecuentemente.<\/strong> Tarifas, precios, documentaci\u00f3n de APIs en evoluci\u00f3n activa. Si tu empresa actualiza procedimientos cada mes, no puedes estar fine-tuneando cada mes.<\/li>\n<li><strong>Necesitas trazabilidad.<\/strong> Puedes devolver exactamente qu\u00e9 fragmento us\u00f3 el modelo para generar la respuesta. En entornos regulados (legal, salud, finanzas) esto no es opcional.<\/li>\n<li><strong>El dominio es muy espec\u00edfico y propietario.<\/strong> El modelo base no sabe nada de los contratos internos de tu empresa. Nunca va a saberlo. RAG es la \u00fanica opci\u00f3n realista.<\/li>\n<li><strong>Tu presupuesto de GPU es cero.<\/strong> No necesitas nada m\u00e1s que <a href=\"https:\/\/blog.rebalai.com\/es\/2026\/03\/09\/bun-vs-nodejs-in-production-2026-real-migration-st\/\" title=\"Una API\">una API<\/a> key y almacenamiento.<\/li>\n<\/ul>\n<p>Una cosa que noto constantemente: la calidad del chunking importa much\u00edsimo m\u00e1s de <a href=\"https:\/\/blog.rebalai.com\/es\/2026\/03\/09\/configuracin-de-github-actions-para-aplicaciones-p\/\" title=\"lo que\">lo que<\/a> la gente cree. Si partes mal los documentos, el retrieval va a traer basura y el LLM va a alucinar aunque tenga el documento correcto. Mi heur\u00edstica actual es <code>chunk_size<\/code> entre 800-1200 tokens con un overlap del 15-20%. M\u00e1s grande no siempre es mejor \u2014 a veces diluye la se\u00f1al relevante.<\/p>\n<h2>Fine-tuning: cuando el problema no es el conocimiento sino el comportamiento<\/h2>\n<p>Aqu\u00ed est\u00e1 el malentendido m\u00e1s com\u00fan que veo: la gente trata el fine-tuning como si fuera una forma de &#8220;ense\u00f1arle hechos&#8221; al modelo. No funciona as\u00ed. O bueno, funciona parcialmente, pero es la forma m\u00e1s cara y fr\u00e1gil de hacerlo.<\/p>\n<p>Fine-tuning es para cambiar <em>c\u00f3mo<\/em> responde el modelo, no <em>qu\u00e9 sabe<\/em>.<\/p>\n<p>Casos donde s\u00ed <a href=\"https:\/\/blog.rebalai.com\/es\/2026\/03\/09\/webassembly-in-2026-where-it-actually-makes-sense\/\" title=\"Tiene Sentido\">tiene sentido<\/a>:<\/p>\n<ul>\n<li>Quieres que el modelo adopte un tono muy espec\u00edfico que es dif\u00edcil de lograr con prompting. Una empresa con un estilo de comunicaci\u00f3n muy particular, jerga interna, nivel de formalidad consistente.<\/li>\n<li>Necesitas que el modelo haga una tarea estructurada de forma muy consistente. Extracci\u00f3n de JSON con un schema espec\u00edfico, clasificaci\u00f3n con categor\u00edas propietarias, formateo de salidas que deben ser id\u00e9nticas entre llamadas.<\/li>\n<li>Latencia y costo importan mucho. Un modelo fine-tuneado m\u00e1s peque\u00f1o (Llama 3 8B, Mistral 7B) puede ser significativamente m\u00e1s barato en inferencia que GPT-4o si vas a hacer millones de llamadas al mes.<\/li>\n<li>Tienes <a href=\"https:\/\/blog.rebalai.com\/es\/2026\/03\/09\/postgresql-performance-tuning-what-i-learned-optim\/\" title=\"Datos de\">datos de<\/a> demostraci\u00f3n de calidad. Cientos o miles de pares (input, output) que muestran exactamente el comportamiento que quieres.<\/li>\n<\/ul>\n<p>El script de fine-tuning con la API de OpenAI es bastante directo ahora (esto con el formato actual de <code>gpt-4o-mini<\/code>, que es donde tiene m\u00e1s sentido econ\u00f3mico):<\/p>\n<pre><code class=\"language-python\">import openai\nimport json\n\nclient = openai.OpenAI()\n\n# Tu archivo JSONL de entrenamiento debe verse as\u00ed:\n# {&quot;messages&quot;: [\n#     {&quot;role&quot;: &quot;system&quot;, &quot;content&quot;: &quot;Eres un <a href=\"https:\/\/blog.rebalai.com\/es\/2026\/03\/05\/github-copilot-vs-cursor-vs-codeium-el-mejor-asist\/\" title=\"Asistente de\">asistente de<\/a> log\u00edstica que responde en espa\u00f1ol formal...&quot;},\n#     {&quot;role&quot;: &quot;user&quot;, &quot;content&quot;: &quot;\u00bfC\u00f3mo proceso una devoluci\u00f3n internacional?&quot;},\n#     {&quot;role&quot;: &quot;assistant&quot;, &quot;content&quot;: &quot;Para procesar una devoluci\u00f3n internacional, debe seguir...&quot;}\n# ]}\n\n# Subir dataset de entrenamiento\nwith open(&quot;training_data.jsonl&quot;, &quot;rb&quot;) as f:\n    training_file = client.files.create(file=f, purpose=&quot;fine-tune&quot;)\n\n# Crear job de fine-tuning\njob = client.fine_tuning.jobs.create(\n    training_file=training_file.id,\n    model=&quot;gpt-4o-mini-2024-07-18&quot;,\n    hyperparameters={\n        &quot;n_epochs&quot;: 3,  # Empieza conservador \u2014 overfitting es real\n    }\n)\n\nprint(f&quot;Job creado: {job.id}&quot;)\n# Puedes monitorear con: client.fine_tuning.jobs.retrieve(job.id)\n<\/code><\/pre>\n<p>Lo que no <a href=\"https:\/\/blog.rebalai.com\/es\/2026\/03\/05\/autogen-vs-langgraph-vs-crewai-el-mejor-framework\/\" title=\"te dice\">te dice<\/a> la documentaci\u00f3n: necesitas <a href=\"https:\/\/blog.rebalai.com\/es\/2026\/03\/09\/postgresql-performance-tuning-what-i-learned-optim\/\" title=\"Datos de\">datos de<\/a> buena calidad, no solo muchos datos. Entrenar con 500 ejemplos excelentes supera a 5000 ejemplos mediocres. Aprend\u00ed esto de la peor manera.<\/p>\n<h2>El error que me cost\u00f3 tres d\u00edas y algo de dignidad<\/h2>\n<p>Volviendo al proyecto de log\u00edstica. Mi instinto inicial fue: &#8220;el modelo necesita saber mucho sobre aduanas y log\u00edstica internacional, voy a fine-tunearlo con los documentos de la empresa.&#8221;<\/p>\n<p>Pas\u00e9 tres d\u00edas preparando el dataset, convirtiendo PDFs a texto, creando pares de Q&amp;A, esperando que terminaran los jobs. El resultado fue&#8230; decepcionante. El modelo respond\u00eda con informaci\u00f3n que sonaba plausible pero mezclaba <a href=\"https:\/\/blog.rebalai.com\/es\/2026\/03\/09\/postgresql-performance-tuning-what-i-learned-optim\/\" title=\"Datos de\">datos de<\/a> diferentes documentos, y lo m\u00e1s grave: cuando actualizaron las tarifas de aduana (lo cual pas\u00f3 a la semana de hacer el <a href=\"https:\/\/m.do.co\/c\/06956e5e2802\" title=\"Deploy on DigitalOcean Cloud\" rel=\"nofollow sponsored\" target=\"_blank\">deploy<\/a>), el modelo segu\u00eda dando los precios viejos con total confianza.<\/p>\n<p>El problema fundamental es que el fine-tuning &#8220;hornea&#8221; el conocimiento en los pesos. No puedes actualizar eso sin reentrenar. Y para un dominio donde la informaci\u00f3n cambia \u2014 log\u00edstica, legal, finanzas \u2014 eso es un problema estructural, no t\u00e9cnico.<\/p>\n<p>Tir\u00e9 ese trabajo y constru\u00ed un RAG. Me tom\u00f3 d\u00eda y medio tener algo funcional <a href=\"https:\/\/blog.rebalai.com\/es\/2026\/03\/05\/autogen-vs-langgraph-vs-crewai-el-mejor-framework\/\" title=\"en producci\u00f3n\">en producci\u00f3n<\/a>, con mejor precisi\u00f3n y con la ventaja de que cuando cambian los documentos, solo hay que re-indexar.<\/p>\n<p>Honestamente, el fine-tuning hubiera tenido sentido si el objetivo fuera diferente: que el modelo respondiera con el tono y la estructura espec\u00edfica que usa la empresa, no que memorizara las tarifas.<\/p>\n<h2>La comparaci\u00f3n <a href=\"https:\/\/blog.rebalai.com\/es\/2026\/03\/08\/configuracin-de-argocd-para-gitops-tutorial-paso-a\/\" title=\"que nadie\">que nadie<\/a> hace: costo total real<\/h2>\n<p>Mucha gente compara <a href=\"https:\/\/blog.rebalai.com\/es\/2026\/03\/05\/rag-vs-fine-tuning\/\" title=\"RAG vs\">RAG vs<\/a> fine-tuning en t\u00e9rminos de precisi\u00f3n de respuestas y para ah\u00ed. Pero el costo total importa.<\/p>\n<p><strong>RAG:<\/strong><br \/>\n&#8211; Setup inicial: medio d\u00eda a dos d\u00edas, dependiendo de la complejidad del pipeline.<br \/>\n&#8211; Costo por query: embedding de la pregunta + llamada al LLM con contexto extendido. El contexto extra cuesta tokens.<br \/>\n&#8211; Mantenimiento: re-indexar cuando cambian los docs. F\u00e1cil de automatizar.<br \/>\n&#8211; Escalabilidad del conocimiento: lineal \u2014 m\u00e1s documentos, m\u00e1s vectores, pero el proceso es el mismo.<\/p>\n<p><strong>Fine-tuning:<\/strong><br \/>\n&#8211; Setup inicial: <a href=\"https:\/\/blog.rebalai.com\/es\/2026\/03\/08\/edge-computing-en-2026-por-qu-los-desarrolladores\/\" title=\"de dos\">de dos<\/a> d\u00edas a <a href=\"https:\/\/blog.rebalai.com\/es\/2026\/03\/05\/tcnicas-avanzadas-de-prompt-engineering-chain-of-t\/\" title=\"dos semanas\">dos semanas<\/a>, dependiendo de la calidad de los <a href=\"https:\/\/blog.rebalai.com\/es\/2026\/03\/09\/postgresql-performance-tuning-what-i-learned-optim\/\" title=\"Datos de\">datos de<\/a> entrenamiento.<br \/>\n&#8211; Costo de entrenamiento: var\u00eda. Con <code>gpt-4o-mini<\/code> son centavos por token de entrenamiento. Con modelos open-source en tu propia GPU, el costo es tiempo y electricidad.<br \/>\n&#8211; Costo por query: m\u00e1s barato si usas un modelo m\u00e1s peque\u00f1o fine-tuneado vs un modelo grande de prop\u00f3sito general.<br \/>\n&#8211; Mantenimiento: cada vez que cambian los requerimientos, potencialmente hay que reentrenar. Esto se acumula.<\/p>\n<p>Para la mayor\u00eda de los casos de uso que he visto en <a href=\"https:\/\/blog.rebalai.com\/es\/2026\/03\/09\/serverless-vs-containers-in-2026-a-practical-decis\/\" title=\"Equipos de\">equipos de<\/a> menos de 20 personas, RAG tiene mejor ROI. No porque sea t\u00e9cnicamente superior en abstracto, sino porque el ciclo de iteraci\u00f3n es m\u00e1s corto y el mantenimiento es m\u00e1s predecible.<\/p>\n<p>No estoy 100% seguro de que esto escale igual <a href=\"https:\/\/blog.rebalai.com\/es\/2026\/03\/09\/serverless-vs-containers-in-2026-a-practical-decis\/\" title=\"para Equipos\">para equipos<\/a> con millones de queries al d\u00eda \u2014 ah\u00ed los costos de inferencia pueden cambiar la ecuaci\u00f3n completamente.<\/p>\n<h2>Mi recomendaci\u00f3n concreta, sin matices innecesarios<\/h2>\n<p>Despu\u00e9s de todo esto, aqu\u00ed est\u00e1 <a href=\"https:\/\/blog.rebalai.com\/es\/2026\/03\/09\/configuracin-de-github-actions-para-aplicaciones-p\/\" title=\"lo que\">lo que<\/a> yo har\u00eda seg\u00fan el caso:<\/p>\n<p><strong>Usa RAG si:<\/strong><br \/>\n&#8211; Tus datos cambian m\u00e1s de una vez al trimestre.<br \/>\n&#8211; Necesitas citar fuentes o tener trazabilidad de d\u00f3nde vino la respuesta.<br \/>\n&#8211; Est\u00e1s construyendo un prototipo y necesitas iterar r\u00e1pido.<br \/>\n&#8211; El dominio es altamente factual (preguntas con respuestas correctas e incorrectas claras).<\/p>\n<p><strong>Considera fine-tuning si:<\/strong><br \/>\n&#8211; Tienes un problema de <em>comportamiento<\/em> o <em>estilo<\/em> que el prompting no resuelve de forma consistente.<br \/>\n&#8211; Vas a hacer un volumen muy alto de llamadas y el costo de tokens de contexto se vuelve significativo.<br \/>\n&#8211; Tienes <a href=\"https:\/\/blog.rebalai.com\/es\/2026\/03\/09\/postgresql-performance-tuning-what-i-learned-optim\/\" title=\"Datos de\">datos de<\/a> calidad (cientos de ejemplos buenos, no miles de ejemplos malos).<br \/>\n&#8211; La informaci\u00f3n <a href=\"https:\/\/blog.rebalai.com\/es\/2026\/03\/05\/claude-vs-gpt-4o-vs-gemini-20-qu-modelo-de-ia-usar\/\" title=\"en el\">en el<\/a> dominio es estable.<\/p>\n<p><strong>La combinaci\u00f3n que m\u00e1s me ha funcionado:<\/strong> RAG para conocimiento, fine-tuning para comportamiento. Un modelo fine-tuneado para responder <a href=\"https:\/\/blog.rebalai.com\/es\/2026\/03\/05\/claude-vs-gpt-4o-vs-gemini-20-qu-modelo-de-ia-usar\/\" title=\"en el\">en el<\/a> tono correcto y con el formato correcto, augmentado con RAG para acceder a informaci\u00f3n actualizada. Es m\u00e1s complejo de mantener, pero cuando el problema lo justifica, es la mejor soluci\u00f3n.<\/p>\n<p>Lo que no har\u00eda: fine-tuning como primera opci\u00f3n solo porque suena m\u00e1s &#8220;t\u00e9cnico&#8221; o m\u00e1s impresionante para una demo. He visto equipos gastar semanas en <a href=\"https:\/\/blog.rebalai.com\/es\/2026\/03\/05\/ai-pipeline-lessons\/\" title=\"Pipelines de\">pipelines de<\/a> fine-tuning cuando un RAG bien hecho hubiera resuelto el problema en dos d\u00edas. El objetivo es que funcione <a href=\"https:\/\/blog.rebalai.com\/es\/2026\/03\/05\/autogen-vs-langgraph-vs-crewai-el-mejor-framework\/\" title=\"en producci\u00f3n\">en producci\u00f3n<\/a>, no que el enfoque sea glamoroso.<\/p>\n<p>Si tuvieras que empezar ma\u00f1ana: construye el RAG primero. M\u00eddelo. Si <a href=\"https:\/\/blog.rebalai.com\/es\/2026\/03\/09\/configuracin-de-github-actions-para-aplicaciones-p\/\" title=\"despu\u00e9s de\">despu\u00e9s de<\/a> tener m\u00e9tricas reales el comportamiento del modelo es el cuello de botella \u2014 y puedes articular exactamente qu\u00e9 comportamiento necesitas cambiar \u2014 entonces empieza a explorar fine-tuning con datos que ya tienes de las interacciones reales del RAG. Esos datos van a ser mucho mejores que cualquier cosa que construyas artificialmente desde cero.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>{ &#8220;@context&#8221;: &#8220;https:\/\/schema.org&#8221;, &#8220;@type&#8221;: &#8220;BlogPosting&#8221;, &#8220;headline&#8221;: &#8220;RAG Fine-Tuning: Cu\u00e1ndo Usar Cada T\u00e9cnica&#8221;>vs Fine-Tuning: Cu\u00e1ndo Usar Cada T\u00e9cnic<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"site-sidebar-layout":"default","site-content-layout":"","ast-site-content-layout":"default","site-content-style":"default","site-sidebar-style":"default","ast-global-header-display":"","ast-banner-title-visibility":"","ast-main-header-display":"","ast-hfb-above-header-display":"","ast-hfb-below-header-display":"","ast-hfb-mobile-header-display":"","site-post-title":"","ast-breadcrumbs-content":"","ast-featured-img":"","footer-sml-layout":"","ast-disable-related-posts":"","theme-transparent-header-meta":"","adv-header-id-meta":"","stick-header-meta":"","header-above-stick-meta":"","header-main-stick-meta":"","header-below-stick-meta":"","astra-migrate-meta-layouts":"default","ast-page-background-enabled":"default","ast-page-background-meta":{"desktop":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"ast-content-background-meta":{"desktop":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"footnotes":""},"categories":[1],"tags":[],"class_list":["post-31","post","type-post","status-publish","format-standard","hentry","category-general"],"_links":{"self":[{"href":"https:\/\/blog.rebalai.com\/es\/wp-json\/wp\/v2\/posts\/31","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blog.rebalai.com\/es\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blog.rebalai.com\/es\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blog.rebalai.com\/es\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.rebalai.com\/es\/wp-json\/wp\/v2\/comments?post=31"}],"version-history":[{"count":20,"href":"https:\/\/blog.rebalai.com\/es\/wp-json\/wp\/v2\/posts\/31\/revisions"}],"predecessor-version":[{"id":707,"href":"https:\/\/blog.rebalai.com\/es\/wp-json\/wp\/v2\/posts\/31\/revisions\/707"}],"wp:attachment":[{"href":"https:\/\/blog.rebalai.com\/es\/wp-json\/wp\/v2\/media?parent=31"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.rebalai.com\/es\/wp-json\/wp\/v2\/categories?post=31"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.rebalai.com\/es\/wp-json\/wp\/v2\/tags?post=31"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}