{"id":30380,"date":"2025-09-26T00:11:49","date_gmt":"2025-09-26T07:11:49","guid":{"rendered":"http:\/\/dev-en.pingcap.com\/?post_type=tutorial&amp;p=28976"},"modified":"2025-09-26T00:11:49","modified_gmt":"2025-09-26T07:11:49","slug":"tutorial-building-image-search-applications-with-tidb-vector","status":"publish","type":"tutorial","link":"https:\/\/www.pingcap.com\/ko\/tutorial\/tutorial-building-image-search-applications-with-tidb-vector\/","title":{"rendered":"Tutorial: Building Image Search Applications with TiDB Vector"},"content":{"rendered":"<h1 class=\"wp-block-heading\">Tutorial: Building Image Search Applications with TiDB Vector<\/h1>\n\n\n\n<h2 class=\"wp-block-heading\"><\/h2>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"What_is_Image_Search\"><\/span>What is Image Search?<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p>Image search uses mathematical representations called embeddings to understand both images and text, enabling powerful search capabilities. You can find images using text descriptions (&#8220;fluffy orange cat&#8221;) or find similar images by uploading a photo.<\/p>\n\n\n\n<p>For example, searching for &#8220;fluffy orange cat&#8221; can find relevant cat photos, or uploading a photo of a golden retriever can find similar dogs based on breed, color, and pose. This makes image search incredibly intuitive and powerful for visual applications.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/github.com\/user-attachments\/assets\/7ba9733a-4d1f-4094-8edb-58731ebd08e9\" alt=\"Pet image search via multimodal embeddings\"\/><\/figure>\n\n\n\n<p><em>Pet image search via multimodal embeddings<\/em><\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"How_to_Build_Image_Search\"><\/span>How to Build Image Search<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p>To build effective image search, you need a vector database that can handle image embeddings. TiDB is perfect for this &#8211; a distributed, MySQL-compatible database that combines multiple capabilities in one platform:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Vector Search<\/strong>: Store and query high-dimensional vectors for image and text embeddings<\/li>\n\n\n\n<li><strong>Multimodal Support<\/strong>: Handle images and text in the same embedding space<\/li>\n\n\n\n<li><strong>MySQL \ud638\ud658\uc131<\/strong>: Use familiar SQL syntax and tools you already know<\/li>\n\n\n\n<li><strong>Auto Embedding<\/strong>: Automatically generate embeddings for images and text without manual processing<\/li>\n<\/ul>\n\n\n\n<p>This example demonstrates how to build an image search application using TiDB&#8217;s vector capabilities with Jina AI embedding models. It supports both text-to-image and image-to-image search with just a few lines of code.<\/p>\n\n\n\n<figure class=\"wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio\"><div class=\"wp-block-embed__wrapper\">\n<iframe loading=\"lazy\" title=\"Image &amp; Text Search with TiDB\" width=\"500\" height=\"281\" src=\"https:\/\/www.youtube.com\/embed\/K46L9lDc3rQ?feature=oembed\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share\" referrerpolicy=\"strict-origin-when-cross-origin\" allowfullscreen><\/iframe>\n<\/div><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Prerequisites\"><\/span>Prerequisites<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Python 3.10+<\/strong><\/li>\n\n\n\n<li><strong>A TiDB Cloud Starter cluster<\/strong>: Create a free cluster here: <a href=\"https:\/\/tidbcloud.com\/?utm_source=github&amp;utm_medium=referral&amp;utm_campaign=pytidb_readme\">tidbcloud.com<\/a><\/li>\n\n\n\n<li><strong>Jina AI API Key<\/strong>: Get your free API key at <a href=\"https:\/\/jina.ai\/embeddings\/\">jina.ai Embeddings<\/a><\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"How_to_run\"><\/span>How to run<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p><strong>Step 1<\/strong>: Clone the repository to local<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>git clone https:\/\/github.com\/pingcap\/pytidb.git\ncd pytidb\/examples\/image_search\/<\/code><\/pre>\n\n\n\n<p><strong>Step 2<\/strong>: Install the required packages and set up the environment<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>python -m venv .venv\nsource .venv\/bin\/activate\npip install -r reqs.txt<\/code><\/pre>\n\n\n\n<p><strong>Step 3<\/strong>: Set up environment to connect to TiDB<\/p>\n\n\n\n<p>Go to <a href=\"https:\/\/tidbcloud.com\/clusters\">TiDB Cloud console<\/a> and get the connection parameters, then set up the environment variable like this:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>cat &gt; .env &lt;&lt;EOF\nTIDB_HOST={gateway-region}.prod.aws.tidbcloud.com\nTIDB_PORT=4000\nTIDB_USERNAME={prefix}.root\nTIDB_PASSWORD={password}\nTIDB_DATABASE=test\nJINA_AI_API_KEY={your-jina-ai-api-key}\nEOF<\/code><\/pre>\n\n\n\n<p><strong>Step 4<\/strong>: Download the sample dataset<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>curl -L -o oxford_pets.tar.gz \"https:\/\/thor.robots.ox.ac.uk\/~vgg\/data\/pets\/images.tar.gz\"\nmkdir -p oxford_pets\ntar -xzf oxford_pets.tar.gz -C oxford_pets<\/code><\/pre>\n\n\n\n<p><strong>Step 5<\/strong>: Run the Streamlit app<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>streamlit run app.py<\/code><\/pre>\n\n\n\n<p><strong>Step 6<\/strong>: Open your browser and visit <code>http:\/\/localhost:8501<\/code><\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"How_It_Works\"><\/span>How It Works<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p>\ud83d\udca1 <strong>Source Code<\/strong>: You can find the complete source code for this example on <a href=\"https:\/\/github.com\/pingcap\/pytidb\/tree\/main\/examples\/image_search\">GitHub<\/a>. This working example includes all the necessary files to get you started with multimodal image search in minutes.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">1. Schema Definition<\/h3>\n\n\n\n<p>Define a table schema for images with multimodal vector embeddings using <code>pytidb.schema.TableModel<\/code>:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>class Pet(TableModel):\n    __tablename__ = \"pets\"\n    __table_args__ = {\"extend_existing\": True}\n\n    id: int = Field(primary_key=True)\n    breed: str = Field()\n    image_uri: str = Field()\n    image_name: str = Field()\n    image_vec: Optional&#91;List&#91;float]] = embed_fn.VectorField(\n        distance_metric=DistanceMetric.L2,\n        source_field=\"image_uri\",\n        source_type=\"image\",\n    )<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">2. Multimodal Search<\/h3>\n\n\n\n<p>Use the search API to find images using either text descriptions or image uploads:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>def search_images(table, query, limit=20):\n    results = (\n        table.search(query=query)\n        .distance_metric(DistanceMetric.L2)\n        .limit(limit)\n        .to_list()\n    )\n    return results\n\n# Text-to-image search\nresults = search_images(table, \"fluffy orange cat\")\n\n# Image-to-image search\nresults = search_images(table, uploaded_image)<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">3. Embedding Function<\/h3>\n\n\n\n<p>Configure automatic multimodal embedding generation with powerful embedding models. TiDB supports a wide range of embedding providers through LiteLLM integration:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code># Jina AI (multimodal - supports both text and images)\nembed_fn = EmbeddingFunction(\"jina-embeddings-v2-base-en\")\n\n# OpenAI embeddings\nembed_fn = EmbeddingFunction(\"text-embedding-3-large\")\n\n# Cohere embeddings\nembed_fn = EmbeddingFunction(\"embed-english-v3.0\")\n\n# Local models via Ollama\nembed_fn = EmbeddingFunction(\"ollama\/mxbai-embed-large\")<\/code><\/pre>\n\n\n\n<p><strong>Multimodal Support<\/strong>: For image search applications, choose embedding models that support both text and images in the same vector space, like Jina AI&#8217;s multimodal models. This enables seamless text-to-image and image-to-image search.<\/p>\n\n\n\n<p><strong>Provider Flexibility<\/strong>: TiDB supports <a href=\"https:\/\/docs.litellm.ai\/docs\/embedding\/supported_embedding\">50+ embedding providers<\/a> including OpenAI, Cohere, Anthropic, Azure OpenAI, Google Vertex AI, AWS Bedrock, and local models. Switch providers easily without changing your application code.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Related_Resources\"><\/span>Related Resources<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Source Code<\/strong>: <a href=\"https:\/\/github.com\/pingcap\/pytidb\/tree\/main\/examples\/image_search\">View on GitHub<\/a><\/li>\n\n\n\n<li><strong>TiDB Vector Documentation<\/strong>: <a href=\"https:\/\/docs.pingcap.com\/tidb\/stable\/vector-search-overview\">Vector Data Types<\/a><\/li>\n\n\n\n<li><strong>Jina AI Embeddings<\/strong>: <a href=\"https:\/\/jina.ai\/embeddings\/\">Multimodal Embedding Models<\/a><\/li>\n\n\n\n<li><strong>Demo Gallery<\/strong>: <a href=\"https:\/\/github.com\/pingcap\/pytidb\/tree\/main\/examples\">More Examples<\/a><\/li>\n<\/ul>\n\n\n\n<p>Ready to implement multimodal image search in your application? Start with the complete example in the GitHub repository and see how TiDB&#8217;s vector search can transform your visual search experience.<\/p>","protected":false},"excerpt":{"rendered":"<p>Tutorial: Building Image Search Applications with TiDB Vector What is Image Search? Image search uses mathematical representations called embeddings to understand both images and text, enabling powerful search capabilities. You can find images using text descriptions (&#8220;fluffy orange cat&#8221;) or find similar images by uploading a photo. For example, searching for &#8220;fluffy orange cat&#8221; can [&hellip;]<\/p>\n","protected":false},"featured_media":0,"template":"","categories":[],"tags":[],"class_list":["post-30380","tutorial","type-tutorial","status-publish","hentry"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v26.9 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Tutorial: Building Image Search Applications with TiDB Vector | TiDB<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.pingcap.com\/ko\/tutorial\/tutorial-building-image-search-applications-with-tidb-vector\/\" \/>\n<meta property=\"og:locale\" content=\"ko_KR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Tutorial: Building Image Search Applications with TiDB Vector | TiDB\" \/>\n<meta property=\"og:description\" content=\"Tutorial: Building Image Search Applications with TiDB Vector What is Image Search? Image search uses mathematical representations called embeddings to understand both images and text, enabling powerful search capabilities. You can find images using text descriptions (&#8220;fluffy orange cat&#8221;) or find similar images by uploading a photo. For example, searching for &#8220;fluffy orange cat&#8221; can [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.pingcap.com\/ko\/tutorial\/tutorial-building-image-search-applications-with-tidb-vector\/\" \/>\n<meta property=\"og:site_name\" content=\"TiDB\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/facebook.com\/pingcap2015\" \/>\n<meta property=\"og:image\" content=\"https:\/\/github.com\/user-attachments\/assets\/7ba9733a-4d1f-4094-8edb-58731ebd08e9\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:site\" content=\"@PingCAP\" \/>\n<meta name=\"twitter:label1\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data1\" content=\"4\ubd84\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.pingcap.com\/tutorial\/tutorial-building-image-search-applications-with-tidb-vector\/\",\"url\":\"https:\/\/www.pingcap.com\/tutorial\/tutorial-building-image-search-applications-with-tidb-vector\/\",\"name\":\"Tutorial: Building Image Search Applications with TiDB Vector | TiDB\",\"isPartOf\":{\"@id\":\"https:\/\/www.pingcap.com\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.pingcap.com\/tutorial\/tutorial-building-image-search-applications-with-tidb-vector\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/www.pingcap.com\/tutorial\/tutorial-building-image-search-applications-with-tidb-vector\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/github.com\/user-attachments\/assets\/7ba9733a-4d1f-4094-8edb-58731ebd08e9\",\"datePublished\":\"2025-09-26T07:11:49+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/www.pingcap.com\/tutorial\/tutorial-building-image-search-applications-with-tidb-vector\/#breadcrumb\"},\"inLanguage\":\"ko-KR\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.pingcap.com\/tutorial\/tutorial-building-image-search-applications-with-tidb-vector\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"ko-KR\",\"@id\":\"https:\/\/www.pingcap.com\/tutorial\/tutorial-building-image-search-applications-with-tidb-vector\/#primaryimage\",\"url\":\"https:\/\/github.com\/user-attachments\/assets\/7ba9733a-4d1f-4094-8edb-58731ebd08e9\",\"contentUrl\":\"https:\/\/github.com\/user-attachments\/assets\/7ba9733a-4d1f-4094-8edb-58731ebd08e9\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.pingcap.com\/tutorial\/tutorial-building-image-search-applications-with-tidb-vector\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.pingcap.com\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Tutorial: Building Image Search Applications with TiDB Vector\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.pingcap.com\/#website\",\"url\":\"https:\/\/www.pingcap.com\/\",\"name\":\"TiDB\",\"description\":\"TiDB | SQL at Scale\",\"publisher\":{\"@id\":\"https:\/\/www.pingcap.com\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.pingcap.com\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"ko-KR\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/www.pingcap.com\/#organization\",\"name\":\"PingCAP\",\"url\":\"https:\/\/www.pingcap.com\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"ko-KR\",\"@id\":\"https:\/\/www.pingcap.com\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/static.pingcap.com\/files\/2021\/11\/pingcap-logo.png\",\"contentUrl\":\"https:\/\/static.pingcap.com\/files\/2021\/11\/pingcap-logo.png\",\"width\":811,\"height\":232,\"caption\":\"PingCAP\"},\"image\":{\"@id\":\"https:\/\/www.pingcap.com\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/facebook.com\/pingcap2015\",\"https:\/\/x.com\/PingCAP\",\"https:\/\/linkedin.com\/company\/pingcap\",\"https:\/\/youtube.com\/channel\/UCuq4puT32DzHKT5rU1IZpIA\"]}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Tutorial: Building Image Search Applications with TiDB Vector | TiDB","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.pingcap.com\/ko\/tutorial\/tutorial-building-image-search-applications-with-tidb-vector\/","og_locale":"ko_KR","og_type":"article","og_title":"Tutorial: Building Image Search Applications with TiDB Vector | TiDB","og_description":"Tutorial: Building Image Search Applications with TiDB Vector What is Image Search? Image search uses mathematical representations called embeddings to understand both images and text, enabling powerful search capabilities. You can find images using text descriptions (&#8220;fluffy orange cat&#8221;) or find similar images by uploading a photo. For example, searching for &#8220;fluffy orange cat&#8221; can [&hellip;]","og_url":"https:\/\/www.pingcap.com\/ko\/tutorial\/tutorial-building-image-search-applications-with-tidb-vector\/","og_site_name":"TiDB","article_publisher":"https:\/\/facebook.com\/pingcap2015","og_image":[{"url":"https:\/\/github.com\/user-attachments\/assets\/7ba9733a-4d1f-4094-8edb-58731ebd08e9","type":"","width":"","height":""}],"twitter_card":"summary_large_image","twitter_site":"@PingCAP","twitter_misc":{"Est. reading time":"4\ubd84"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/www.pingcap.com\/tutorial\/tutorial-building-image-search-applications-with-tidb-vector\/","url":"https:\/\/www.pingcap.com\/tutorial\/tutorial-building-image-search-applications-with-tidb-vector\/","name":"Tutorial: Building Image Search Applications with TiDB Vector | TiDB","isPartOf":{"@id":"https:\/\/www.pingcap.com\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.pingcap.com\/tutorial\/tutorial-building-image-search-applications-with-tidb-vector\/#primaryimage"},"image":{"@id":"https:\/\/www.pingcap.com\/tutorial\/tutorial-building-image-search-applications-with-tidb-vector\/#primaryimage"},"thumbnailUrl":"https:\/\/github.com\/user-attachments\/assets\/7ba9733a-4d1f-4094-8edb-58731ebd08e9","datePublished":"2025-09-26T07:11:49+00:00","breadcrumb":{"@id":"https:\/\/www.pingcap.com\/tutorial\/tutorial-building-image-search-applications-with-tidb-vector\/#breadcrumb"},"inLanguage":"ko-KR","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.pingcap.com\/tutorial\/tutorial-building-image-search-applications-with-tidb-vector\/"]}]},{"@type":"ImageObject","inLanguage":"ko-KR","@id":"https:\/\/www.pingcap.com\/tutorial\/tutorial-building-image-search-applications-with-tidb-vector\/#primaryimage","url":"https:\/\/github.com\/user-attachments\/assets\/7ba9733a-4d1f-4094-8edb-58731ebd08e9","contentUrl":"https:\/\/github.com\/user-attachments\/assets\/7ba9733a-4d1f-4094-8edb-58731ebd08e9"},{"@type":"BreadcrumbList","@id":"https:\/\/www.pingcap.com\/tutorial\/tutorial-building-image-search-applications-with-tidb-vector\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.pingcap.com\/"},{"@type":"ListItem","position":2,"name":"Tutorial: Building Image Search Applications with TiDB Vector"}]},{"@type":"WebSite","@id":"https:\/\/www.pingcap.com\/#website","url":"https:\/\/www.pingcap.com\/","name":"\ud2f0DB","description":"TiDB | SQL at Scale","publisher":{"@id":"https:\/\/www.pingcap.com\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.pingcap.com\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"ko-KR"},{"@type":"Organization","@id":"https:\/\/www.pingcap.com\/#organization","name":"PingCAP","url":"https:\/\/www.pingcap.com\/","logo":{"@type":"ImageObject","inLanguage":"ko-KR","@id":"https:\/\/www.pingcap.com\/#\/schema\/logo\/image\/","url":"https:\/\/static.pingcap.com\/files\/2021\/11\/pingcap-logo.png","contentUrl":"https:\/\/static.pingcap.com\/files\/2021\/11\/pingcap-logo.png","width":811,"height":232,"caption":"PingCAP"},"image":{"@id":"https:\/\/www.pingcap.com\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/facebook.com\/pingcap2015","https:\/\/x.com\/PingCAP","https:\/\/linkedin.com\/company\/pingcap","https:\/\/youtube.com\/channel\/UCuq4puT32DzHKT5rU1IZpIA"]}]}},"_links":{"self":[{"href":"https:\/\/www.pingcap.com\/ko\/wp-json\/wp\/v2\/tutorial\/30380","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.pingcap.com\/ko\/wp-json\/wp\/v2\/tutorial"}],"about":[{"href":"https:\/\/www.pingcap.com\/ko\/wp-json\/wp\/v2\/types\/tutorial"}],"wp:attachment":[{"href":"https:\/\/www.pingcap.com\/ko\/wp-json\/wp\/v2\/media?parent=30380"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.pingcap.com\/ko\/wp-json\/wp\/v2\/categories?post=30380"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.pingcap.com\/ko\/wp-json\/wp\/v2\/tags?post=30380"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}