{"id":2764,"date":"2025-08-31T15:10:51","date_gmt":"2025-08-31T15:10:51","guid":{"rendered":"https:\/\/www.markus-schall.de\/?p=2764"},"modified":"2025-11-24T09:17:41","modified_gmt":"2025-11-24T09:17:41","slug":"rag-con-ollama-y-qdrant-como-buscador-universal-de-datos-propios","status":"publish","type":"post","link":"https:\/\/www.markus-schall.de\/es\/2025\/08\/rag-con-ollama-y-qdrant-como-buscador-universal-de-datos-propios\/","title":{"rendered":"RAG con Ollama y Qdrant como motor de b\u00fasqueda universal de datos propios"},"content":{"rendered":"<p>En un mundo de informaci\u00f3n cada vez m\u00e1s confuso, es cada vez m\u00e1s importante hacer que sus propias bases de datos sean consultables de forma espec\u00edfica, no mediante las cl\u00e1sicas b\u00fasquedas de texto completo, sino a trav\u00e9s de respuestas sem\u00e1nticamente relevantes. Aqu\u00ed es exactamente donde entra en juego el principio de la base de datos RAG, una soluci\u00f3n de b\u00fasqueda asistida por inteligencia artificial que consta de dos componentes centrales:<!--more--><\/p>\n<hr \/>\n\n\t\t\t<div class=\"display-post-types\">\n\n\t\t\t\t\t\t\t<style type=\"text\/css\">\n\t\t\t#dpt-wrapper-989 { --dpt-text-align: left;--dpt-image-crop: center;--dpt-border-radius: 5px;--dpt-small-grid-column: 33.33%;--dpt-large-grid-column: 33.3333333333%;--dpt-h-gutter: 10px;--dpt-v-gutter: 10px; }\t\t\t<\/style>\n\t\t\t<style type=\"text\/css\">#dpt-wrapper-989 { --dpt-title-font-style:normal;--dpt-title-font-weight:600;--dpt-title-line-height:1.5;--dpt-title-text-decoration:none;--dpt-title-text-transform:none;--dpt-excerpt-font-style:normal;--dpt-excerpt-font-weight:400;--dpt-excerpt-line-height:1.5;--dpt-excerpt-text-decoration:none;--dpt-excerpt-text-transform:none;--dpt-meta1-font-style:normal;--dpt-meta1-font-weight:400;--dpt-meta1-line-height:1.9;--dpt-meta1-text-decoration:none;--dpt-meta1-text-transform:none;--dpt-meta2-font-style:normal;--dpt-meta2-font-weight:400;--dpt-meta2-line-height:1.9;--dpt-meta2-text-decoration:none;--dpt-meta2-text-transform:none; }<\/style><div class=\"dpt-main-header\">\n\t\t\t\t\t\t<div class=\"dpt-main-title\">\n\t\t\t\t\t\t\t<span class=\"dpt-main-title-text\">Temas de actualidad sobre inteligencia artificial<\/span>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t<\/div>\t\t\t\n\t\t\t\t<div id=\"dpt-wrapper-989\" class=\"dpt-wrapper dpt-grid1 multi-col dpt-mason-wrap\" >\n\n\t\t\t\t\t\t\t\t\t\t\t<div class=\"dpt-entry has-thumbnail\" data-title=\"vom chatgpt-datenexport zur eigenen wissens-ki: schritt-f\u00fcr-schritt mit ollama und qdrant\" data-id=\"5306\"  data-category=\"apple macos ki-systeme tipps &amp; anleitungen\" data-post_tag=\"datenbanken denkmodelle digitales eigentum docker k\u00fcnstliche intelligenz llama llm mlx ollama prozesse sprachmodell\">\n\t\t\t\t\t\t\t<div class=\"dpt-entry-wrapper\"><div class=\"dpt-featured-content\"><div class=\"dpt-permalink\"><a href=\"https:\/\/www.markus-schall.de\/es\/2026\/03\/de-la-exportacion-de-datos-de-chatgpt-a-su-propio-ki-de-conocimiento-paso-a-paso-con-ollama-y-qdrant\/\" class=\"dpt-permalink\"><span class=\"screen-reader-text\">De la exportaci\u00f3n de datos ChatGPT a su propia IA del conocimiento: paso a paso con Ollama y Qdrant<\/span><\/a><\/div><div class=\"dpt-thumbnail\"><div class=\"dpt-thumbnail-inner\"><img width=\"1024\" height=\"683\" class=\"attachment-full size-full\" alt=\"El camino hacia tu propia memoria de IA\" context=\"dpt\" data-dpt-src=\"https:\/\/www.markus-schall.de\/wp-content\/uploads\/ChatGPT-Datenexport-Computerhirn.jpg\" data-dpt-sizes=\"(max-width: 1024px) 100vw, 1024px\" data-dpt-srcset=\"https:\/\/www.markus-schall.de\/wp-content\/uploads\/ChatGPT-Datenexport-Computerhirn.jpg 1024w, https:\/\/www.markus-schall.de\/wp-content\/uploads\/ChatGPT-Datenexport-Computerhirn-300x200.jpg 300w, https:\/\/www.markus-schall.de\/wp-content\/uploads\/ChatGPT-Datenexport-Computerhirn-768x512.jpg 768w, https:\/\/www.markus-schall.de\/wp-content\/uploads\/ChatGPT-Datenexport-Computerhirn-18x12.jpg 18w\" \/><\/div><span class=\"dpt-thumbnail-aspect-ratio\" style=\"padding-top: 67%\"><\/span><\/div><\/div><div class=\"sub-entry\"><h3 class=\"dpt-title\"><a class=\"dpt-title-link\" href=\"https:\/\/www.markus-schall.de\/es\/2026\/03\/de-la-exportacion-de-datos-de-chatgpt-a-su-propio-ki-de-conocimiento-paso-a-paso-con-ollama-y-qdrant\/\" rel=\"bookmark\">De la exportaci\u00f3n de datos ChatGPT a su propia IA del conocimiento: paso a paso con Ollama y Qdrant<\/a><\/h3><\/div><\/div>\n\t\t\t\t\t\t<\/div><!-- .dpt-entry -->\n\t\t\t\t\t\t\t\t\t\t\t\t<div class=\"dpt-entry has-thumbnail\" data-title=\"ki als sparringspartner nutzen: wie denken im dialog produktiver wird\" data-id=\"4121\"  data-category=\"b\u00fccher ki-systeme tipps &amp; anleitungen\" data-post_tag=\"buch datenlogik denkmodelle k\u00fcnstliche intelligenz lernen llm ratgeber sprachmodell\">\n\t\t\t\t\t\t\t<div class=\"dpt-entry-wrapper\"><div class=\"dpt-featured-content\"><div class=\"dpt-permalink\"><a href=\"https:\/\/www.markus-schall.de\/es\/2025\/12\/utilizar-el-ki-como-sparring-como-el-pensamiento-se-vuelve-mas-productivo-en-el-dialogo\/\" class=\"dpt-permalink\"><span class=\"screen-reader-text\">Utilizar la IA como sparring: C\u00f3mo pensar en di\u00e1logo se vuelve m\u00e1s productivo<\/span><\/a><\/div><div class=\"dpt-thumbnail\"><div class=\"dpt-thumbnail-inner\"><img width=\"1024\" height=\"683\" class=\"attachment-full size-full\" alt=\"La IA como aliado del ahorro\" context=\"dpt\" data-dpt-src=\"https:\/\/www.markus-schall.de\/wp-content\/uploads\/ki-als-sparringspartner-laptop.jpg\" data-dpt-sizes=\"(max-width: 1024px) 100vw, 1024px\" data-dpt-srcset=\"https:\/\/www.markus-schall.de\/wp-content\/uploads\/ki-als-sparringspartner-laptop.jpg 1024w, https:\/\/www.markus-schall.de\/wp-content\/uploads\/ki-als-sparringspartner-laptop-300x200.jpg 300w, https:\/\/www.markus-schall.de\/wp-content\/uploads\/ki-als-sparringspartner-laptop-768x512.jpg 768w, https:\/\/www.markus-schall.de\/wp-content\/uploads\/ki-als-sparringspartner-laptop-18x12.jpg 18w\" \/><\/div><span class=\"dpt-thumbnail-aspect-ratio\" style=\"padding-top: 67%\"><\/span><\/div><\/div><div class=\"sub-entry\"><h3 class=\"dpt-title\"><a class=\"dpt-title-link\" href=\"https:\/\/www.markus-schall.de\/es\/2025\/12\/utilizar-el-ki-como-sparring-como-el-pensamiento-se-vuelve-mas-productivo-en-el-dialogo\/\" rel=\"bookmark\">Utilizar la IA como sparring: C\u00f3mo pensar en di\u00e1logo se vuelve m\u00e1s productivo<\/a><\/h3><\/div><\/div>\n\t\t\t\t\t\t<\/div><!-- .dpt-entry -->\n\t\t\t\t\t\t\t\t\t\t\t\t<div class=\"dpt-entry has-thumbnail\" data-title=\"unsterblichkeit durch technik: wie weit forschung und ki wirklich sind\" data-id=\"3624\"  data-category=\"allgemein gesellschaft ki-systeme\" data-post_tag=\"denkmodelle k\u00fcnstliche intelligenz lernen llm prozesse sprachmodell\">\n\t\t\t\t\t\t\t<div class=\"dpt-entry-wrapper\"><div class=\"dpt-featured-content\"><div class=\"dpt-permalink\"><a href=\"https:\/\/www.markus-schall.de\/es\/2025\/11\/inmortalidad-a-traves-de-la-tecnologia-hasta-donde-llegan-realmente-la-investigacion-y-el-ki\/\" class=\"dpt-permalink\"><span class=\"screen-reader-text\">La inmortalidad a trav\u00e9s de la tecnolog\u00eda: hasta d\u00f3nde han llegado realmente la investigaci\u00f3n y la IA<\/span><\/a><\/div><div class=\"dpt-thumbnail\"><div class=\"dpt-thumbnail-inner\"><img width=\"1024\" height=\"683\" class=\"attachment-full size-full\" alt=\"Inmortalidad digital\" context=\"dpt\" data-dpt-src=\"https:\/\/www.markus-schall.de\/wp-content\/uploads\/digitale-unsterblichkeit.jpg\" data-dpt-sizes=\"(max-width: 1024px) 100vw, 1024px\" data-dpt-srcset=\"https:\/\/www.markus-schall.de\/wp-content\/uploads\/digitale-unsterblichkeit.jpg 1024w, https:\/\/www.markus-schall.de\/wp-content\/uploads\/digitale-unsterblichkeit-300x200.jpg 300w, https:\/\/www.markus-schall.de\/wp-content\/uploads\/digitale-unsterblichkeit-768x512.jpg 768w, https:\/\/www.markus-schall.de\/wp-content\/uploads\/digitale-unsterblichkeit-18x12.jpg 18w\" \/><\/div><span class=\"dpt-thumbnail-aspect-ratio\" style=\"padding-top: 67%\"><\/span><\/div><\/div><div class=\"sub-entry\"><h3 class=\"dpt-title\"><a class=\"dpt-title-link\" href=\"https:\/\/www.markus-schall.de\/es\/2025\/11\/inmortalidad-a-traves-de-la-tecnologia-hasta-donde-llegan-realmente-la-investigacion-y-el-ki\/\" rel=\"bookmark\">La inmortalidad a trav\u00e9s de la tecnolog\u00eda: hasta d\u00f3nde han llegado realmente la investigaci\u00f3n y la IA<\/a><\/h3><\/div><\/div>\n\t\t\t\t\t\t<\/div><!-- .dpt-entry -->\n\t\t\t\t\t\t\n\t\t\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\n<hr \/>\n<ol>\n<li>una base de datos vectorial (como Qdrant) en la que cualquier contenido se almacena como vectores num\u00e9ricos,<\/li>\n<li>y un modelo ling\u00fc\u00edstico (por ejemplo, a trav\u00e9s de Ollama) que combina de forma inteligente las respectivas solicitudes con el contenido adecuado.<\/li>\n<\/ol>\n<p>En lugar de dejar que el modelo \"adivine\", esta arquitectura utiliza sus propias fuentes de conocimiento, por ejemplo:<\/p>\n<ul>\n<li>documentales escritos por ellos mismos,<\/li>\n<li>Contenido de los sitios web,<\/li>\n<li>manuales t\u00e9cnicos,<\/li>\n<li>Bases de datos de apoyo,<\/li>\n<li>Listas de preguntas frecuentes,<\/li>\n<li>o cualquier fuente de texto archivado (por ejemplo, de bases de datos antiguas).<\/li>\n<\/ul>\n<p>El factor decisivo: Todas estas fuentes pueden prepararse de antemano y \"trocearse\" (es decir, descomponerse en peque\u00f1as unidades de texto) para poder ofrecer posteriormente los extractos de texto m\u00e1s relevantes para una pregunta del usuario.<\/p>\n<p>As\u00ed que, tanto si quiere hacer analizable su propia base de datos de conocimientos, su documentaci\u00f3n interna o todo un archivo de productos, con <a href=\"https:\/\/ollama.com\" target=\"_blank\" rel=\"noopener\"><strong>Ollama<\/strong><\/a> + <a href=\"https:\/\/qdrant.tech\" target=\"_blank\" rel=\"noopener\"><strong>Qdrant<\/strong><\/a> puedes hacerlo en tu propio Mac, sin limitaciones de la nube y con pleno control sobre los datos.<\/p>\n<h2>\u00bfQu\u00e9 es una base de datos RAG y por qu\u00e9 la \"fragmentaci\u00f3n\"?<\/h2>\n<p>RAG son las siglas de Retrieval-Augmented Generation, es decir, IA generadora de textos con recuperaci\u00f3n de informaci\u00f3n asistida. En lugar de entrenar un modelo ling\u00fc\u00edstico como GPT, Mistral o LLaMA s\u00f3lo con lo que ya \"sabe\", puede acceder a informaci\u00f3n adicional propia a trav\u00e9s de una base de datos de conocimiento conectada (normalmente, la llamada base de datos vectorial).<\/p>\n<p><strong>Ejemplo:<\/strong><\/p>\n<blockquote><p>Si le preguntas a un modelo ling\u00fc\u00edstico: \"\u00bfQu\u00e9 contiene mi declaraci\u00f3n de la renta de 2023?\", tendr\u00e1 que adivinarlo sin acceso a los datos originales. Sin embargo, si tiene acceso a una representaci\u00f3n vectorial de este documento almacenada localmente, podr\u00e1 recuperar la informaci\u00f3n pertinente e incorporarla a su respuesta.<\/p><\/blockquote>\n<h3>Por qu\u00e9 se \"trocean\" los contenidos<\/h3>\n<p>Los documentos, sitios web o libros suelen ser demasiado largos para procesarlos o buscarlos de una sola vez. Los modelos ling\u00fc\u00edsticos modernos tambi\u00e9n tienen l\u00edmites de tokens, es decir, una longitud limitada de texto que pueden entender de una sola vez (a menudo en torno a 4.000-8.000 tokens, con los modelos m\u00e1s recientes incluso 32.000 o m\u00e1s).<\/p>\n<p>Por eso RAG utiliza el siguiente truco:<\/p>\n<ol>\n<li>El texto original est\u00e1 dividido en peque\u00f1as secciones (chunks).<\/li>\n<li>Cada trozo se convierte en un vector mediante un modelo ling\u00fc\u00edstico (incrustaci\u00f3n).<\/li>\n<li>Estos vectores se almacenan en una base de datos como Qdrant.<\/li>\n<li>Cuando el usuario realiza una solicitud, la petici\u00f3n tambi\u00e9n se traduce en un vector y se recuperan los trozos m\u00e1s similares.<\/li>\n<li>A continuaci\u00f3n, este contenido se a\u00f1ade al modelo ling\u00fc\u00edstico, por ejemplo, a trav\u00e9s de un aviso del sistema o una inyecci\u00f3n contextual.<\/li>\n<\/ol>\n<p>As\u00ed se crea un sistema que se comporta como una memoria, pero sin las cl\u00e1sicas palabras clave ni b\u00fasqueda de texto completo, sino puramente basado en el significado (sem\u00e1ntico).<\/p>\n<h2>Requisitos y objetivo<\/h2>\n<p>Estamos creando un sistema local de GAR compuesto por:<\/p>\n<ul>\n<li>un LLM local a trav\u00e9s de Ollama<\/li>\n<li>una base de datos vectorial llamada Qdrant<\/li>\n<li>un script en Python que trocea, vectoriza e inserta textos en la base de datos<\/li>\n<li>Opcional: una interfaz sencilla o API para realizar consultas<\/li>\n<\/ul>\n<p><strong>Plataforma de destino: macOS (Intel o Apple Silicon)<\/strong><\/p>\n<p>Se trata de un requisito previo:<\/p>\n<ul>\n<li>macOS 12 o posterior (Monterey o superior)<\/li>\n<li>Conocimientos b\u00e1sicos de terminales<\/li>\n<li>Python 3.10 o posterior<\/li>\n<li>Opcional: Homebrew installiert<\/li>\n<\/ul>\n<h3>Paso 1: Ollama 1TP12Animal<\/h3>\n<p>Ollama es una sencilla herramienta que le permite ejecutar modelos ling\u00fc\u00edsticos locales como Mistral, LLaMA, Gemma o Codellama en su propio ordenador, incluso sin Internet.<\/p>\n<p>Instalaci\u00f3n en el Mac:<\/p>\n<pre class=\"notranslate\" data-no-translation=\"\">curl -fsSL https:\/\/ollama.com\/install.sh | sh<\/pre>\n<p>Alternativamente, tambi\u00e9n se puede asignar Ollama a trav\u00e9s de Homebrew install:<br \/>\nbrew install ollama<\/p>\n<p>Despu\u00e9s de la instalaci\u00f3n:<\/p>\n<pre class=\"notranslate\" data-no-translation=\"\">ollama run mistral<\/pre>\n<p>Esto descarga el modelo Mistral 7B y lo inicia localmente. Ollama viene con una API REST, que utilizaremos m\u00e1s adelante para la vectorizaci\u00f3n. Por supuesto, tambi\u00e9n puedes utilizar otros modelos como Gemma3 (12B), Mistral Small (24B) u otros LLM.<\/p>\n<h3>Paso 2: Qdrant 1TP12 animales (base de datos local de vectores)<\/h3>\n<p>Qdrant es una rapid\u00edsima base de datos vectorial basada en Rust. Es gratuita, de c\u00f3digo abierto y f\u00e1cil de iniciar en el Mac - preferiblemente a trav\u00e9s de Docker. Si a\u00fan no has instalado Docker en tu Mac 1TP12, puedes descargarlo de la p\u00e1gina <a href=\"https:\/\/www.docker.com\" target=\"_blank\" rel=\"noopener\"><strong>Sitio web de Docker<\/strong><\/a> de forma gratuita y ejecutarlo en tu Mac como una aplicaci\u00f3n de escritorio normal installieren. Tambi\u00e9n puedes instalar Docker a trav\u00e9s de Homebrew install si ya utilizas Homebrew:<\/p>\n<pre class=\"notranslate\" data-no-translation=\"\">brew install --cask docker<\/pre>\n<p>A continuaci\u00f3n, inicie Qdrant a trav\u00e9s de Docker:<\/p>\n<pre class=\"notranslate\" data-no-translation=\"\">docker run -p 6333:6333 -v qdrant_storage:\/qdrant\/storage qdrant\/qdrant<\/pre>\n<p>Puede ponerse en contacto con Qdrant en<\/p>\n<pre class=\"notranslate\" data-no-translation=\"\">http:\/\/localhost:6333<\/pre>\n<p>Para las pruebas:<\/p>\n<pre class=\"notranslate\" data-no-translation=\"\">curl http:\/\/localhost:6333\/collections<\/pre>\n<h3>Paso 3: Preparar el entorno Python<\/h3>\n<p>Necesitamos Python para el chunking, la incrustaci\u00f3n y la comunicaci\u00f3n con Qdrant.<\/p>\n<p>Preparaci\u00f3n:<\/p>\n<pre class=\"notranslate\" data-no-translation=\"\">python3 -m venv rag-env\r\nsource rag-env\/bin\/activate\r\npip install qdrant-client sentence-transformers ollama numpy<\/pre>\n<p>Si ollama no se reconoce como paquete de Python, utilice directamente la API REST mediante peticiones:<\/p>\n<pre class=\"notranslate\" data-no-translation=\"\">pip install requests<\/pre>\n<h3>Paso 4: fragmentaci\u00f3n e incrustaci\u00f3n<\/h3>\n<p>A continuaci\u00f3n encontrar\u00e1 un script de ejemplo que divide un documento de texto en trozos, crea incrustaciones mediante Ollama y las inserta en Qdrant:<\/p>\n<pre class=\"notranslate\" data-no-translation=\"\">import requests\r\nfrom qdrant_client import QdrantClient\r\nfrom qdrant_client.models import PointStruct\r\nimport uuid\r\n\r\n# Konfiguration\r\nCHUNK_SIZE = 500 # Zeichen\r\nCOLLECTION_NAME = \"mein_rag_wissen\"\r\n\r\n# Text vorbereiten\r\nwith open(\"mein_text.txt\", \"r\") as f:\r\ntext = f.read()\r\n\r\nchunks = [text[i:i+CHUNK_SIZE] for i in range(0, len(text), CHUNK_SIZE)]\r\n\r\n# Qdrant vorbereiten\r\nclient = QdrantClient(\"localhost\", port=6333)\r\n\r\n# Neue Collection anlegen (falls noch nicht vorhanden)\r\nclient.recreate_collection(\r\ncollection_name=COLLECTION_NAME,\r\nvectors_config={\"size\": 4096, \"distance\": \"Cosine\"}\r\n)\r\n\r\ndef get_embedding_ollama(text):\r\nresponse = requests.post(\r\n\"http:\/\/localhost:11434\/api\/embeddings\",\r\njson={\"model\": \"mistral\", \"prompt\": text}\r\n)\r\nreturn response.json()[\"embedding\"]\r\n\r\n# Embeddings erzeugen und in Qdrant speichern\r\npoints = []\r\nfor i, chunk in enumerate(chunks):\r\nvector = get_embedding_ollama(chunk)\r\npoints.append(PointStruct(\r\nid=str(uuid.uuid4()),\r\nvector=vector,\r\npayload={\"text\": chunk}\r\n))\r\n\r\nclient.upsert(collection_name=COLLECTION_NAME, points=points)\r\nprint(f\"{len(points)} Chunks erfolgreich eingef\u00fcgt.\")<\/pre>\n<h3>Paso 5: Consultas mediante b\u00fasqueda sem\u00e1ntica<\/h3>\n<p>Ahora puede enviar consultas como un vector a Qdrant y hacer que encuentre las secciones de texto m\u00e1s relevantes:<\/p>\n<pre class=\"notranslate\" data-no-translation=\"\">query = \"Wie funktioniert ein RAG-System?\"\r\nquery_vector = get_embedding_ollama(query)\r\n\r\nresults = client.search(\r\ncollection_name=COLLECTION_NAME,\r\nquery_vector=query_vector,\r\nlimit=3\r\n)\r\n\r\nfor r in results:\r\nprint(r.payload[\"text\"])<\/pre>\n<p>A continuaci\u00f3n, puede pasar estos trozos a Ollama a trav\u00e9s de un prompt del sistema, por ejemplo, y hacer que se formulen como una respuesta relacionada con el contexto.<\/p>\n<h2>Chunking + exportaci\u00f3n JSON a FileMaker y otras bases de datos<\/h2>\n<p>En muchos casos, la fragmentaci\u00f3n ya puede realizarse en una soluci\u00f3n de base de datos existente, por ejemplo, en FileMaker. As\u00ed es exactamente como funciona en mi propio entorno de trabajo: los datos de origen -como contenidos de sitios web, entradas de soporte o art\u00edculos t\u00e9cnicos- ya est\u00e1n disponibles de forma estructurada en FileMaker.<\/p>\n<p>As\u00ed es como funciona el proceso:<\/p>\n<ol>\n<li>Los textos se dividen en secciones de, por ejemplo, 300-500 caracteres dentro de FileMaker utilizando su propia l\u00f3gica de fragmentaci\u00f3n.<\/li>\n<li>Cada trozo recibe su propio ID y, si procede, metadatos (t\u00edtulo, categor\u00eda, fuente, idioma, etc.).<\/li>\n<li>Todos los chunks se exportan autom\u00e1ticamente como archivos JSON, por ejemplo, a un directorio espec\u00edfico de una unidad de red o directamente al disco duro del servidor de IA.<\/li>\n<li>Un script Python en el servidor lee estos archivos JSON y los guarda en la base de datos Qdrant.<\/li>\n<\/ol>\n<h3>Ejemplo de archivo chunk exportado (chunk_00017.json)<\/h3>\n<pre class=\"notranslate\" data-no-translation=\"\">{\r\n\"id\": \"00017\",\r\n\"text\": \"Dies ist ein einzelner Textabschnitt mit ca. 400 Zeichen, der aus einer gr\u00f6\u00dferen Quelle stammt. Er wurde in FileMaker vorbereitet und enth\u00e4lt alle relevanten Inhalte, die f\u00fcr eine semantische Suche ben\u00f6tigt werden.\",\r\n\"metadata\": {\r\n\"source\": \"support_center\",\r\n\"category\": \"Fehlermeldung\",\r\n\"language\": \"de\",\r\n\"title\": \"Drucker wird nicht erkannt\"\r\n}\r\n}<\/pre>\n<p>El script de importaci\u00f3n posterior puede ejecutarse autom\u00e1tica o regularmente a trav\u00e9s del terminal, por ejemplo, mediante una tarea cron o una llamada manual:<\/p>\n<pre class=\"notranslate\" data-no-translation=\"\">python3 import_json_chunks.py \/Users\/markus\/Desktop\/chunks\/<\/pre>\n<p>El script lee cada trozo JSON, genera el vector correspondiente (por ejemplo, mediante Ollama o SentenceTransformers) y transfiere la entrada a la base de datos Qdrant.<\/p>\n<p>Este m\u00e9todo no s\u00f3lo es transparente, sino que tambi\u00e9n puede combinarse muy bien con las estructuras inform\u00e1ticas existentes, sobre todo en empresas que ya utilizan FileMaker o a las que, por razones de claridad de los procesos, les gusta tenerlo todo centralizado y controlado visualmente.<\/p>\n<h2>Conecta cualquier base de datos a tu IA local<\/h2>\n<p>Con Ollama y Qdrant, se puede configurar un sistema RAG completo y de alto rendimiento en el Mac en poco tiempo:<\/p>\n<ul>\n<li>Local, sin nube ni suscripci\u00f3n<\/li>\n<li>Ampliable, con su propio contenido<\/li>\n<li>Datos seguros, ya que nada sale del ordenador<\/li>\n<li>Eficaz, ya que Qdrant sigue siendo r\u00e1pido incluso con grandes cantidades de datos.<\/li>\n<\/ul>\n<p>Si quieres utilizar tu IA no s\u00f3lo para chatear, sino como un verdadero sistema de conocimiento y memoria, esta combinaci\u00f3n es imprescindible. Y funciona con poco esfuerzo: con pleno control sobre tus propios datos.<\/p>\n<hr \/>\n<h3>Encuesta actual sobre el uso de sistemas locales de IA<\/h3>\n<div class='bootstrap-yop yop-poll-mc'>\n\t\t\t\t\t\t\t<div class=\"basic-yop-poll-container\" style=\"background-color:#ffffff; border:0px; border-style:solid; border-color:#000000; border-radius:5px; padding:0px 5px;\" data-id=\"9\" data-temp=\"basic-pretty\" data-skin=\"square\" data-cscheme=\"blue\" data-cap=\"0\" data-access=\"guest\" data-tid=\"\" data-uid=\"9ba5850089e8748733cc596bf7889c87\" data-pid=\"3624\" data-resdet=\"votes-number,percentages\" data-show-results-to=\"guest\" data-show-results-moment=\"after-vote\" data-show-results-only=\"false\" data-show-message=\"true\" data-show-results-as=\"bar\" data-sort-results-by=\"as-defined\" data-sort-results-rule=\"asc\"data-is-ended=\"0\" data-percentages-decimals=\"2\" data-gdpr=\"no\" data-gdpr-sol=\"consent\" data-css=\".basic-yop-poll-container[data-uid] .basic-vote {\t\t\t\t\t\t\t\t\ttext-align: center;\t\t\t\t\t\t\t\t}\" data-counter=\"0\" data-load-with=\"1\" data-notification-section=\"top\"><div class=\"row\"><div class=\"col-md-12\"><div class=\"basic-inner\"><div class=\"basic-message hide\" style=\"border-left: 10px solid #008000; padding: 0px 10px;\" data-error=\"#ff0000\" data-success=\"#008000\"><p class=\"basic-message-text\" style=\"color:#000000; font-size:14px; font-weight:normal;\"><\/p><\/div><div class=\"basic-overlay hide\"><div class=\"basic-vote-options\"><\/div><div class=\"basic-preloader\"><div class=\"basic-windows8\"><div class=\"basic-wBall basic-wBall_1\"><div class=\"basic-wInnerBall\"><\/div><\/div><div class=\"basic-wBall basic-wBall_2\"><div class=\"basic-wInnerBall\"><\/div><\/div><div class=\"basic-wBall basic-wBall_3\"><div class=\"basic-wInnerBall\"><\/div><\/div><div class=\"basic-wBall basic-wBall_4\"><div class=\"basic-wInnerBall\"><\/div><\/div><div class=\"basic-wBall basic-wBall_5\"><div class=\"basic-wInnerBall\"><\/div><\/div><\/div><\/div><\/div><form class=\"basic-form\" action=\"\"><input type=\"hidden\" name=\"_token\" value=\"5d89dec8a4\" autocomplete=\"off\"><div class=\"basic-elements\"><div class=\"basic-element basic-question basic-question-text-vertical\" data-id=\"9\" data-uid=\"ebeb974a8fb78c1773e75ac5fad4f666\" data-type=\"question\" data-question-type=\"text\" data-required=\"yes\" data-allow-multiple=\"no\" data-min=\"1\" data-max=\"7\" data-display=\"vertical\" data-colnum=\"\" data-display-others=\"no\" data-others-color=\"\" data-others=\"\" data-others-max-chars=\"0\"><div class=\"basic-question-title\"><h5 style=\"color:#000000; font-size:16px; font-weight:normal; text-align:left;\">\u00bfQu\u00e9 opina de la ejecuci\u00f3n local de programas de IA como MLX o Ollama?<\/h5><\/div><ul class=\"basic-answers\"><li class=\"basic-answer\" style=\"padding:0px 0px;\" data-id=\"45\" data-type=\"text\" data-vn=\"143\" data-color=\"#000000\" data-make-link=\"no\" data-link=\"\"><div class=\"basic-answer-content basic-text-vertical\"><label for=\"answer[45]\" class=\"basic-answer-label\"><input type=\"radio\" id=\"answer[45]\" name=\"answer[9]\" value=\"45\"><span class=\"basic-text\" style=\"color: #000000; font-size: 14px; font-weight: normal;\">Ingenioso: por fin independiente de la nube<\/span><\/label><\/div><\/li><li class=\"basic-answer\" style=\"padding:0px 0px;\" data-id=\"46\" data-type=\"text\" data-vn=\"26\" data-color=\"#000000\" data-make-link=\"no\" data-link=\"\"><div class=\"basic-answer-content basic-text-vertical\"><label for=\"answer[46]\" class=\"basic-answer-label\"><input type=\"radio\" id=\"answer[46]\" name=\"answer[9]\" value=\"46\"><span class=\"basic-text\" style=\"color: #000000; font-size: 14px; font-weight: normal;\">Interesante, pero (a\u00fan) demasiado complicado<\/span><\/label><\/div><\/li><li class=\"basic-answer\" style=\"padding:0px 0px;\" data-id=\"47\" data-type=\"text\" data-vn=\"28\" data-color=\"#000000\" data-make-link=\"no\" data-link=\"\"><div class=\"basic-answer-content basic-text-vertical\"><label for=\"answer[47]\" class=\"basic-answer-label\"><input type=\"radio\" id=\"answer[47]\" name=\"answer[9]\" value=\"47\"><span class=\"basic-text\" style=\"color: #000000; font-size: 14px; font-weight: normal;\">Lo probar\u00e9 pronto<\/span><\/label><\/div><\/li><li class=\"basic-answer\" style=\"padding:0px 0px;\" data-id=\"48\" data-type=\"text\" data-vn=\"5\" data-color=\"#000000\" data-make-link=\"no\" data-link=\"\"><div class=\"basic-answer-content basic-text-vertical\"><label for=\"answer[48]\" class=\"basic-answer-label\"><input type=\"radio\" id=\"answer[48]\" name=\"answer[9]\" value=\"48\"><span class=\"basic-text\" style=\"color: #000000; font-size: 14px; font-weight: normal;\">No lo necesito, con la nube me basta<\/span><\/label><\/div><\/li><li class=\"basic-answer\" style=\"padding:0px 0px;\" data-id=\"49\" data-type=\"text\" data-vn=\"4\" data-color=\"#000000\" data-make-link=\"no\" data-link=\"\"><div class=\"basic-answer-content basic-text-vertical\"><label for=\"answer[49]\" class=\"basic-answer-label\"><input type=\"radio\" id=\"answer[49]\" name=\"answer[9]\" value=\"49\"><span class=\"basic-text\" style=\"color: #000000; font-size: 14px; font-weight: normal;\">No s\u00e9 exactamente de qu\u00e9 se trata.<\/span><\/label><\/div><\/li><\/ul><\/div><div class=\"clearfix\"><\/div><\/div><div class=\"basic-vote\"><a href=\"#\" class=\"button basic-vote-button\" role=\"button\" style=\"background:#027bb8; border:0px; border-style: solid; border-color:#000000; border-radius:5px; padding:10px 10px; color:#ffffff; font-size:14px; font-weight:normal;\">Vote<\/a><\/div><input type=\"hidden\" name=\"trp-form-language\" value=\"es\"\/><\/form><\/div><\/div><\/div><\/div>\n\t\t\t\t\t\t<\/div>\n<hr \/>\n<h2>Perspectivas: Lo que es posible con RAG, Ollama y Qdrant<\/h2>\n<p>La configuraci\u00f3n descrita en este art\u00edculo constituye la base t\u00e9cnica de una nueva forma de gestionar el conocimiento: local, controlada y flexiblemente ampliable. Pero el viaje no acaba aqu\u00ed. Una vez comprendida la interacci\u00f3n entre chunking, incrustaci\u00f3n, b\u00fasqueda sem\u00e1ntica y modelos ling\u00fc\u00edsticos, nos daremos cuenta r\u00e1pidamente de la versatilidad de esta arquitectura en la pr\u00e1ctica.<\/p>\n<h3>1. conexi\u00f3n a bases de datos propias<\/h3>\n<p>Ya se trate de FileMaker, MySQL, PostgreSQL o MongoDB, cualquier contenido puede extraerse con regularidad, trocearse e insertarse autom\u00e1ticamente en la base de datos vectorial mediante consultas espec\u00edficas. De este modo, una base de datos cl\u00e1sica se convierte en una fuente de conocimiento con capacidad de b\u00fasqueda sem\u00e1ntica. Especialmente en sistemas de soporte, archivos de productos o bibliotecas digitales, esto abre opciones de acceso completamente nuevas para empleados o clientes.<\/p>\n<h3>2. importaci\u00f3n autom\u00e1tica de p\u00e1ginas web, archivos PDF o documentos<\/h3>\n<p>El contenido no tiene por qu\u00e9 transferirse manualmente. Con herramientas como BeautifulSoup, readability, pdfplumber o docx2txt, se pueden importar autom\u00e1ticamente sitios web completos, manuales en PDF o documentos de Word, convertirlos en texto y prepararlos para la fragmentaci\u00f3n. Por ejemplo, las wikis t\u00e9cnicas, los portales de clientes o la documentaci\u00f3n en l\u00ednea pueden actualizarse peri\u00f3dicamente e introducirse en la base de datos RAG.<\/p>\n<h3>3. creaci\u00f3n de conocimientos a largo plazo mediante la estructuraci\u00f3n<\/h3>\n<p>A diferencia de una aplicaci\u00f3n cl\u00e1sica de IA, que parte de cero con cada pregunta, una configuraci\u00f3n RAG permite ampliar y curar paso a paso el conocimiento subyacente. La selecci\u00f3n y preparaci\u00f3n selectiva de trozos crea su propia memoria sem\u00e1ntica, que se vuelve m\u00e1s valiosa con cada entrada.<\/p>\n<h3>4. conexi\u00f3n con grafos de conocimiento (Neo4j)<\/h3>\n<p>Si quieres ir un paso m\u00e1s all\u00e1, no s\u00f3lo puedes almacenar la informaci\u00f3n sem\u00e1nticamente, sino tambi\u00e9n vincularla de forma l\u00f3gica. Con Neo4j, una base de datos gr\u00e1fica, las relaciones entre t\u00e9rminos, personas, temas o categor\u00edas pueden visualizarse y consultarse espec\u00edficamente. Esto convierte una colecci\u00f3n de textos en un grafo de conocimiento estructurado que puede ser utilizado tanto por humanos como por la IA, por ejemplo, para visualizar cadenas causales, secuencias temporales o agrupaciones tem\u00e1ticas.<\/p>\n<h3>5. utilizar en sus propias herramientas, aplicaciones o chatbots<\/h3>\n<p>Una vez configurada, la l\u00f3gica RAG puede integrarse en casi cualquier aplicaci\u00f3n: como funci\u00f3n de b\u00fasqueda sem\u00e1ntica en una aplicaci\u00f3n web interna, como ayuda de entrada inteligente en un sistema CRM o como chatbot con experiencia propia en el sitio web de la empresa. Mediante el uso de API locales (por ejemplo, Ollama REST y Qdrant gRPC), todos los componentes siguen siendo flexibles y ampliables, incluso m\u00e1s all\u00e1 de los l\u00edmites tradicionales de la empresa.<\/p>\n<p>Quienes tengan el valor de familiarizarse con estas herramientas crear\u00e1n la base de sistemas de IA locales e independientes con un valor \u00fatil real, en un esp\u00edritu de control, soberan\u00eda y claridad t\u00e9cnica.<\/p>\n<hr \/>\n\n\t\t\t<div class=\"display-post-types\">\n\n\t\t\t\t\t\t\t<style type=\"text\/css\">\n\t\t\t#dpt-wrapper-990 { --dpt-text-align: left;--dpt-image-crop: center;--dpt-border-radius: 5px;--dpt-small-grid-column: 33.33%;--dpt-large-grid-column: 33.3333333333%;--dpt-h-gutter: 10px;--dpt-v-gutter: 10px; }\t\t\t<\/style>\n\t\t\t<style type=\"text\/css\">#dpt-wrapper-990 { --dpt-title-font-style:normal;--dpt-title-font-weight:600;--dpt-title-line-height:1.5;--dpt-title-text-decoration:none;--dpt-title-text-transform:none;--dpt-excerpt-font-style:normal;--dpt-excerpt-font-weight:400;--dpt-excerpt-line-height:1.5;--dpt-excerpt-text-decoration:none;--dpt-excerpt-text-transform:none;--dpt-meta1-font-style:normal;--dpt-meta1-font-weight:400;--dpt-meta1-line-height:1.9;--dpt-meta1-text-decoration:none;--dpt-meta1-text-transform:none;--dpt-meta2-font-style:normal;--dpt-meta2-font-weight:400;--dpt-meta2-line-height:1.9;--dpt-meta2-text-decoration:none;--dpt-meta2-text-transform:none; }<\/style><div class=\"dpt-main-header\">\n\t\t\t\t\t\t<div class=\"dpt-main-title\">\n\t\t\t\t\t\t\t<span class=\"dpt-main-title-text\">Temas de actualidad en torno al software ERP<\/span>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t<\/div>\t\t\t\n\t\t\t\t<div id=\"dpt-wrapper-990\" class=\"dpt-wrapper dpt-grid1 multi-col dpt-mason-wrap\" >\n\n\t\t\t\t\t\t\t\t\t\t\t<div class=\"dpt-entry has-thumbnail\" data-title=\"gfm-business und die zukunft des erp: lokale intelligenz statt cloud-abh\u00e4ngigkeit\" data-id=\"2956\"  data-category=\"apple iphone &amp; ipad apple macos filemaker &amp; erp ki-systeme\" data-post_tag=\"datenschutz digitales eigentum erp-software filemaker gfm-business k\u00fcnstliche intelligenz llm neo4j qdrant sprachmodell\">\n\t\t\t\t\t\t\t<div class=\"dpt-entry-wrapper\"><div class=\"dpt-featured-content\"><div class=\"dpt-permalink\"><a href=\"https:\/\/www.markus-schall.de\/es\/2025\/09\/gfm-business-y-el-futuro-de-la-erp-inteligencia-local-en-lugar-de-dependencia-de-la-nube\/\" class=\"dpt-permalink\"><span class=\"screen-reader-text\">gFM-Business y el futuro del ERP: inteligencia local en lugar de dependencia de la nube<\/span><\/a><\/div><div class=\"dpt-thumbnail\"><div class=\"dpt-thumbnail-inner\"><img width=\"1024\" height=\"683\" class=\"attachment-full size-full\" alt=\"gFM-Business e IA + grafo de conocimiento\" context=\"dpt\" data-dpt-src=\"https:\/\/www.markus-schall.de\/wp-content\/uploads\/gfm-ERP-KI-Wissensgraf.jpg\" data-dpt-sizes=\"(max-width: 1024px) 100vw, 1024px\" data-dpt-srcset=\"https:\/\/www.markus-schall.de\/wp-content\/uploads\/gfm-ERP-KI-Wissensgraf.jpg 1024w, https:\/\/www.markus-schall.de\/wp-content\/uploads\/gfm-ERP-KI-Wissensgraf-300x200.jpg 300w, https:\/\/www.markus-schall.de\/wp-content\/uploads\/gfm-ERP-KI-Wissensgraf-768x512.jpg 768w, https:\/\/www.markus-schall.de\/wp-content\/uploads\/gfm-ERP-KI-Wissensgraf-18x12.jpg 18w\" \/><\/div><span class=\"dpt-thumbnail-aspect-ratio\" style=\"padding-top: 67%\"><\/span><\/div><\/div><div class=\"sub-entry\"><h3 class=\"dpt-title\"><a class=\"dpt-title-link\" href=\"https:\/\/www.markus-schall.de\/es\/2025\/09\/gfm-business-y-el-futuro-de-la-erp-inteligencia-local-en-lugar-de-dependencia-de-la-nube\/\" rel=\"bookmark\">gFM-Business y el futuro del ERP: inteligencia local en lugar de dependencia de la nube<\/a><\/h3><\/div><\/div>\n\t\t\t\t\t\t<\/div><!-- .dpt-entry -->\n\t\t\t\t\t\t\t\t\t\t\t\t<div class=\"dpt-entry has-thumbnail\" data-title=\"forum zur gfm-business erp-software und claris filemaker\" data-id=\"2393\"  data-category=\"filemaker &amp; erp\" data-post_tag=\"erp-software filemaker gfm-business\">\n\t\t\t\t\t\t\t<div class=\"dpt-entry-wrapper\"><div class=\"dpt-featured-content\"><div class=\"dpt-permalink\"><a href=\"https:\/\/www.markus-schall.de\/es\/2023\/10\/foro-sobre-gfm-business-erp-software-y-claris-filemaker\/\" class=\"dpt-permalink\"><span class=\"screen-reader-text\">Foro para el software ERP gFM-Business y Claris FileMaker<\/span><\/a><\/div><div class=\"dpt-thumbnail\"><div class=\"dpt-thumbnail-inner\"><img width=\"1024\" height=\"808\" class=\"attachment-full size-full\" alt=\"Software ERP y Foro FileMaker\" context=\"dpt\" data-dpt-src=\"https:\/\/www.markus-schall.de\/wp-content\/uploads\/erp-software-filemaker-forum.jpg\" data-dpt-sizes=\"(max-width: 1024px) 100vw, 1024px\" data-dpt-srcset=\"https:\/\/www.markus-schall.de\/wp-content\/uploads\/erp-software-filemaker-forum.jpg 1024w, https:\/\/www.markus-schall.de\/wp-content\/uploads\/erp-software-filemaker-forum-300x237.jpg 300w, https:\/\/www.markus-schall.de\/wp-content\/uploads\/erp-software-filemaker-forum-768x606.jpg 768w, https:\/\/www.markus-schall.de\/wp-content\/uploads\/erp-software-filemaker-forum-15x12.jpg 15w\" \/><\/div><span class=\"dpt-thumbnail-aspect-ratio\" style=\"padding-top: 79%\"><\/span><\/div><\/div><div class=\"sub-entry\"><h3 class=\"dpt-title\"><a class=\"dpt-title-link\" href=\"https:\/\/www.markus-schall.de\/es\/2023\/10\/foro-sobre-gfm-business-erp-software-y-claris-filemaker\/\" rel=\"bookmark\">Foro para el software ERP gFM-Business y Claris FileMaker<\/a><\/h3><\/div><\/div>\n\t\t\t\t\t\t<\/div><!-- .dpt-entry -->\n\t\t\t\t\t\t\t\t\t\t\t\t<div class=\"dpt-entry has-thumbnail\" data-title=\"gfm-dental 1.1 enth\u00e4lt konstanzpr\u00fcfung nach din 6868-157.\" data-id=\"2059\"  data-category=\"apple macos filemaker &amp; erp\" data-post_tag=\"apple erp-software filemaker\">\n\t\t\t\t\t\t\t<div class=\"dpt-entry-wrapper\"><div class=\"dpt-featured-content\"><div class=\"dpt-permalink\"><a href=\"https:\/\/www.markus-schall.de\/es\/2015\/05\/gfm-dental-11-contiene-prueba-de-constancia-segun-din-6868-157\/\" class=\"dpt-permalink\"><span class=\"screen-reader-text\">gFM-Dental 1.1 contiene ensayo de constancia seg\u00fan DIN 6868-157.<\/span><\/a><\/div><div class=\"dpt-thumbnail\"><div class=\"dpt-thumbnail-inner\"><img width=\"630\" height=\"444\" class=\"attachment-full size-full\" alt=\"Realizar comprobaci\u00f3n de constancia en gFM-Dental\" context=\"dpt\" data-dpt-src=\"https:\/\/www.markus-schall.de\/wp-content\/uploads\/neue_konstanzpruefung_630.jpg\" data-dpt-sizes=\"(max-width: 630px) 100vw, 630px\" data-dpt-srcset=\"https:\/\/www.markus-schall.de\/wp-content\/uploads\/neue_konstanzpruefung_630.jpg 630w, https:\/\/www.markus-schall.de\/wp-content\/uploads\/neue_konstanzpruefung_630-300x211.jpg 300w, https:\/\/www.markus-schall.de\/wp-content\/uploads\/neue_konstanzpruefung_630-18x12.jpg 18w\" \/><\/div><span class=\"dpt-thumbnail-aspect-ratio\" style=\"padding-top: 70%\"><\/span><\/div><\/div><div class=\"sub-entry\"><h3 class=\"dpt-title\"><a class=\"dpt-title-link\" href=\"https:\/\/www.markus-schall.de\/es\/2015\/05\/gfm-dental-11-contiene-prueba-de-constancia-segun-din-6868-157\/\" rel=\"bookmark\">gFM-Dental 1.1 contiene ensayo de constancia seg\u00fan DIN 6868-157.<\/a><\/h3><\/div><\/div>\n\t\t\t\t\t\t<\/div><!-- .dpt-entry -->\n\t\t\t\t\t\t\n\t\t\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\n<hr \/>\n<h2>Preguntas frecuentes sobre RAG con Ollama + Qdrant<\/h2>\n<h3>1. \u00bfqu\u00e9 es una base de datos RAG y para qu\u00e9 sirve?<\/h3>\n<p>Una base de datos RAG (Retrieval Augmented Generation) combina una base de datos vectorial con un modelo ling\u00fc\u00edstico. Permite realizar b\u00fasquedas sem\u00e1nticas en contenidos propios (por ejemplo, documentaci\u00f3n o sitios web) para que los modelos de IA puedan acceder espec\u00edficamente a las secciones pertinentes de la propia base de datos.<\/p>\n<h3>2 \u00bfQu\u00e9 significa \"chunking\" en este contexto?<\/h3>\n<p>El troceado consiste en dividir textos largos en secciones m\u00e1s peque\u00f1as y coherentes (trozos), normalmente de entre 200 y 500 caracteres. De este modo, las secciones individuales del texto pueden guardarse de forma eficiente en la base de datos vectorial y recuperarse m\u00e1s tarde cuando surjan preguntas.<\/p>\n<h3>3. \u00bfpor qu\u00e9 no se pueden guardar textos enteros en Qdrant?<\/h3>\n<p>Porque los modelos de IA y las b\u00fasquedas vectoriales trabajan con longitudes de texto limitadas. Los documentos extensos \"ocultar\u00edan\" contenidos importantes o los har\u00edan imprecisos. La fragmentaci\u00f3n aumenta la precisi\u00f3n porque se comparan secciones espec\u00edficas en lugar de textos completos.<\/p>\n<h3>4. \u00bfpuedo utilizar contenidos de cualquier fuente?<\/h3>\n<p>S\u00ed, siempre que tengas los textos en un formato editable (por ejemplo, como texto plano, HTML, Markdown, PDF, entradas FileMaker, etc.), puedes prepararlos, trocearlos e integrarlos en Qdrant. Tambi\u00e9n es posible utilizar fuentes mixtas.<\/p>\n<h3>5. \u00bfhay que saber programar para construir un sistema de este tipo?<\/h3>\n<p>Conocimientos b\u00e1sicos de Terminal y Python son \u00fatiles, pero no esenciales. Muchos pasos (por ejemplo, la fragmentaci\u00f3n en FileMaker, la exportaci\u00f3n JSON) se pueden implementar de forma visual y autom\u00e1tica. El script de importaci\u00f3n Qdrant se puede personalizar f\u00e1cilmente.<\/p>\n<h3>6. \u00bfpuedo gestionar tambi\u00e9n varios documentos o categor\u00edas?<\/h3>\n<p>S\u00ed, cada fragmento puede contener metadatos (por ejemplo, t\u00edtulo, fuente, idioma o categor\u00eda). Estos pueden tenerse en cuenta durante la b\u00fasqueda para filtrar los resultados de forma m\u00e1s espec\u00edfica.<\/p>\n<h3>7 \u00bfQu\u00e9 modelos son adecuados para la generaci\u00f3n de incrustaciones?<\/h3>\n<p>Puede utilizar un modelo local a trav\u00e9s de Ollama (por ejemplo, mistral, llama2, gemma) o un modelo de incrustaci\u00f3n independiente, como all-MiniLM de sentence-transformers. Es importante que el modelo genere salidas de incrustaci\u00f3n como vectores.<\/p>\n<h3>8. \u00bfc\u00f3mo inicio Qdrant en el Mac?<\/h3>\n<p>La forma m\u00e1s sencilla es mediante el comando Docker:<\/p>\n<pre class=\"notranslate\" data-no-translation=\"\">docker run -p 6333:6333 -v qdrant_storage:\/qdrant\/storage qdrant\/qdrant<\/pre>\n<p>Qdrant se ejecuta en http:\/\/localhost:6333<\/p>\n<h3>9. \u00bfqu\u00e9 volumen de datos puedo tener?<\/h3>\n<p>Qdrant tiene un gran rendimiento y puede gestionar f\u00e1cilmente decenas o cientos de miles de chunks. La principal limitaci\u00f3n es la RAM y el espacio de almacenamiento, no el n\u00famero.<\/p>\n<h3>10. \u00bffunciona tambi\u00e9n con FileMaker?<\/h3>\n<p>S\u00ed, puedes hacer todo el chunking y la exportaci\u00f3n JSON directamente en FileMaker. Los chunks se exportan como archivos JSON individuales, que luego se importan a Qdrant a trav\u00e9s de un script de Python - de forma completamente independiente del sistema original.<\/p>\n<h3>11. \u00bfpuedo ejecutar esto tambi\u00e9n en otro servidor en lugar de Mac?<\/h3>\n<p>Por supuesto. La configuraci\u00f3n tambi\u00e9n funciona en servidores Linux, Raspberry Pi o en la nube (si se desea). Docker lo hace independiente de la plataforma. Para un uso productivo, se suele recomendar un servidor con m\u00e1s RAM y soporte de GPU.<\/p>\n<h3>12. \u00bfc\u00f3mo combino la b\u00fasqueda de vectores con Ollama?<\/h3>\n<p>Primero se crea un vector para una pregunta de usuario a trav\u00e9s de Ollama (Embedding API), se utiliza para buscar los fragmentos m\u00e1s relevantes en Qdrant y se proporcionan al modelo ling\u00fc\u00edstico como contexto. A continuaci\u00f3n, Ollama procesa la pregunta + la informaci\u00f3n relevante para el contexto y genera una respuesta fundamentada.<\/p>\n<p>Foto (c) geralt @ pixabay<\/p>","protected":false},"excerpt":{"rendered":"<p>En un mundo de informaci\u00f3n cada vez m\u00e1s confuso, es cada vez m\u00e1s importante hacer que sus propias bases de datos sean consultables de forma espec\u00edfica, no mediante las cl\u00e1sicas b\u00fasquedas de texto completo, sino a trav\u00e9s de respuestas sem\u00e1nticamente relevantes. Aqu\u00ed es exactamente donde entra en juego el principio de la base de datos RAG, una soluci\u00f3n de b\u00fasqueda asistida por inteligencia artificial que consta de dos componentes centrales:<\/p>","protected":false},"author":1,"featured_media":2768,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"iawp_total_views":767,"footnotes":""},"categories":[431,3],"tags":[440,452,471,435,433,437,432,450,451],"class_list":["post-2764","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-ki-systeme","category-filemaker","tag-datenbanken","tag-docker","tag-kuenstliche-intelligenz","tag-llama","tag-llm","tag-mistral","tag-ollama","tag-qdrant","tag-vektordatenbank"],"_links":{"self":[{"href":"https:\/\/www.markus-schall.de\/es\/wp-json\/wp\/v2\/posts\/2764","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.markus-schall.de\/es\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.markus-schall.de\/es\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.markus-schall.de\/es\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.markus-schall.de\/es\/wp-json\/wp\/v2\/comments?post=2764"}],"version-history":[{"count":14,"href":"https:\/\/www.markus-schall.de\/es\/wp-json\/wp\/v2\/posts\/2764\/revisions"}],"predecessor-version":[{"id":3401,"href":"https:\/\/www.markus-schall.de\/es\/wp-json\/wp\/v2\/posts\/2764\/revisions\/3401"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.markus-schall.de\/es\/wp-json\/wp\/v2\/media\/2768"}],"wp:attachment":[{"href":"https:\/\/www.markus-schall.de\/es\/wp-json\/wp\/v2\/media?parent=2764"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.markus-schall.de\/es\/wp-json\/wp\/v2\/categories?post=2764"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.markus-schall.de\/es\/wp-json\/wp\/v2\/tags?post=2764"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}