{"id":455,"date":"2023-10-17T10:00:00","date_gmt":"2023-10-17T10:00:00","guid":{"rendered":"https:\/\/jacar.es\/chroma-vector-embedding\/"},"modified":"2023-10-17T10:00:00","modified_gmt":"2023-10-17T10:00:00","slug":"chroma-vector-embedding","status":"publish","type":"post","link":"https:\/\/jacar.es\/en\/chroma-vector-embedding\/","title":{"rendered":"Chroma: A Lightweight Vector Database for Embedding Prototypes"},"content":{"rendered":"<p><a href=\"https:\/\/www.trychroma.com\/\">Chroma<\/a> is probably the easiest vector database to adopt in 2023. If you\u2019re building a first prototype of semantic search or a Retrieval-Augmented Generation (RAG) system, Chroma lets you start in minutes without deploying additional infrastructure. We cover when it\u2019s the right option, when to jump to something more serious, and typical usage patterns.<\/p>\n<h2 id=\"the-problem-it-solves\">The Problem It Solves<\/h2>\n<p>A <strong>vector database<\/strong> indexes numeric vectors (embeddings) and lets you find those most similar to a query vector using distances like cosine or Euclidean. It\u2019s the key component of any RAG system: given a question text, find the most related fragments in a corpus.<\/p>\n<p>In 2023 there are many options \u2014 Pinecone (managed), Qdrant, Weaviate, Milvus, pgvector. Each optimises different points in the trade-off among performance, scalability, features, and simplicity. Chroma clearly positions on the simplicity side.<\/p>\n<h2 id=\"why-chroma-stands-out-for-prototyping\">Why Chroma Stands Out for Prototyping<\/h2>\n<ul>\n<li><strong>Zero infrastructure to start<\/strong>. <code>pip install chromadb<\/code> and you have an embedded DB persisting to disk.<\/li>\n<li><strong>Minimal, consistent API<\/strong>. <code>add<\/code>, <code>query<\/code>, <code>delete<\/code>. No 20 concepts to learn.<\/li>\n<li><strong>Built-in embedding generation<\/strong>. Defaults to <code>sentence-transformers<\/code> for text vectorisation, optionally OpenAI Embeddings or any custom function.<\/li>\n<li><strong>Native integration with LangChain and LlamaIndex<\/strong>. Plug-and-play for the dominant RAG frameworks.<\/li>\n<li><strong>Gradual deployment modes<\/strong>. Start embedded, scale to client-server with <code>chroma run<\/code>, eventually production.<\/li>\n<\/ul>\n<p>This makes it ideal for validating an idea or building a first version without getting stuck on infrastructure decisions.<\/p>\n<h2 id=\"a-minimal-example\">A Minimal Example<\/h2>\n<div class=\"sourceCode\" id=\"cb1\">\n<pre class=\"sourceCode python\"><code class=\"sourceCode python\"><span id=\"cb1-1\"><a href=\"#cb1-1\" aria-hidden=\"true\" tabindex=\"-1\"><\/a><span class=\"im\">import<\/span> chromadb<\/span>\n<span id=\"cb1-2\"><a href=\"#cb1-2\" aria-hidden=\"true\" tabindex=\"-1\"><\/a><\/span>\n<span id=\"cb1-3\"><a href=\"#cb1-3\" aria-hidden=\"true\" tabindex=\"-1\"><\/a>client <span class=\"op\">=<\/span> chromadb.Client()<\/span>\n<span id=\"cb1-4\"><a href=\"#cb1-4\" aria-hidden=\"true\" tabindex=\"-1\"><\/a>collection <span class=\"op\">=<\/span> client.create_collection(name<span class=\"op\">=<\/span><span class=\"st\">&quot;docs&quot;<\/span>)<\/span>\n<span id=\"cb1-5\"><a href=\"#cb1-5\" aria-hidden=\"true\" tabindex=\"-1\"><\/a><\/span>\n<span id=\"cb1-6\"><a href=\"#cb1-6\" aria-hidden=\"true\" tabindex=\"-1\"><\/a>collection.add(<\/span>\n<span id=\"cb1-7\"><a href=\"#cb1-7\" aria-hidden=\"true\" tabindex=\"-1\"><\/a>    documents<span class=\"op\">=<\/span>[<span class=\"st\">&quot;The Linux kernel accepts Rust since 6.1&quot;<\/span>,<\/span>\n<span id=\"cb1-8\"><a href=\"#cb1-8\" aria-hidden=\"true\" tabindex=\"-1\"><\/a>               <span class=\"st\">&quot;OpenTofu is the community fork of Terraform&quot;<\/span>],<\/span>\n<span id=\"cb1-9\"><a href=\"#cb1-9\" aria-hidden=\"true\" tabindex=\"-1\"><\/a>    metadatas<span class=\"op\">=<\/span>[{<span class=\"st\">&quot;tag&quot;<\/span>: <span class=\"st\">&quot;kernel&quot;<\/span>}, {<span class=\"st\">&quot;tag&quot;<\/span>: <span class=\"st\">&quot;iac&quot;<\/span>}],<\/span>\n<span id=\"cb1-10\"><a href=\"#cb1-10\" aria-hidden=\"true\" tabindex=\"-1\"><\/a>    ids<span class=\"op\">=<\/span>[<span class=\"st\">&quot;d1&quot;<\/span>, <span class=\"st\">&quot;d2&quot;<\/span>],<\/span>\n<span id=\"cb1-11\"><a href=\"#cb1-11\" aria-hidden=\"true\" tabindex=\"-1\"><\/a>)<\/span>\n<span id=\"cb1-12\"><a href=\"#cb1-12\" aria-hidden=\"true\" tabindex=\"-1\"><\/a><\/span>\n<span id=\"cb1-13\"><a href=\"#cb1-13\" aria-hidden=\"true\" tabindex=\"-1\"><\/a>results <span class=\"op\">=<\/span> collection.query(<\/span>\n<span id=\"cb1-14\"><a href=\"#cb1-14\" aria-hidden=\"true\" tabindex=\"-1\"><\/a>    query_texts<span class=\"op\">=<\/span>[<span class=\"st\">&quot;I want to know about infrastructure as code&quot;<\/span>],<\/span>\n<span id=\"cb1-15\"><a href=\"#cb1-15\" aria-hidden=\"true\" tabindex=\"-1\"><\/a>    n_results<span class=\"op\">=<\/span><span class=\"dv\">1<\/span>,<\/span>\n<span id=\"cb1-16\"><a href=\"#cb1-16\" aria-hidden=\"true\" tabindex=\"-1\"><\/a>)<\/span>\n<span id=\"cb1-17\"><a href=\"#cb1-17\" aria-hidden=\"true\" tabindex=\"-1\"><\/a><span class=\"bu\">print<\/span>(results)<\/span><\/code><\/pre>\n<\/div>\n<p>Without configuring embeddings explicitly, Chroma generates a vector with its default model and returns the semantically nearest document. Similar functionality in other vector DBs requires more code to get going.<\/p>\n<h2 id=\"limitations-worth-knowing\">Limitations Worth Knowing<\/h2>\n<p>Chroma is excellent for starting; it\u2019s honest about where it isn\u2019t the best option:<\/p>\n<ul>\n<li><strong>Limited scale<\/strong>. Its architecture isn\u2019t designed for hundreds of millions of vectors. If your corpus grows past a few million, Qdrant or Milvus scale better.<\/li>\n<li><strong>No advanced complex filters<\/strong>. Metadata filters are basic; no advanced indexing \u00e0 la Weaviate.<\/li>\n<li><strong>No native replication<\/strong>. Chroma\u2019s client-server version runs as a single process. For high availability you wrap your own layer.<\/li>\n<li><strong>Performance under concurrent load<\/strong>. Optimised for typical prototype or medium-sized RAG use, not for sustained high QPS.<\/li>\n<\/ul>\n<p>If your use case requires any of the above, this isn\u2019t the tool. If your case is \u201cI need to search across 100,000 documents for an internal RAG assistant\u201d, it\u2019s probably perfect.<\/p>\n<h2 id=\"common-rag-patterns-with-chroma\">Common RAG Patterns With Chroma<\/h2>\n<p>The typical structure seen in projects:<\/p>\n<ol type=\"1\">\n<li><strong>Ingestion<\/strong>. Load documents (PDF, markdown, web), split into chunks of 200-1000 tokens, generate embeddings, save in Chroma with metadata (source, date, author).<\/li>\n<li><strong>Query<\/strong>. Receive question, generate its embedding, search top-k most similar chunks (typically k=3-5).<\/li>\n<li><strong>Prompt composition<\/strong>. Build an LLM prompt with the question + retrieved context + instructions.<\/li>\n<li><strong>Answer<\/strong>. The LLM responds based on the context, citing sources if appropriate.<\/li>\n<\/ol>\n<p>Frameworks like LangChain encapsulate this flow in few lines, with Chroma as a retriever swappable for any other vector DB the day you grow.<\/p>\n<h2 id=\"when-to-migrate-to-something-else\">When to Migrate to Something Else<\/h2>\n<p>Clear signals you\u2019ve outgrown Chroma:<\/p>\n<ul>\n<li><strong>Consistently high latency<\/strong> (&gt;200ms) on queries.<\/li>\n<li><strong>Process memory saturating<\/strong> during large searches.<\/li>\n<li><strong>Need for hybrid search<\/strong> (vector + keyword + filters) to improve relevance \u2014 Weaviate shines here.<\/li>\n<li><strong>Multiple server instances<\/strong> without native replication.<\/li>\n<li><strong>Compliance requiring a managed DB with SLA<\/strong> \u2014 here Pinecone or other managed options.<\/li>\n<\/ul>\n<p>Migration is usually reasonable because your RAG logic remains nearly the same: you change the retriever implementation, not the rest of the pipeline. That\u2019s why structuring code with that abstraction from day one helps.<\/p>\n<h2 id=\"conclusion\">Conclusion<\/h2>\n<p>Chroma is the default choice to start with embeddings in 2023, especially if you build a first RAG or experiment. Its simplicity accelerates exploration when you don\u2019t want to be blocked by infrastructure. As the project grows and needs scale, replication, or advanced search, more mature options exist to migrate to \u2014 but that migration comes after concept validation, not before.<\/p>\n<p>Follow us on jacar.es for more on generative AI, RAG, and tools for fast prototyping.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Chroma is the simplest option to start with embeddings and semantic search. When it shines, when it falls short, and how to deploy it.<\/p>\n","protected":false},"author":1,"featured_media":456,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[27,22],"tags":[226,227,56,55,96,228],"class_list":["post-455","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-arquitectura","category-inteligencia-artificial","tag-chroma","tag-embeddings","tag-ia-generativa","tag-python","tag-rag","tag-vector-database"],"translation":{"provider":"WPGlobus","version":"3.0.2","language":"en","enabled_languages":["es","en"],"languages":{"es":{"title":true,"content":true,"excerpt":true},"en":{"title":true,"content":true,"excerpt":true}}},"gutentor_comment":0,"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.4 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Chroma: A Lightweight Vector Database for Embedding Prototypes - Jacar<\/title>\n<meta name=\"description\" content=\"Chroma as a minimalist vector database: local install, LangChain integration, and limitations vs Qdrant, Pinecone, or Weaviate.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/jacar.es\/chroma-vector-embedding\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Chroma: A Lightweight Vector Database for Embedding Prototypes - Jacar\" \/>\n<meta property=\"og:description\" content=\"Chroma as a minimalist vector database: local install, LangChain integration, and limitations vs Qdrant, Pinecone, or Weaviate.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/jacar.es\/chroma-vector-embedding\/\" \/>\n<meta property=\"og:site_name\" content=\"Jacar\" \/>\n<meta property=\"article:published_time\" content=\"2023-10-17T10:00:00+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/jcs-wp-jacar-es.fsn1.your-objectstorage.com\/wp-content\/uploads\/2020\/09\/favicon.png\" \/>\n\t<meta property=\"og:image:width\" content=\"252\" \/>\n\t<meta property=\"og:image:height\" content=\"229\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"javi\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"javi\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"8 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/jacar.es\\\/chroma-vector-embedding\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/jacar.es\\\/chroma-vector-embedding\\\/\"},\"author\":{\"name\":\"javi\",\"@id\":\"https:\\\/\\\/jacar.es\\\/#\\\/schema\\\/person\\\/54a7f7b4224b38fafc9866eb3e614208\"},\"headline\":\"Chroma: A Lightweight Vector Database for Embedding Prototypes\",\"datePublished\":\"2023-10-17T10:00:00+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/jacar.es\\\/chroma-vector-embedding\\\/\"},\"wordCount\":1402,\"publisher\":{\"@id\":\"https:\\\/\\\/jacar.es\\\/#organization\"},\"image\":{\"@id\":\"https:\\\/\\\/jacar.es\\\/chroma-vector-embedding\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/jcs-wp-jacar-es.fsn1.your-objectstorage.com\\\/wp-content\\\/uploads\\\/2023\\\/10\\\/19231024\\\/jwp-1252324-9188.jpg\",\"keywords\":[\"chroma\",\"embeddings\",\"ia generativa\",\"python\",\"rag\",\"vector database\"],\"articleSection\":[\"Arquitectura\",\"Inteligencia Artificial\"],\"inLanguage\":\"en-US\"},{\"@type\":[\"WebPage\",\"ItemPage\"],\"@id\":\"https:\\\/\\\/jacar.es\\\/chroma-vector-embedding\\\/\",\"url\":\"https:\\\/\\\/jacar.es\\\/chroma-vector-embedding\\\/\",\"name\":\"Chroma: A Lightweight Vector Database for Embedding Prototypes - Jacar\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/jacar.es\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/jacar.es\\\/chroma-vector-embedding\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/jacar.es\\\/chroma-vector-embedding\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/jcs-wp-jacar-es.fsn1.your-objectstorage.com\\\/wp-content\\\/uploads\\\/2023\\\/10\\\/19231024\\\/jwp-1252324-9188.jpg\",\"datePublished\":\"2023-10-17T10:00:00+00:00\",\"description\":\"Chroma as a minimalist vector database: local install, LangChain integration, and limitations vs Qdrant, Pinecone, or Weaviate.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/jacar.es\\\/chroma-vector-embedding\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/jacar.es\\\/chroma-vector-embedding\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/jacar.es\\\/chroma-vector-embedding\\\/#primaryimage\",\"url\":\"https:\\\/\\\/jcs-wp-jacar-es.fsn1.your-objectstorage.com\\\/wp-content\\\/uploads\\\/2023\\\/10\\\/19231024\\\/jwp-1252324-9188.jpg\",\"contentUrl\":\"https:\\\/\\\/jcs-wp-jacar-es.fsn1.your-objectstorage.com\\\/wp-content\\\/uploads\\\/2023\\\/10\\\/19231024\\\/jwp-1252324-9188.jpg\",\"width\":1200,\"height\":800,\"caption\":\"Visualizaci\u00f3n de vectores y puntos en espacio multidimensional\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/jacar.es\\\/chroma-vector-embedding\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Portada\",\"item\":\"https:\\\/\\\/jacar.es\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Chroma: una base vectorial ligera para prototipos con embeddings\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/jacar.es\\\/#website\",\"url\":\"https:\\\/\\\/jacar.es\\\/\",\"name\":\"Jacar\",\"description\":\"Passion for Technology\",\"publisher\":{\"@id\":\"https:\\\/\\\/jacar.es\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/jacar.es\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/jacar.es\\\/#organization\",\"name\":\"Jacar\",\"url\":\"https:\\\/\\\/jacar.es\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/jacar.es\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/jacar.es\\\/wp-content\\\/uploads\\\/2020\\\/09\\\/favicon.png\",\"contentUrl\":\"https:\\\/\\\/jacar.es\\\/wp-content\\\/uploads\\\/2020\\\/09\\\/favicon.png\",\"width\":252,\"height\":229,\"caption\":\"Jacar\"},\"image\":{\"@id\":\"https:\\\/\\\/jacar.es\\\/#\\\/schema\\\/logo\\\/image\\\/\"},\"sameAs\":[\"https:\\\/\\\/www.linkedin.com\\\/in\\\/javiercanetearroyo\\\/\"]},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/jacar.es\\\/#\\\/schema\\\/person\\\/54a7f7b4224b38fafc9866eb3e614208\",\"name\":\"javi\",\"sameAs\":[\"https:\\\/\\\/jacar.es\"],\"url\":\"https:\\\/\\\/jacar.es\\\/en\\\/author\\\/javi\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Chroma: A Lightweight Vector Database for Embedding Prototypes - Jacar","description":"Chroma as a minimalist vector database: local install, LangChain integration, and limitations vs Qdrant, Pinecone, or Weaviate.","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:\/\/jacar.es\/chroma-vector-embedding\/","og_locale":"en_US","og_type":"article","og_title":"Chroma: A Lightweight Vector Database for Embedding Prototypes - Jacar","og_description":"Chroma as a minimalist vector database: local install, LangChain integration, and limitations vs Qdrant, Pinecone, or Weaviate.","og_url":"https:\/\/jacar.es\/chroma-vector-embedding\/","og_site_name":"Jacar","article_published_time":"2023-10-17T10:00:00+00:00","og_image":[{"width":252,"height":229,"url":"https:\/\/jcs-wp-jacar-es.fsn1.your-objectstorage.com\/wp-content\/uploads\/2020\/09\/favicon.png","type":"image\/png"}],"author":"javi","twitter_card":"summary_large_image","twitter_misc":{"Written by":"javi","Est. reading time":"8 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/jacar.es\/chroma-vector-embedding\/#article","isPartOf":{"@id":"https:\/\/jacar.es\/chroma-vector-embedding\/"},"author":{"name":"javi","@id":"https:\/\/jacar.es\/#\/schema\/person\/54a7f7b4224b38fafc9866eb3e614208"},"headline":"Chroma: A Lightweight Vector Database for Embedding Prototypes","datePublished":"2023-10-17T10:00:00+00:00","mainEntityOfPage":{"@id":"https:\/\/jacar.es\/chroma-vector-embedding\/"},"wordCount":1402,"publisher":{"@id":"https:\/\/jacar.es\/#organization"},"image":{"@id":"https:\/\/jacar.es\/chroma-vector-embedding\/#primaryimage"},"thumbnailUrl":"https:\/\/jcs-wp-jacar-es.fsn1.your-objectstorage.com\/wp-content\/uploads\/2023\/10\/19231024\/jwp-1252324-9188.jpg","keywords":["chroma","embeddings","ia generativa","python","rag","vector database"],"articleSection":["Arquitectura","Inteligencia Artificial"],"inLanguage":"en-US"},{"@type":["WebPage","ItemPage"],"@id":"https:\/\/jacar.es\/chroma-vector-embedding\/","url":"https:\/\/jacar.es\/chroma-vector-embedding\/","name":"Chroma: A Lightweight Vector Database for Embedding Prototypes - Jacar","isPartOf":{"@id":"https:\/\/jacar.es\/#website"},"primaryImageOfPage":{"@id":"https:\/\/jacar.es\/chroma-vector-embedding\/#primaryimage"},"image":{"@id":"https:\/\/jacar.es\/chroma-vector-embedding\/#primaryimage"},"thumbnailUrl":"https:\/\/jcs-wp-jacar-es.fsn1.your-objectstorage.com\/wp-content\/uploads\/2023\/10\/19231024\/jwp-1252324-9188.jpg","datePublished":"2023-10-17T10:00:00+00:00","description":"Chroma as a minimalist vector database: local install, LangChain integration, and limitations vs Qdrant, Pinecone, or Weaviate.","breadcrumb":{"@id":"https:\/\/jacar.es\/chroma-vector-embedding\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/jacar.es\/chroma-vector-embedding\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/jacar.es\/chroma-vector-embedding\/#primaryimage","url":"https:\/\/jcs-wp-jacar-es.fsn1.your-objectstorage.com\/wp-content\/uploads\/2023\/10\/19231024\/jwp-1252324-9188.jpg","contentUrl":"https:\/\/jcs-wp-jacar-es.fsn1.your-objectstorage.com\/wp-content\/uploads\/2023\/10\/19231024\/jwp-1252324-9188.jpg","width":1200,"height":800,"caption":"Visualizaci\u00f3n de vectores y puntos en espacio multidimensional"},{"@type":"BreadcrumbList","@id":"https:\/\/jacar.es\/chroma-vector-embedding\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Portada","item":"https:\/\/jacar.es\/"},{"@type":"ListItem","position":2,"name":"Chroma: una base vectorial ligera para prototipos con embeddings"}]},{"@type":"WebSite","@id":"https:\/\/jacar.es\/#website","url":"https:\/\/jacar.es\/","name":"Jacar","description":"Passion for Technology","publisher":{"@id":"https:\/\/jacar.es\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/jacar.es\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/jacar.es\/#organization","name":"Jacar","url":"https:\/\/jacar.es\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/jacar.es\/#\/schema\/logo\/image\/","url":"https:\/\/jacar.es\/wp-content\/uploads\/2020\/09\/favicon.png","contentUrl":"https:\/\/jacar.es\/wp-content\/uploads\/2020\/09\/favicon.png","width":252,"height":229,"caption":"Jacar"},"image":{"@id":"https:\/\/jacar.es\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.linkedin.com\/in\/javiercanetearroyo\/"]},{"@type":"Person","@id":"https:\/\/jacar.es\/#\/schema\/person\/54a7f7b4224b38fafc9866eb3e614208","name":"javi","sameAs":["https:\/\/jacar.es"],"url":"https:\/\/jacar.es\/en\/author\/javi\/"}]}},"_links":{"self":[{"href":"https:\/\/jacar.es\/en\/wp-json\/wp\/v2\/posts\/455","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/jacar.es\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/jacar.es\/en\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/jacar.es\/en\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/jacar.es\/en\/wp-json\/wp\/v2\/comments?post=455"}],"version-history":[{"count":0,"href":"https:\/\/jacar.es\/en\/wp-json\/wp\/v2\/posts\/455\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/jacar.es\/en\/wp-json\/wp\/v2\/media\/456"}],"wp:attachment":[{"href":"https:\/\/jacar.es\/en\/wp-json\/wp\/v2\/media?parent=455"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/jacar.es\/en\/wp-json\/wp\/v2\/categories?post=455"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/jacar.es\/en\/wp-json\/wp\/v2\/tags?post=455"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}