[{"data":1,"prerenderedAt":187},["ShallowReactive",2],{"seo-verification":3,"blog-privategpt-en-vps-documentos-confidenciales-es":6},{"google":4,"bing":5},"EycwPY2XMyTkVzas3n1ygeNJFGAH513qrMjfDljzsMQ","",{"key":7,"data":8},"blog-privategpt-en-vps-documentos-confidenciales-es",{"id":9,"slug":10,"slugs":11,"title":15,"excerpt":16,"readTime":17,"views":18,"isPinned":19,"publishedAt":20,"updatedAt":21,"category":22,"categories":28,"featuredImage":30,"bgImage":31,"posterImage":32,"relatedSolution":30,"intro":33,"sections":34,"ctaTitle":130,"ctaBody":131,"ctaButton":132,"ctaUrl":133,"relatedPosts":134},281,"privategpt-en-vps-documentos-confidenciales",{"fr":12,"en":13,"ar":14,"es":10},"privategpt-documents-confidentiels-vps","privategpt-on-a-vps-analyze-confidential-documents-locally","تشغيل-privategpt-على-vps-تحليل-المستندات-السرية-محليا","PrivateGPT en VPS: analice documentos confidenciales en local","Analice contratos, declaraciones fiscales y expedientes de RR. HH. con PrivateGPT en un VPS, sin enviar datos a la nube. Cumple el RGPD y el artículo 50 de la AI Act.",7,0,false,"2026-08-18T00:00:00+00:00","2026-09-08T22:00:02+00:00",{"id":23,"name":24,"slug":25,"color":26,"icon":27},1,"Inteligencia Artificial","intelligence-artificielle","bg-purple-500\u002F10 text-purple-400","ia",[29],{"id":23,"name":24,"slug":25,"color":26,"icon":27},null,"\u002Fblog\u002Fcovers\u002Fbg.svg","\u002Fblog\u002Fcovers\u002Fprivategpt-documents-confidentiels-vps-poster.svg","El artículo 50 de la AI Act entró en aplicación el 2 de agosto de 2026: todo sistema de IA generativa que trate datos personales debe declararse o quedar exento. Para abogados, contadores, responsables de recursos humanos y profesionales de la salud, la respuesta inmediata existe: PrivateGPT, instalado en un VPS root, ejecuta un modelo de lenguaje en local, lee sus PDF y responde a sus preguntas — sin que una sola consulta salga de su servidor.",[35,39,50,53,84,87,96,118,121,124,127],{"type":36,"title":37,"body":38},"h2","Por qué sus documentos profesionales no pueden pasar por la nube","Un abogado que pega un contrato de cesión en ChatGPT, un contador que envía una declaración fiscal a Claude, un responsable de recursos humanos que resume un expediente disciplinario mediante la API de OpenAI: en los tres casos, los datos salen hacia servidores de terceros. El artículo 28 del RGPD es claro: el responsable del tratamiento sigue siendo responsable, aunque sea un encargado del tratamiento — aquí OpenAI o Anthropic — quien recibe los datos.\n\nEl artículo 50 de la AI Act, en vigor desde el 2 de agosto de 2026, añade una capa: los sistemas de IA generativa de uso general deben declararse o acogerse a una exención explícita. Usar la API de un proveedor estadounidense para tratar datos personales sin declaración previa expone hoy a un riesgo regulatorio concreto.\n\n**La vía legal inmediata es el on-premise.** Un VPS root en el que se ejecuta PrivateGPT responde a una pregunta sobre sus documentos sin llamar nunca a `api.openai.com` ni a `api.anthropic.com`. Puede comprobarlo en tiempo real con `tcpdump` o con las reglas de `ufw` — es una propiedad arquitectónica, no una promesa contractual.",{"type":40,"title":41,"items":42},"ul","Lo que gana con PrivateGPT on-premise",[43,44,45,46,47,48,49],"**Cero datos salientes**: el modelo se ejecuta en local mediante `llama-cpp-python`, sin ninguna llamada de red hacia un proveedor de IA — verificable con el firewall o con `tcpdump`.","**Cumplimiento del artículo 28 del RGPD**: sin encargado del tratamiento adicional, sin DPA que negociar, sin transferencias fuera de la UE.","**Exención del artículo 50 de la AI Act**: un LLM autoalojado y sin acceso público no queda sujeto a la obligación de declaración de los sistemas de IA generativa de uso general.","**Secreto profesional preservado**: contratos, declaraciones fiscales, historiales médicos y expedientes de personal permanecen dentro de su perímetro jurídico.","**RAG sobre sus propios documentos**: PrivateGPT indexa sus PDF, DOCX, TXT y CSV y responde citando los pasajes de origen — no es un chatbot genérico.","**Sin suscripción recurrente**: el costo es el del VPS; el modelo Mistral-7B-Instruct es open source.","**CPU-only viable**: no se requiere GPU — un VPS con 8 GB de RAM y un SSD NVMe basta para Mistral-7B Q4_K_M.",{"type":36,"title":51,"body":52},"PrivateGPT vs Ollama: dos herramientas que no hacen lo mismo","Ollama es un **servidor LLM genérico**: descarga modelos, expone una API compatible con OpenAI y responde a prompts. Es una excelente herramienta, pero no sabe leer sus archivos — responde a partir de su contexto de conversación, no de sus documentos.\n\nPrivateGPT (repo \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fzylon-ai\u002Fprivate-gpt\">github.com\u002Fzylon-ai\u002Fprivate-gpt\u003C\u002Fa>) es un **motor RAG** (Retrieval-Augmented Generation): indexa sus documentos en una base vectorial local (ChromaDB) y luego, en cada pregunta, busca los pasajes pertinentes y los inyecta en el contexto del LLM. La respuesta cita sus fuentes.",{"type":54,"title":55,"headers":56,"rows":60},"comparison","PrivateGPT vs Ollama — en qué se diferencian",[57,58,59],"Criterio","PrivateGPT","Ollama",[61,65,69,73,77,81],[62,63,64],"Caso de uso principal","Preguntas y respuestas sobre sus propios documentos (RAG)","Serving LLM genérico (API)",[66,67,68],"Indexación de archivos","PDF, DOCX, TXT y CSV nativos","No — contexto manual",[70,71,72],"Interfaz web","Sí (puerto 8080)","No (solo API)",[74,75,76],"Base vectorial","ChromaDB local","Ninguna",[78,79,80],"Cita de las fuentes","Sí — pasaje + nombre del archivo","No",[82,83,83],"GPU requerida","No — CPU-only viable",{"type":36,"title":85,"body":86},"Requisitos previos: elegir el VPS adecuado antes de empezar","Los requisitos de memoria los impone el modelo, no PrivateGPT en sí.\n\n- **Mistral-7B-Instruct Q4_K_M** (el modelo por defecto de PrivateGPT): **8 GB de RAM como mínimo**. Por debajo, el kernel mata el proceso (OOM) al cargar el modelo.\n- **Modelo 13B** (p. ej. Llama-2-13B Q4_K_M): **16 GB de RAM como mínimo**. La calidad de las respuestas resulta claramente más adecuada en textos largos y técnicos.\n\n**SSD NVMe recomendado**: la indexación de un PDF de 50 páginas genera embeddings vectoriales — en un disco NVMe la operación tarda unos segundos; en un HDD o en un SSD SATA compartido puede bloquearse varios minutos.",{"type":40,"title":88,"items":89},"Lista de comprobación antes de la instalación",[90,91,92,93,94,95],"VPS con **8 GB de RAM como mínimo** (16 GB si apunta a un modelo 13B).","Debian 12 o Ubuntu 22.04\u002F24.04 — las imágenes Docker oficiales de PrivateGPT apuntan a estas distribuciones.","Docker y Docker Compose instalados (`docker compose version` debe devolver v2.x).","**SSD NVMe** para el volumen de datos (indexación rápida de los PDF).","Acceso SSH root o sudo en el VPS.","Puerto 8080 **no expuesto públicamente** en esta fase — PrivateGPT escucha en local por defecto.",{"type":97,"title":98,"steps":99},"steps","Desplegar PrivateGPT con Docker Compose",[100,103,106,109,112,115],{"title":101,"body":102},"Clonar el repositorio y preparar la estructura","Conéctese a su VPS por SSH y luego:\n\n```bash\ngit clone https:\u002F\u002Fgithub.com\u002Fzylon-ai\u002Fprivate-gpt.git\ncd private-gpt\nmkdir -p local_data\u002Fprivate_gpt docs\n```\n\nLa carpeta `docs\u002F` recibirá los documentos que va a indexar. La carpeta `local_data\u002F` contiene la base vectorial ChromaDB y los modelos descargados — **nunca la monte en un volumen de red sin cifrar**.",{"title":104,"body":105},"Configurar el entorno","```bash\ncp .env.example .env\n```\n\nEn `.env`:\n\n```bash\nDOCKER_COMPOSE_PROFILE=ollama\nPRIVATEGPT_SERVER_HOST=127.0.0.1\nPRIVATEGPT_SERVER_PORT=8080\n```\n\nEl perfil `ollama` arranca PrivateGPT en modo CPU con el backend `llama-cpp-python`. Es el modo recomendado en un VPS sin GPU.",{"title":107,"body":108},"Arrancar el servicio y descargar el modelo","```bash\ndocker compose --profile ollama up -d\n```\n\nEn el primer arranque, PrivateGPT descarga **Mistral-7B-Instruct-v0.2 en formato GGUF** (~4,1 GB). Siga el progreso:\n\n```bash\ndocker compose logs -f privategpt\n```\n\nCuando lea `Application startup complete`, el servicio está listo.",{"title":110,"body":111},"Ingerir sus documentos","Copie sus archivos en la carpeta `docs\u002F` montada en el contenedor:\n\n```bash\ncp \u002Fchemin\u002Fvers\u002Fcontrat-cession.pdf docs\u002F\ncp \u002Fchemin\u002Fvers\u002Fliasse-fiscale-2025.docx docs\u002F\n```\n\nLance la ingesta mediante la API REST:\n\n```bash\ncurl -X POST http:\u002F\u002F127.0.0.1:8080\u002Fv1\u002Fingest\u002Ffile \\\n  -H 'Content-Type: multipart\u002Fform-data' \\\n  -F 'file=@docs\u002Fcontrat-cession.pdf'\n```",{"title":113,"body":114},"Acceder a la interfaz mediante un túnel SSH","PrivateGPT escucha en `127.0.0.1:8080`, **nunca expuesto directamente a Internet**. Para acceder desde su equipo:\n\n```bash\nssh -L 8080:127.0.0.1:8080 user@votre-vps.com\n```\n\nLuego abra `http:\u002F\u002Flocalhost:8080` en su navegador.",{"title":116,"body":117},"Hacer una pregunta sobre un contrato","En la interfaz web, asegúrese de que el modo **Query documents** está seleccionado. Ejemplo:\n\n> «¿Cuáles son las condiciones suspensivas previstas en el artículo 4?»\n\nPrivateGPT devuelve la respuesta citando los pasajes de origen. Mediante la API:\n\n```bash\ncurl -X POST http:\u002F\u002F127.0.0.1:8080\u002Fv1\u002Fchat\u002Fcompletions \\\n  -H 'Content-Type: application\u002Fjson' \\\n  -d '{\"messages\":[{\"role\":\"user\",\"content\":\"¿Cuáles son las condiciones suspensivas del artículo 4?\"}],\"use_context\":true}'\n```",{"type":36,"title":119,"body":120},"Tras la instalación: asegurar y respaldar","**Acceso del equipo con Nginx + autenticación básica**\n\n```bash\n# \u002Fetc\u002Fnginx\u002Fsites-available\u002Fprivategpt\nserver {\n    listen 443 ssl;\n    server_name privategpt.votre-domaine.com;\n    ssl_certificate     \u002Fetc\u002Fletsencrypt\u002Flive\u002Fprivategpt.votre-domaine.com\u002Ffullchain.pem;\n    ssl_certificate_key \u002Fetc\u002Fletsencrypt\u002Flive\u002Fprivategpt.votre-domaine.com\u002Fprivkey.pem;\n    auth_basic \"Accès restreint\";\n    auth_basic_user_file \u002Fetc\u002Fnginx\u002F.htpasswd;\n    location \u002F { proxy_pass http:\u002F\u002F127.0.0.1:8080; }\n}\n```\n\n**Respaldar los datos críticos** — dos carpetas constituyen el estado completo: `local_data\u002F` (base vectorial + modelos) y `docs\u002F` (sus documentos de origen).\n\n**Comprobar que no hay tráfico saliente**:\n\n```bash\ntcpdump -i any host api.openai.com or host api.anthropic.com\n```\n\nNo debe aparecer ningún paquete.",{"type":122,"body":123},"tip","**¿Modelo demasiado lento? Pase a una cuantización más pequeña.** Si el tiempo de respuesta supera los 90 segundos con Mistral-7B, descargue la versión `Q3_K_S` (~3,0 GB, ~20 % más rápida en CPU) y actualice la variable `LLM_HF_MODEL_FILE` en `.env`. Lo contrario también es cierto: si dispone de 16 GB de RAM, `mistral-7b-instruct-v0.2.Q8_0.gguf` (~7,7 GB) ofrece respuestas mucho más matizadas en las cláusulas ambiguas.",{"type":36,"title":125,"body":126},"Resolución de problemas: los errores más frecuentes","**OOM al arrancar** — `docker ps` muestra `Exited (137)`. El código 137 = `SIGKILL` enviado por el kernel OOM. Compruebe la RAM disponible con `free -h`. Si es insuficiente, pase al modelo `Q3_K_S` o detenga los servicios no esenciales.\n\n**Ingesta bloqueada** — la llamada `\u002Fv1\u002Fingest\u002Ffile` devuelve un timeout o un error 500. Compruebe los permisos: `chown -R 1000:1000 local_data\u002F`. El contenedor se ejecuta con un usuario no root (UID 1000).\n\n**Tiempo de respuesta superior a 60 segundos** — el modelo pagina en swap. Compruébelo con `htop` durante una consulta. Solución: aumentar la RAM o elegir un modelo más pequeño.\n\n**Resultados sin cita de fuente** — compruebe que el modo **Query documents** está seleccionado (y no **LLM Chat**) y que los documentos se han ingerido correctamente (`GET http:\u002F\u002F127.0.0.1:8080\u002Fv1\u002Fingest\u002Flist`).\n\n**Contenedor en bucle tras una actualización** — elimine `local_data\u002Fchroma_db\u002F` y reindexe sus documentos.",{"type":36,"title":128,"body":129},"PrivateGPT en producción: una decisión de infraestructura, no solo un Docker run","Instalar PrivateGPT en un VPS lleva menos de una hora. Mantenerlo en condiciones operativas exige los mismos reflejos que cualquier servicio de negocio. Es precisamente lo que aporta un VPS root: la libertad de tratar sus datos según sus propias reglas, con un perímetro de responsabilidad que controla de extremo a extremo.\n\nElegir un VPS con suficiente RAM para Mistral-7B (8 GB) o para un modelo 13B (16 GB), un SSD NVMe para una indexación rápida y una imagen Debian o Ubuntu limpia: ese es el punto de partida de una infraestructura de IA conforme al RGPD y a la AI Act, sin suscripción de terceros y sin exponer un solo documento a un proveedor externo.","Un VPS para sus documentos confidenciales","Elija un VPS con 8 GB de RAM para Mistral-7B o 16 GB para un modelo 13B, un SSD para una indexación rápida — y despliegue PrivateGPT sin enviar ni un solo dato a la nube.","Descubra nuestras soluciones profesionales","\u002Fsolutions\u002Fprofessionnels",[135,151,170],{"id":136,"slug":137,"slugs":138,"title":142,"excerpt":143,"readTime":144,"views":23,"isPinned":19,"publishedAt":145,"updatedAt":146,"category":147,"categories":148,"featuredImage":30,"bgImage":31,"posterImage":150,"relatedSolution":30},214,"desplegar-servidor-mcp-en-un-vps",{"fr":139,"en":140,"ar":141,"es":137},"mcp-serveur-ia-auto-heberge-vps","how-to-deploy-an-mcp-server-on-a-vps","كيفية-نشر-خادم-mcp-على-vps","Desplegar un servidor MCP en un VPS","El protocolo MCP 2026-07-28 se ha convertido en el estándar universal de los agentes de IA. Así se aloja su propio servidor MCP en un VPS, paso a paso.",5,"2026-08-03T00:00:00+00:00","2026-09-07T19:17:13+00:00",{"id":23,"name":24,"slug":25,"color":26,"icon":27},[149],{"id":23,"name":24,"slug":25,"color":26,"icon":27},"\u002Fblog\u002Fcovers\u002Fmcp-serveur-ia-auto-heberge-vps-poster.svg",{"id":152,"slug":153,"slugs":154,"title":158,"excerpt":159,"readTime":160,"views":18,"isPinned":19,"publishedAt":161,"updatedAt":162,"category":163,"categories":164,"featuredImage":30,"bgImage":31,"posterImage":166,"relatedSolution":167},11,"como-alojar-ollama-en-un-vps",{"fr":155,"en":156,"ar":157,"es":153},"heberger-ollama-vps","how-to-host-ollama-on-a-vps","كيفية-استضافة-ollama-على-خادم-vps","Alojar Ollama en un VPS: guía operativa avanzada","Ollama avanzado en VPS: gestión de modelos, reverse proxy nginx, seguridad de la API, cuantización Q4_K_M\u002FQ8, CVE-2026-45672 en Open WebUI y acoplamiento seguro.",9,"2026-06-09T00:00:00+00:00","2026-09-07T11:26:10+00:00",{"id":23,"name":24,"slug":25,"color":26,"icon":27},[165],{"id":23,"name":24,"slug":25,"color":26,"icon":27},"\u002Fblog\u002Fcovers\u002Fheberger-ollama-vps-poster.svg",{"categorySlug":168,"appSlug":169},"inteligencia-artificial","ollama",{"id":171,"slug":172,"slugs":173,"title":177,"excerpt":178,"readTime":179,"views":18,"isPinned":19,"publishedAt":180,"updatedAt":162,"category":181,"categories":182,"featuredImage":30,"bgImage":31,"posterImage":184,"relatedSolution":185},12,"como-alojar-localai-en-un-vps",{"fr":174,"en":175,"ar":176,"es":172},"heberger-localai-vps","how-to-host-localai-on-a-vps","كيفية-استضافة-localai-على-خادم-vps","Cómo alojar LocalAI en un VPS","Despliegue LocalAI en su VPS como reemplazo directo de la API de OpenAI. Docker, modelos GGUF, chat, embeddings, imágenes y reverse proxy.",3,"2026-06-08T00:00:00+00:00",{"id":23,"name":24,"slug":25,"color":26,"icon":27},[183],{"id":23,"name":24,"slug":25,"color":26,"icon":27},"\u002Fblog\u002Fcovers\u002Fheberger-localai-vps-poster.svg",{"categorySlug":168,"appSlug":186},"local-ai",1789665032530]