{"id":15220,"date":"2023-12-18T01:32:31","date_gmt":"2023-12-18T09:32:31","guid":{"rendered":"https:\/\/www.pingcap.com\/?p=15220"},"modified":"2024-04-28T02:53:10","modified_gmt":"2024-04-28T09:53:10","slug":"data-into-insights-in-10-min-with-custom-gpts-and-apis","status":"publish","type":"post","link":"https:\/\/www.pingcap.com\/ko\/blog\/data-into-insights-in-10-min-with-custom-gpts-and-apis\/","title":{"rendered":"Turning Data into Insights in 10 Minutes with Custom GPTs and APIs"},"content":{"rendered":"<p>We just built <a href=\"https:\/\/chat.openai.com\/g\/g-fllZWy9VJ-oss-comparison\">Open Source Benchmark,<\/a> an innovative GPT designed to streamline open-source software (OSS) comparisons. Powered by our own data APIs and third-party APIs, this GPT analyzes two repositories and offers instant insights for tech decision-making. Open the GPT now and click <strong>PyTorch vs Tensor<\/strong> to see how it works in action. &nbsp;<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"How_It_Started\"><\/span>How It Started<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p>On November 6, 2023, OpenAI unveiled custom GPTs that allow the creation of tailored ChatGPT versions with enhanced capabilities and diverse skills. This development significantly altered the tech landscape. According to the <a href=\"https:\/\/openai.com\/blog\/introducing-gpts\">announcement blog<\/a>, developers can:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Effortlessly customize ChatGPT without any coding requirements.<\/li>\n\n\n\n<li>Enrich ChatGPT&#8217;s knowledge base using external sources ranging from third-party APIs, data APIs to web scraping and knowledge base files.<\/li>\n<\/ul>\n\n\n\n<p>As the team behind <a href=\"http:\/\/ossinsight.io\">OSSInsight.io<\/a>, an open-source insight platform, we felt as inspired and empowered as any other developers. Harnessing the power of GPTs, we managed to develop <a href=\"https:\/\/chat.openai.com\/g\/g-fllZWy9VJ-oss-comparison\">Open Source Benchmark<\/a>, an open-source comparative analysis GPT, in 10 minutes. This GPT integrates with OSSInsight APIs, GitHub APIs, other third-party APIs, and web scraping capabilities.<\/p>\n\n\n\n<figure class=\"wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-4-3 wp-has-aspect-ratio\"><div class=\"wp-block-embed__wrapper\">\n<iframe loading=\"lazy\" title=\"Turn Data into Insights in Just 10 Mins with GPTs &amp; APIs\" width=\"500\" height=\"375\" src=\"https:\/\/www.youtube.com\/embed\/bueBAqFgKqc?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<p>In this post, we will share the general construction process of this GPT to turn data into insights and summarize the key techniques used.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Configure_the_GPTs\"><\/span><strong>Configure the GPTs&nbsp;<\/strong><span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p>ChatGPT provides a default GPT Builder to facilitate the GPT construction process. While it is very friendly, we feel it is a bit wordy. To construct the GPT prompts to be as concise and streamlined as possible, we decided to manually configure the GPT in the <strong>Configure<\/strong> tab in the GPTs Editor.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"821\" height=\"1024\" src=\"https:\/\/static.pingcap.com\/files\/2024\/04\/28025257\/Custom-GPTs-general-config-821x1024.jpeg\" alt=\"\" class=\"wp-image-16493\" srcset=\"https:\/\/static.pingcap.com\/files\/2024\/04\/28025257\/Custom-GPTs-general-config-821x1024.jpeg 821w, https:\/\/static.pingcap.com\/files\/2024\/04\/28025257\/Custom-GPTs-general-config-241x300.jpeg 241w, https:\/\/static.pingcap.com\/files\/2024\/04\/28025257\/Custom-GPTs-general-config-768x958.jpeg 768w, https:\/\/static.pingcap.com\/files\/2024\/04\/28025257\/Custom-GPTs-general-config-1232x1536.jpeg 1232w, https:\/\/static.pingcap.com\/files\/2024\/04\/28025257\/Custom-GPTs-general-config-1642x2048.jpeg 1642w, https:\/\/static.pingcap.com\/files\/2024\/04\/28025257\/Custom-GPTs-general-config-1440x1796.jpeg 1440w, https:\/\/static.pingcap.com\/files\/2024\/04\/28025257\/Custom-GPTs-general-config.jpeg 2000w\" sizes=\"auto, (max-width: 821px) 100vw, 821px\" \/><\/figure>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Add appropriate descriptions to your GPTs in the <strong>Name<\/strong> \uadf8\ub9ac\uace0 <strong>Description<\/strong> fields.&nbsp;<\/li>\n\n\n\n<li>Click on the GPT icon, and select <strong>Use DALL\u00c2\u00b7E to generate a custom avatar for your GPTs.<\/strong><\/li>\n\n\n\n<li>Enable the necessary capabilities of the GPT.&nbsp; It\u2019s recommended that you check all the capabilities.&nbsp;\n<ul class=\"wp-block-list\">\n<li>\u2705 Web browsing<\/li>\n\n\n\n<li>\u2705 DALL-E Image Generation<\/li>\n\n\n\n<li>\u2705 Code Interpreter<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li>Configure the instructions, or prompts for the GPT that specifies how AI interacts with you. You can find the prompts we used <a href=\"https:\/\/ossinsight.io\/blog\/how-to-build-oss-comparison-gpt\/#instructions\">\uc5ec\uae30<\/a>. We will also provide some useful tips we learned later in this post.&nbsp;<\/li>\n\n\n\n<li>Provide some<strong> conversation starters <\/strong>as interaction shortcuts<strong>, <\/strong>for example:\n<ul class=\"wp-block-list\">\n<li>PyTorch vs TensorFlow<\/li>\n\n\n\n<li>TiDB vs Vitess<\/li>\n\n\n\n<li>React vs Vue<\/li>\n\n\n\n<li>Golang vs Rust-lang<\/li>\n<\/ul>\n<\/li>\n<\/ol>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Configure_GPT_Actions\"><\/span><strong>Configure GPT Actions<\/strong><span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p>In addition to using GPTs&#8217; built-in capabilities, we needed to define custom actions to make specific APIs available to the GPT. For our purpose in the Open Source Benchmark GPT, we used the following three APIs:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>TiDB Serverless\u2019s Data API to access the database<\/li>\n\n\n\n<li><a href=\"http:\/\/api.github.com\">GitHub<\/a> API to get the GitHub project and repository information&nbsp;<\/li>\n\n\n\n<li>OSSInsight\u2019s image API for reporting capabilities<\/li>\n<\/ul>\n\n\n\n<p>You can find all the action configurations in <a href=\"https:\/\/ossinsight.io\/blog\/how-to-build-oss-comparison-gpt\/\">this blog<\/a>.&nbsp;<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Enable GPT Access to Database&nbsp;&nbsp;<\/strong><\/h3>\n\n\n\n<p>In the Open Source Benchmark GPT, we imported the historical data from Hackers News and over 6 billion GitHub events into <a href=\"https:\/\/tidbcloud.com\/\">TiDB Serverless<\/a>, our backend database service. To enable GPT\u2019s access to TiDB Serverless, we leveraged <strong><a href=\"https:\/\/www.pingcap.com\/ko\/blog\/low-code-development-backend-apps-tidb-cloud-data-services\/\">Data Service<\/a><\/strong>, a TiDB Serverless feature that allows us to turn data into HTTP APIs directly with simple SQLs and configurations in the console. This way we can expose our data to GPTs easily.&nbsp;<\/p>\n\n\n\n<h4 class=\"wp-block-heading\"><strong>Create the Endpoint<\/strong><\/h4>\n\n\n\n<p>As an example, we needed to provide a Data API to query &#8220;<strong>the number of times a specific keyword is mentioned each year on Hackers News<\/strong>&#8220;.<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Log into the TiDB Serverless cluster.<\/li>\n\n\n\n<li>Enter the Data Service tab from the left navigation bar, and select a Data App.&nbsp;<\/li>\n\n\n\n<li>Create an endpoint with the following SQL:<pre class=\"wp-block-code\"><code>SQL\nuse hackernews;\nSELECT\n&nbsp; &nbsp; COUNT(*) AS count,\n&nbsp; &nbsp; DATE_FORMAT(FROM_UNIXTIME(time), '%Y-01-01') AS date\nFROM items\nWHERE (LOWER(url) LIKE&nbsp; lower(CONCAT('%', ${keyword},'%')) OR LOWER(title) LIKE lower(CONCAT('%', ${keyword},'%')) OR LOWER(text) LIKE lower(CONCAT('%', ${keyword},'%')))\n&nbsp; and time &gt;= UNIX_TIMESTAMP(DATE_SUB(CURRENT_DATE, INTERVAL 10 YEAR))\nGROUP BY 2\nORDER BY 2 ASC;<\/code><\/pre><\/li>\n\n\n\n<li>Configure the <strong>Path<\/strong> field with <code>\/hackernews\/mention_per_year <\/code>as below:<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"385\" src=\"https:\/\/static.pingcap.com\/files\/2023\/12\/17235958\/image-10-1024x385.png\" alt=\"\" class=\"wp-image-15221\" srcset=\"https:\/\/static.pingcap.com\/files\/2023\/12\/17235958\/image-10-1024x385.png 1024w, https:\/\/static.pingcap.com\/files\/2023\/12\/17235958\/image-10-300x113.png 300w, https:\/\/static.pingcap.com\/files\/2023\/12\/17235958\/image-10-768x288.png 768w, https:\/\/static.pingcap.com\/files\/2023\/12\/17235958\/image-10-1536x577.png 1536w, https:\/\/static.pingcap.com\/files\/2023\/12\/17235958\/image-10-1440x541.png 1440w, https:\/\/static.pingcap.com\/files\/2023\/12\/17235958\/image-10.png 1600w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure><\/li>\n\n\n\n<li>Click the <strong>Review Draft &amp; Deploy<\/strong> button to deploy this API.<\/li>\n<\/ol>\n\n\n\n<h4 class=\"wp-block-heading\"><strong>Get the API Specification&nbsp;<\/strong><\/h4>\n\n\n\n<p>After deployment, Data Service will assist you in generating a JSON-format API Specification based on your endpoint&#8217;s configuration. This is crucial for connecting with GPTs. To get the API Specification:<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Enter <strong>Integrate with GPTs &#8211; Overview, <\/strong>and click the <strong>Get Configuration<\/strong> button.<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"437\" src=\"https:\/\/static.pingcap.com\/files\/2023\/12\/18000131\/image-11-1024x437.png\" alt=\"\" class=\"wp-image-15222\" srcset=\"https:\/\/static.pingcap.com\/files\/2023\/12\/18000131\/image-11-1024x437.png 1024w, https:\/\/static.pingcap.com\/files\/2023\/12\/18000131\/image-11-300x128.png 300w, https:\/\/static.pingcap.com\/files\/2023\/12\/18000131\/image-11-768x328.png 768w, https:\/\/static.pingcap.com\/files\/2023\/12\/18000131\/image-11-1536x656.png 1536w, https:\/\/static.pingcap.com\/files\/2023\/12\/18000131\/image-11-1440x615.png 1440w, https:\/\/static.pingcap.com\/files\/2023\/12\/18000131\/image-11.png 1600w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure><\/li>\n\n\n\n<li>In the opened <strong>Integrate with GPTs <\/strong>dialog, get: <ul> <li>The <strong>API Specification URL<\/strong> address for the API Specification file.The <strong>API Key Encoded<\/strong> required to access the Data API.<\/li><\/ul> <figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"734\" class=\"wp-image-15223\" src=\"https:\/\/static.pingcap.com\/files\/2023\/12\/18000251\/image-12-1024x734.png\" alt=\"\" srcset=\"https:\/\/static.pingcap.com\/files\/2023\/12\/18000251\/image-12-1024x734.png 1024w, https:\/\/static.pingcap.com\/files\/2023\/12\/18000251\/image-12-300x215.png 300w, https:\/\/static.pingcap.com\/files\/2023\/12\/18000251\/image-12-768x551.png 768w, https:\/\/static.pingcap.com\/files\/2023\/12\/18000251\/image-12.png 1280w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure><\/li>\n<\/ol>\n\n\n\n<h4 class=\"wp-block-heading\"><strong>Configure the Data API Action<\/strong><\/h4>\n\n\n\n<p>To configure the Data API Action for GPTs, follow these steps:<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Import the API Specification.&nbsp;<p>In the <strong>Edit actions<\/strong> tab, copy the<strong> API Specification URL<\/strong> you obtained from the previous step, paste it into the <strong>Schema URL<\/strong> input box, and click the <strong>Import<\/strong> button. This way, GPT can access the basic information of the APIs provided through the Data Service.<\/p><figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"806\" class=\"wp-image-15224\" src=\"https:\/\/static.pingcap.com\/files\/2023\/12\/18000938\/image-13-1024x806.png\" alt=\"\" srcset=\"https:\/\/static.pingcap.com\/files\/2023\/12\/18000938\/image-13-1024x806.png 1024w, https:\/\/static.pingcap.com\/files\/2023\/12\/18000938\/image-13-300x236.png 300w, https:\/\/static.pingcap.com\/files\/2023\/12\/18000938\/image-13-768x605.png 768w, https:\/\/static.pingcap.com\/files\/2023\/12\/18000938\/image-13.png 1280w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure><\/li>\n\n\n\n<li>Set up API Authentication.<ol> <li>&nbsp;In the <strong>Authentication<\/strong> configuration box, copy the <strong>API Key Encoded <\/strong>you obtained in the previous step, and fill it in the <strong>API Key<\/strong> field.&nbsp;<\/li>   <li>Select <strong>Basic<\/strong> for <strong>Auth Type<\/strong> to authorize GPTs to access our newly created API.<\/li> <\/ol><figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"956\" height=\"752\" src=\"https:\/\/static.pingcap.com\/files\/2023\/12\/18002255\/image-14.png\" alt=\"\" class=\"wp-image-15225\" srcset=\"https:\/\/static.pingcap.com\/files\/2023\/12\/18002255\/image-14.png 956w, https:\/\/static.pingcap.com\/files\/2023\/12\/18002255\/image-14-300x236.png 300w, https:\/\/static.pingcap.com\/files\/2023\/12\/18002255\/image-14-768x604.png 768w\" sizes=\"auto, (max-width: 956px) 100vw, 956px\" \/><\/figure><\/li>\n<\/ol>\n\n\n\n<p>By completing these steps, the GPT is now set to perform tasks like <strong>&#8220;Show me the Hacker News Mentions of ChatGPT.&#8221; <\/strong>It can access the database and retrieve the desired results using the API provided by the Data Service.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"446\" src=\"https:\/\/static.pingcap.com\/files\/2023\/12\/18002335\/image-15-1024x446.png\" alt=\"Custom GPTs - API setup finished \" class=\"wp-image-15226\" srcset=\"https:\/\/static.pingcap.com\/files\/2023\/12\/18002335\/image-15-1024x446.png 1024w, https:\/\/static.pingcap.com\/files\/2023\/12\/18002335\/image-15-300x131.png 300w, https:\/\/static.pingcap.com\/files\/2023\/12\/18002335\/image-15-768x335.png 768w, https:\/\/static.pingcap.com\/files\/2023\/12\/18002335\/image-15.png 1428w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Enable GPT Access to GitHub API<\/strong><\/h3>\n\n\n\n<p>To enrich our GPTs&#8217; capabilities in performing comparative analysis of GitHub repositories, we&#8217;ve integrated the GitHub API into our actions. This integration allows for the retrieval of precise data from GitHub repositories. For comprehensive information on GitHub REST APIs, please refer to <a href=\"https:\/\/docs.github.com\/en\/rest?apiVersion=2022-11-28\">GitHub REST API documentation<\/a>.<\/p>\n\n\n\n<p>To improve the efficiency, we used the \u201c<a href=\"https:\/\/chat.openai.com\/g\/g-TYEliDU6A-actionsgpt\">ActionsGPT<\/a>\u201d provided by OpenAI to fetch and generate API Specifications. Take the <strong>Get a Repository<\/strong> REST API for example, we can get the API Specifications in the following two steps:&nbsp;<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>In the right-bottom corner of the GPT Editor, click the <strong>Get help from ActionsGPT <\/strong>popup command.<br><figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"486\" class=\"wp-image-15227\" src=\"https:\/\/static.pingcap.com\/files\/2023\/12\/18002506\/image-16-1024x486.png\" alt=\"\" srcset=\"https:\/\/static.pingcap.com\/files\/2023\/12\/18002506\/image-16-1024x486.png 1024w, https:\/\/static.pingcap.com\/files\/2023\/12\/18002506\/image-16-300x143.png 300w, https:\/\/static.pingcap.com\/files\/2023\/12\/18002506\/image-16-768x365.png 768w, https:\/\/static.pingcap.com\/files\/2023\/12\/18002506\/image-16-1536x730.png 1536w, https:\/\/static.pingcap.com\/files\/2023\/12\/18002506\/image-16-1440x684.png 1440w, https:\/\/static.pingcap.com\/files\/2023\/12\/18002506\/image-16.png 1600w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>Input the prompts as below, and you will get the API Specification text of the Get a Repository API:<pre class=\"wp-block-code\"><code>Generate OpenAPI spec for \"Get a repository\" of GitHub REST API;<span style=\"background-color: initial; font-family: inherit; font-size: inherit; color: initial;\">must include schema of status code 200 in response, include \".*_count.*\", except \".*\\burl\\b.*\", must include: license, language, created date, last push date, repository size in properties<\/span><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"800\" class=\"wp-image-15228\" style=\"background-color: initial; font-family: inherit; font-size: inherit; color: initial;\" src=\"https:\/\/static.pingcap.com\/files\/2023\/12\/18002731\/image-17-1024x800.png\" alt=\"\" srcset=\"https:\/\/static.pingcap.com\/files\/2023\/12\/18002731\/image-17-1024x800.png 1024w, https:\/\/static.pingcap.com\/files\/2023\/12\/18002731\/image-17-300x234.png 300w, https:\/\/static.pingcap.com\/files\/2023\/12\/18002731\/image-17-768x600.png 768w, https:\/\/static.pingcap.com\/files\/2023\/12\/18002731\/image-17-1536x1200.png 1536w, https:\/\/static.pingcap.com\/files\/2023\/12\/18002731\/image-17-1440x1125.png 1440w, https:\/\/static.pingcap.com\/files\/2023\/12\/18002731\/image-17.png 1600w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/code><\/pre><\/li>\n<\/ol>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Enable GPT Access to Charting API of OSSInsight<\/strong><\/h3>\n\n\n\n<p>While GPTs are capable of data visualization through the Code Interpreter feature, this approach is limited by network restrictions \u2013 GPTs must convert data into text-based Python code before execution, which can be very time-consuming.<\/p>\n\n\n\n<p>To streamline the chart delivery and enhance user experience, we leverage an external API server provided on the OSSInsight end. This server takes over the task of chart creation and provides a URL of rendered image in the API response. This method significantly reduces wait times for users.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"872\" src=\"https:\/\/static.pingcap.com\/files\/2023\/12\/18003306\/image-18-1024x872.png\" alt=\"\" class=\"wp-image-15229\" srcset=\"https:\/\/static.pingcap.com\/files\/2023\/12\/18003306\/image-18-1024x872.png 1024w, https:\/\/static.pingcap.com\/files\/2023\/12\/18003306\/image-18-300x255.png 300w, https:\/\/static.pingcap.com\/files\/2023\/12\/18003306\/image-18-768x654.png 768w, https:\/\/static.pingcap.com\/files\/2023\/12\/18003306\/image-18.png 1332w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>As you can see, GPTs can display images immediately using the Markdown format.<\/p>\n\n\n\n<p>You can find the API spec of this action <a href=\"https:\/\/ossinsight.io\/blog\/how-to-build-oss-comparison-gpt\/\">\uc5ec\uae30<\/a>.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Tips_for_GPTs_Instructions\"><\/span><strong>Tips for GPTs&#8217; Instructions<\/strong><span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p><strong>Instructions<\/strong> are the core that drives GPTs; guiding what GPTs should do and how they should do it. Although instructions can be auto-generated through the GPTs Builder, we can further refine them in the Instruction editor. You can get all the instructions for GPTs <a href=\"https:\/\/ossinsight.io\/blog\/how-to-build-oss-comparison-gpt\/\">\uc5ec\uae30<\/a>.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Tip 1: Setting up a role for your GPTs<\/strong><\/h3>\n\n\n\n<p>Typically, at the beginning of constructing a GPT prompt, we specify a role for the GPT. In our case of building the Open Source Benchmark GPT, we inform that &#8220;you are a data analyst.&#8221; The consequence of doing this is that when answering questions, GPT will specifically draw upon knowledge that aligns with its declared identity\/role.&nbsp;<\/p>\n\n\n\n<p>For instance, after adding this role declaration, its ability to write SQL becomes stronger. When summarizing text, it adopts the style of an analyst and provides insights accordingly.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>You are a data analysis expert.&nbsp;<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Tip 2: Re-Specifying API Usage in the Prompt<\/strong><\/h3>\n\n\n\n<p>When we enter API Specification in the GPT Builder, it is worth noting that the purpose of each API is already detailed within the &#8220;description&#8221; field in the API spec file. However, due to the GPT&#8217;s contextual limitations, especially when it toggles between tasks in Multitask mode, it is necessary to highlight the data each API retrieves directly in the prompt during GPT construction.&nbsp;<\/p>\n\n\n\n<p>Based on our experience, doing this could reduce the need for extensive AI reasoning and thereby result in more stable and reliable outputs.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>GitHub API for getting repo basic info\nOSS Insight API for star history comparison chart API and stargazer's geo&amp;company distribution\nHackernews mentions per_year API for hackernews trend<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Tip 3: Defining Output Templates<\/strong><\/h3>\n\n\n\n<p>To ensure uniformity in output formatting, particularly for specific sections, we&#8217;ve employed the use of text templates. A prime example is the Markdown Table section in the prompt. This structured approach guides the AI in effectively organizing and presenting the data fetched from the API within this predefined template:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>Output the data in a markdown table for easy comparison. add your own knowledge for more insight. at least 8 metrics.\n\n| Dimension&nbsp; &nbsp; &nbsp; | A &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; | B &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; |\n|----------------|-------------|-------------|\n| Dimension 1&nbsp; &nbsp; | Detail A1 &nbsp; | Detail B1 &nbsp; |\n| Dimension 2&nbsp; &nbsp; | Detail A2 &nbsp; | Detail B2 &nbsp; |\n| Dimension 3&nbsp; &nbsp; | Detail A3 &nbsp; | Detail B3 &nbsp; |\n| ...&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; | ... &nbsp; &nbsp; &nbsp; &nbsp; | ... &nbsp; &nbsp; &nbsp; &nbsp; |\n| Dimension N&nbsp; &nbsp; | Detail AN &nbsp; | Detail BN &nbsp; |<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Tip 4: Guiding GPT with Structured Steps for Question Solving<\/strong><\/h3>\n\n\n\n<p>Adding instructions to let AI follow the sequence Plan -&gt; Tools -&gt; Action -&gt; Output -&gt; Deep Insight helps the AI not only design a logical approach to problem-solving but also <strong>prevents it from taking shortcuts<\/strong>. This structured approach ensures a more thorough and diligent response.<\/p>\n\n\n\n<p>Incorporating a sequential framework of <strong>Plan -&gt; Tools -&gt; Action -&gt; Output -&gt; Deep Insight <\/strong>into instructions significantly enhances the AI&#8217;s problem-solving methodology. This structured strategy aids in developing a logical approach that prevents GPTs from taking shortcuts, leading to more comprehensive and thoughtful responses.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>Let's beginPlan:Tools:Action:Output:Deep Insight:<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Summary\"><\/span><strong>Summary<\/strong><span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p>Our journey into reimagining existing applications in the age of GPTs has been both enlightening and enjoyable. Through this process, we&#8217;ve gained valuable insights into:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Enhancing Domain-Specific GPTs<\/strong>: We&#8217;ve harnessed the power of integrating multiple external data sources with GPTs. This approach has significantly broadened the capabilities of domain-specific GPTs.<\/li>\n\n\n\n<li><strong>Efficient API Integration<\/strong>: We learned how to quickly provide GPTs access to existing data without the need for extensive coding. Our use of TiDB Cloud Data Service stands testament to this.<\/li>\n\n\n\n<li><strong>Augmenting GPT Drawing Capabilities<\/strong>: By leveraging external API resources, we&#8217;ve improved the chartering capabilities of current GPTs for more effective data visualization.<\/li>\n<\/ul>\n\n\n\n<p>To enable others to explore similar advancements, we have shared the complete configurations for building the &#8216;Open Source Repository Comparison GPT.&#8217; For those interested in replicating this GPT, all the necessary details are available <a href=\"https:\/\/ossinsight.io\/blog\/how-to-build-oss-comparison-gpt\">\uc5ec\uae30<\/a>.<\/p>","protected":false},"excerpt":{"rendered":"<p>We just built Open Source Benchmark, an innovative GPT designed to streamline open-source software (OSS) comparisons. Powered by our own data APIs and third-party APIs, this GPT analyzes two repositories and offers instant insights for tech decision-making. Open the GPT now and click PyTorch vs Tensor to see how it works in action. &nbsp; How [&hellip;]<\/p>\n","protected":false},"author":196,"featured_media":15232,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"ub_ctt_via":"","footnotes":""},"categories":[6],"tags":[138,163,249,182,208],"class_list":["post-15220","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-engineering","tag-ai","tag-app-developer","tag-data-service","tag-ecosystem","tag-tidb-serverless"],"acf":[],"featured_image_src":"https:\/\/static.pingcap.com\/files\/2023\/12\/18012232\/custom-gpt-banner.jpeg","author_info":{"display_name":"Zhiyuan Liang","author_link":"https:\/\/www.pingcap.com\/ko\/blog\/author\/zhiyuan-liang\/"},"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v26.9 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Turning Data into Insights in 10 Mins with Custom GPTs and APIs<\/title>\n<meta name=\"description\" content=\"Learn how we built a data-into-insights app using OpenAI&#039;s custom GPTs and API integrations within 10 minutes.\" \/>\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\/blog\/data-into-insights-in-10-min-with-custom-gpts-and-apis\/\" \/>\n<meta property=\"og:locale\" content=\"ko_KR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Turning Data into Insights in 10 Mins with Custom GPTs and APIs\" \/>\n<meta property=\"og:description\" content=\"Learn how we built a data-into-insights app using OpenAI&#039;s custom GPTs and API integrations within 10 minutes.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.pingcap.com\/ko\/blog\/data-into-insights-in-10-min-with-custom-gpts-and-apis\/\" \/>\n<meta property=\"og:site_name\" content=\"TiDB\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/facebook.com\/pingcap2015\" \/>\n<meta property=\"article:published_time\" content=\"2023-12-18T09:32:31+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2024-04-28T09:53:10+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/static.pingcap.com\/files\/2023\/12\/18012418\/custom-gpt-social.jpeg\" \/>\n\t<meta property=\"og:image:width\" content=\"1875\" \/>\n\t<meta property=\"og:image:height\" content=\"938\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"Zhiyuan Liang\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:image\" content=\"https:\/\/static.pingcap.com\/files\/2023\/12\/18012418\/custom-gpt-social.jpeg\" \/>\n<meta name=\"twitter:creator\" content=\"@PingCAP\" \/>\n<meta name=\"twitter:site\" content=\"@PingCAP\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Zhiyuan Liang\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"9\ubd84\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/www.pingcap.com\/blog\/data-into-insights-in-10-min-with-custom-gpts-and-apis\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.pingcap.com\/blog\/data-into-insights-in-10-min-with-custom-gpts-and-apis\/\"},\"author\":{\"name\":\"Zhiyuan Liang\",\"@id\":\"https:\/\/www.pingcap.com\/#\/schema\/person\/eb40ba298bc36a0f833ac79b7f473b0e\"},\"headline\":\"Turning Data into Insights in 10 Minutes with Custom GPTs and APIs\",\"datePublished\":\"2023-12-18T09:32:31+00:00\",\"dateModified\":\"2024-04-28T09:53:10+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.pingcap.com\/blog\/data-into-insights-in-10-min-with-custom-gpts-and-apis\/\"},\"wordCount\":1624,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/www.pingcap.com\/#organization\"},\"image\":{\"@id\":\"https:\/\/www.pingcap.com\/blog\/data-into-insights-in-10-min-with-custom-gpts-and-apis\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/static.pingcap.com\/files\/2023\/12\/18012232\/custom-gpt-banner.jpeg\",\"keywords\":[\"AI\",\"App Developer\",\"Data Service\",\"Ecosystem\",\"TiDB Serverless\"],\"articleSection\":[\"Engineering\"],\"inLanguage\":\"ko-KR\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/www.pingcap.com\/blog\/data-into-insights-in-10-min-with-custom-gpts-and-apis\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.pingcap.com\/blog\/data-into-insights-in-10-min-with-custom-gpts-and-apis\/\",\"url\":\"https:\/\/www.pingcap.com\/blog\/data-into-insights-in-10-min-with-custom-gpts-and-apis\/\",\"name\":\"Turning Data into Insights in 10 Mins with Custom GPTs and APIs\",\"isPartOf\":{\"@id\":\"https:\/\/www.pingcap.com\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.pingcap.com\/blog\/data-into-insights-in-10-min-with-custom-gpts-and-apis\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/www.pingcap.com\/blog\/data-into-insights-in-10-min-with-custom-gpts-and-apis\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/static.pingcap.com\/files\/2023\/12\/18012232\/custom-gpt-banner.jpeg\",\"datePublished\":\"2023-12-18T09:32:31+00:00\",\"dateModified\":\"2024-04-28T09:53:10+00:00\",\"description\":\"Learn how we built a data-into-insights app using OpenAI's custom GPTs and API integrations within 10 minutes.\",\"breadcrumb\":{\"@id\":\"https:\/\/www.pingcap.com\/blog\/data-into-insights-in-10-min-with-custom-gpts-and-apis\/#breadcrumb\"},\"inLanguage\":\"ko-KR\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.pingcap.com\/blog\/data-into-insights-in-10-min-with-custom-gpts-and-apis\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"ko-KR\",\"@id\":\"https:\/\/www.pingcap.com\/blog\/data-into-insights-in-10-min-with-custom-gpts-and-apis\/#primaryimage\",\"url\":\"https:\/\/static.pingcap.com\/files\/2023\/12\/18012232\/custom-gpt-banner.jpeg\",\"contentUrl\":\"https:\/\/static.pingcap.com\/files\/2023\/12\/18012232\/custom-gpt-banner.jpeg\",\"width\":1875,\"height\":625},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.pingcap.com\/blog\/data-into-insights-in-10-min-with-custom-gpts-and-apis\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.pingcap.com\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Turning Data into Insights in 10 Minutes with Custom GPTs and APIs\"}]},{\"@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\"]},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.pingcap.com\/#\/schema\/person\/eb40ba298bc36a0f833ac79b7f473b0e\",\"name\":\"Zhiyuan Liang\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"ko-KR\",\"@id\":\"https:\/\/www.pingcap.com\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/static.pingcap.com\/files\/2022\/10\/17234942\/avatar.jpg\",\"contentUrl\":\"https:\/\/static.pingcap.com\/files\/2022\/10\/17234942\/avatar.jpg\",\"caption\":\"Zhiyuan Liang\"},\"description\":\"Senior Software Engineer\",\"url\":\"https:\/\/www.pingcap.com\/ko\/blog\/author\/zhiyuan-liang\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Turning Data into Insights in 10 Mins with Custom GPTs and APIs","description":"Learn how we built a data-into-insights app using OpenAI's custom GPTs and API integrations within 10 minutes.","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\/blog\/data-into-insights-in-10-min-with-custom-gpts-and-apis\/","og_locale":"ko_KR","og_type":"article","og_title":"Turning Data into Insights in 10 Mins with Custom GPTs and APIs","og_description":"Learn how we built a data-into-insights app using OpenAI's custom GPTs and API integrations within 10 minutes.","og_url":"https:\/\/www.pingcap.com\/ko\/blog\/data-into-insights-in-10-min-with-custom-gpts-and-apis\/","og_site_name":"TiDB","article_publisher":"https:\/\/facebook.com\/pingcap2015","article_published_time":"2023-12-18T09:32:31+00:00","article_modified_time":"2024-04-28T09:53:10+00:00","og_image":[{"width":1875,"height":938,"url":"https:\/\/static.pingcap.com\/files\/2023\/12\/18012418\/custom-gpt-social.jpeg","type":"image\/jpeg"}],"author":"Zhiyuan Liang","twitter_card":"summary_large_image","twitter_image":"https:\/\/static.pingcap.com\/files\/2023\/12\/18012418\/custom-gpt-social.jpeg","twitter_creator":"@PingCAP","twitter_site":"@PingCAP","twitter_misc":{"Written by":"Zhiyuan Liang","Est. reading time":"9\ubd84"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.pingcap.com\/blog\/data-into-insights-in-10-min-with-custom-gpts-and-apis\/#article","isPartOf":{"@id":"https:\/\/www.pingcap.com\/blog\/data-into-insights-in-10-min-with-custom-gpts-and-apis\/"},"author":{"name":"Zhiyuan Liang","@id":"https:\/\/www.pingcap.com\/#\/schema\/person\/eb40ba298bc36a0f833ac79b7f473b0e"},"headline":"Turning Data into Insights in 10 Minutes with Custom GPTs and APIs","datePublished":"2023-12-18T09:32:31+00:00","dateModified":"2024-04-28T09:53:10+00:00","mainEntityOfPage":{"@id":"https:\/\/www.pingcap.com\/blog\/data-into-insights-in-10-min-with-custom-gpts-and-apis\/"},"wordCount":1624,"commentCount":0,"publisher":{"@id":"https:\/\/www.pingcap.com\/#organization"},"image":{"@id":"https:\/\/www.pingcap.com\/blog\/data-into-insights-in-10-min-with-custom-gpts-and-apis\/#primaryimage"},"thumbnailUrl":"https:\/\/static.pingcap.com\/files\/2023\/12\/18012232\/custom-gpt-banner.jpeg","keywords":["AI","App Developer","Data Service","Ecosystem","TiDB Serverless"],"articleSection":["Engineering"],"inLanguage":"ko-KR","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.pingcap.com\/blog\/data-into-insights-in-10-min-with-custom-gpts-and-apis\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.pingcap.com\/blog\/data-into-insights-in-10-min-with-custom-gpts-and-apis\/","url":"https:\/\/www.pingcap.com\/blog\/data-into-insights-in-10-min-with-custom-gpts-and-apis\/","name":"Turning Data into Insights in 10 Mins with Custom GPTs and APIs","isPartOf":{"@id":"https:\/\/www.pingcap.com\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.pingcap.com\/blog\/data-into-insights-in-10-min-with-custom-gpts-and-apis\/#primaryimage"},"image":{"@id":"https:\/\/www.pingcap.com\/blog\/data-into-insights-in-10-min-with-custom-gpts-and-apis\/#primaryimage"},"thumbnailUrl":"https:\/\/static.pingcap.com\/files\/2023\/12\/18012232\/custom-gpt-banner.jpeg","datePublished":"2023-12-18T09:32:31+00:00","dateModified":"2024-04-28T09:53:10+00:00","description":"Learn how we built a data-into-insights app using OpenAI's custom GPTs and API integrations within 10 minutes.","breadcrumb":{"@id":"https:\/\/www.pingcap.com\/blog\/data-into-insights-in-10-min-with-custom-gpts-and-apis\/#breadcrumb"},"inLanguage":"ko-KR","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.pingcap.com\/blog\/data-into-insights-in-10-min-with-custom-gpts-and-apis\/"]}]},{"@type":"ImageObject","inLanguage":"ko-KR","@id":"https:\/\/www.pingcap.com\/blog\/data-into-insights-in-10-min-with-custom-gpts-and-apis\/#primaryimage","url":"https:\/\/static.pingcap.com\/files\/2023\/12\/18012232\/custom-gpt-banner.jpeg","contentUrl":"https:\/\/static.pingcap.com\/files\/2023\/12\/18012232\/custom-gpt-banner.jpeg","width":1875,"height":625},{"@type":"BreadcrumbList","@id":"https:\/\/www.pingcap.com\/blog\/data-into-insights-in-10-min-with-custom-gpts-and-apis\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.pingcap.com\/"},{"@type":"ListItem","position":2,"name":"Turning Data into Insights in 10 Minutes with Custom GPTs and APIs"}]},{"@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"]},{"@type":"Person","@id":"https:\/\/www.pingcap.com\/#\/schema\/person\/eb40ba298bc36a0f833ac79b7f473b0e","name":"Zhiyuan Liang","image":{"@type":"ImageObject","inLanguage":"ko-KR","@id":"https:\/\/www.pingcap.com\/#\/schema\/person\/image\/","url":"https:\/\/static.pingcap.com\/files\/2022\/10\/17234942\/avatar.jpg","contentUrl":"https:\/\/static.pingcap.com\/files\/2022\/10\/17234942\/avatar.jpg","caption":"Zhiyuan Liang"},"description":"Senior Software Engineer","url":"https:\/\/www.pingcap.com\/ko\/blog\/author\/zhiyuan-liang\/"}]}},"grav_blocks":false,"card_markup":"<a class=\"card-resource bg-white\" href=\"https:\/\/www.pingcap.com\/ko\/blog\/data-into-insights-in-10-min-with-custom-gpts-and-apis\/\"><div class=\"card-resource__image-container\"><img class=\"card-resource__image\" alt=\"custom gpt banner\" src=\"https:\/\/static.pingcap.com\/files\/2023\/12\/18012232\/custom-gpt-banner.jpeg\" loading=\"lazy\" width=1875 height=625 \/><\/div><div class=\"card-resource__content-container\"><div class=\"card-resource__content-head\"><div class=\"card-resource__category\">Engineering<\/div><\/div><h5 class=\"card-resource__title\">Turning Data into Insights in 10 Minutes with Custom GPTs and APIs<\/h5><\/div><\/a>","_links":{"self":[{"href":"https:\/\/www.pingcap.com\/ko\/wp-json\/wp\/v2\/posts\/15220","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.pingcap.com\/ko\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.pingcap.com\/ko\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.pingcap.com\/ko\/wp-json\/wp\/v2\/users\/196"}],"replies":[{"embeddable":true,"href":"https:\/\/www.pingcap.com\/ko\/wp-json\/wp\/v2\/comments?post=15220"}],"version-history":[{"count":14,"href":"https:\/\/www.pingcap.com\/ko\/wp-json\/wp\/v2\/posts\/15220\/revisions"}],"predecessor-version":[{"id":16494,"href":"https:\/\/www.pingcap.com\/ko\/wp-json\/wp\/v2\/posts\/15220\/revisions\/16494"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.pingcap.com\/ko\/wp-json\/wp\/v2\/media\/15232"}],"wp:attachment":[{"href":"https:\/\/www.pingcap.com\/ko\/wp-json\/wp\/v2\/media?parent=15220"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.pingcap.com\/ko\/wp-json\/wp\/v2\/categories?post=15220"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.pingcap.com\/ko\/wp-json\/wp\/v2\/tags?post=15220"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}