{"id":1295,"date":"2023-03-21T15:09:24","date_gmt":"2023-03-21T07:09:24","guid":{"rendered":"http:\/\/qssjx.com\/?p=1295"},"modified":"2023-03-21T15:09:24","modified_gmt":"2023-03-21T07:09:24","slug":"chatgpt-%e4%b8%b2%e6%8e%a5-firebase%ef%bc%8c%e5%af%a6%e7%8f%be%e4%b8%8a%e4%b8%8b%e6%96%87%e6%ad%b7%e5%8f%b2%e7%b4%80%e9%8c%84","status":"publish","type":"post","link":"https:\/\/qssjx.com\/?p=1295","title":{"rendered":"ChatGPT \u4e32\u63a5 Firebase\uff0c\u5be6\u73fe\u4e0a\u4e0b\u6587\u6b77\u53f2\u7d00\u9304"},"content":{"rendered":"<h2 id=\"a1\">\u5efa\u7acb\u8207\u8a2d\u5b9a Firebase Realtime database<\/h2>\n<p>\u53c3\u8003\u300c<a title=\"\u5efa\u7acb Firebase RealTime Database\" href=\"https:\/\/steam.oxxostudio.tw\/category\/python\/example\/firebase-1.html\" target=\"_blank\" rel=\"noopener\" rel=\"nofollow\" >\u5efa\u7acb Firebase RealTime Database<\/a>\u300d\u6559\u5b78\uff0c\u5efa\u7acb\u4e00\u500b Firebase Realtime database\u3002<\/p>\n<p><img decoding=\"async\" class=\"b1\" src=\"https:\/\/steam.oxxostudio.tw\/webp\/python\/example\/openai-firebase-01.webp\" alt=\"Python \u6559\u5b78 - ChatGPT \u4e32\u63a5 Firebase\uff0c\u5be6\u73fe\u4e0a\u4e0b\u6587\u6b77\u53f2\u7d00\u9304 - \u5efa\u7acb Firebase RealTime Database\" \/><\/p>\n<p>\u53c3\u8003\u300c<a title=\"\u8a2d\u5b9a Firebase RealTime Database \u5b89\u5168\u898f\u5247\" href=\"https:\/\/steam.oxxostudio.tw\/category\/python\/example\/firebase-2.html\" target=\"_blank\" rel=\"noopener\" rel=\"nofollow\" >\u8a2d\u5b9a Firebase RealTime Database \u5b89\u5168\u898f\u5247<\/a>\u300d\u6559\u5b78\uff0c\u5c07\u8b80\u53d6\u548c\u5beb\u5165\u7684\u898f\u5247\u90fd\u8a2d\u70ba true\u3002<\/p>\n<p><img decoding=\"async\" class=\"b1\" src=\"https:\/\/steam.oxxostudio.tw\/webp\/python\/example\/openai-firebase-02.webp\" alt=\"Python \u6559\u5b78 - ChatGPT \u4e32\u63a5 Firebase\uff0c\u5be6\u73fe\u4e0a\u4e0b\u6587\u6b77\u53f2\u7d00\u9304 - \u5c07\u8b80\u53d6\u548c\u5beb\u5165\u7684\u898f\u5247\u90fd\u8a2d\u70ba true\" \/><\/p>\n<p>\u53c3\u8003\u300c<a title=\"\u4e32\u63a5 Firebase RealTime Database \u5b58\u53d6\u8cc7\u6599\" href=\"https:\/\/steam.oxxostudio.tw\/category\/python\/example\/firebase-3.html\" target=\"_blank\" rel=\"noopener\" rel=\"nofollow\" >\u4e32\u63a5 Firebase RealTime Database \u5b58\u53d6\u8cc7\u6599<\/a>\u300d\u6559\u5b78\uff0c\u5b89\u88dd Python \u7684 firebase \u51fd\u5f0f\u5eab\u3002<\/p>\n<pre class=\"prettyprint\">&lt;code class=&quot;language-py hljs python&quot;&gt;pip install git+https:\/\/github.com\/ozgur\/python-firebase\r\n&lt;\/code&gt;<\/pre>\n<h2 id=\"a2\">ChatGPT \u4f7f\u7528 text-davinci-003 \u6a21\u578b<\/h2>\n<p>\u53c3\u8003\u300c<a title=\"ChatCPT \u4e32\u9023\u4e0a\u4e0b\u6587\u8a9e\u53e5\" href=\"https:\/\/steam.oxxostudio.tw\/category\/python\/example\/openai.html#a5\" target=\"_blank\" rel=\"noopener\" rel=\"nofollow\" >ChatCPT \u4e32\u9023\u4e0a\u4e0b\u6587\u8a9e\u53e5<\/a>\u300d\u6559\u5b78\u4e2d\u7684 text-davinci-003 \u6a21\u578b\u7bc4\u4f8b\uff0c\u52a0\u5165 Firebase Realtime database \u5132\u5b58\u5c0d\u8a71\u7d00\u9304\uff0c\u5982\u6b64\u4e00\u4f86\u5c31\u80fd\u5728\u518d\u6b21\u958b\u555f\u6642\uff0c\u8a18\u5f97\u4e0a\u4e00\u6b21\u6240\u8b1b\u7684\u5c0d\u8a71\u3002<\/p>\n<pre class=\"prettyprint\">&lt;code class=&quot;language-py hljs python&quot;&gt;&lt;span class=&quot;hljs-keyword&quot;&gt;import&lt;\/span&gt; openai\r\nopenai.api_key = &lt;span class=&quot;hljs-string&quot;&gt;&#039;\u4f60\u7684 API Key&#039;&lt;\/span&gt;\r\n\r\n&lt;span class=&quot;hljs-keyword&quot;&gt;from&lt;\/span&gt; firebase &lt;span class=&quot;hljs-keyword&quot;&gt;import&lt;\/span&gt; firebase\r\nurl = &lt;span class=&quot;hljs-string&quot;&gt;&#039;https:\/\/XXXXXXXXX.firebaseio.com&#039;&lt;\/span&gt;\r\nfdb = firebase.FirebaseApplication(url, &lt;span class=&quot;hljs-literal&quot;&gt;None&lt;\/span&gt;)    &lt;span class=&quot;hljs-comment&quot;&gt;# \u521d\u59cb\u5316 Firebase Realtime database&lt;\/span&gt;\r\nchatgpt = fdb.get(&lt;span class=&quot;hljs-string&quot;&gt;&#039;\/&#039;&lt;\/span&gt;,&lt;span class=&quot;hljs-string&quot;&gt;&#039;chatgpt&#039;&lt;\/span&gt;)                 &lt;span class=&quot;hljs-comment&quot;&gt;# \u53d6\u7684 chatgpt \u7bc0\u9ede\u7684\u8cc7\u6599&lt;\/span&gt;\r\n\r\n&lt;span class=&quot;hljs-keyword&quot;&gt;if&lt;\/span&gt; chatgpt == &lt;span class=&quot;hljs-literal&quot;&gt;None&lt;\/span&gt;:\r\n    messages = &lt;span class=&quot;hljs-string&quot;&gt;&#039;&#039;&lt;\/span&gt;        &lt;span class=&quot;hljs-comment&quot;&gt;# \u5982\u679c\u7bc0\u9ede\u6c92\u6709\u8cc7\u6599\uff0c\u8a0a\u606f\u5167\u5bb9\u8a2d\u5b9a\u70ba\u7a7a&lt;\/span&gt;\r\n&lt;span class=&quot;hljs-keyword&quot;&gt;else&lt;\/span&gt;:\r\n    messages = chatgpt   &lt;span class=&quot;hljs-comment&quot;&gt;# \u5982\u679c\u7bc0\u9ede\u6709\u8cc7\u6599\uff0c\u4f7f\u7528\u8a72\u8cc7\u6599\u4f5c\u70ba\u6b77\u53f2\u804a\u5929\u8a18\u9304&lt;\/span&gt;\r\n\r\n&lt;span class=&quot;hljs-keyword&quot;&gt;while&lt;\/span&gt; &lt;span class=&quot;hljs-literal&quot;&gt;True&lt;\/span&gt;:\r\n    msg = input(&lt;span class=&quot;hljs-string&quot;&gt;&#039;me &gt; &#039;&lt;\/span&gt;)\r\n    &lt;span class=&quot;hljs-keyword&quot;&gt;if&lt;\/span&gt; msg == &lt;span class=&quot;hljs-string&quot;&gt;&#039;!reset&#039;&lt;\/span&gt;:\r\n        message = &lt;span class=&quot;hljs-string&quot;&gt;&#039;&#039;&lt;\/span&gt;\r\n        fdb.delete(&lt;span class=&quot;hljs-string&quot;&gt;&#039;\/&#039;&lt;\/span&gt;,&lt;span class=&quot;hljs-string&quot;&gt;&#039;chatgpt&#039;&lt;\/span&gt;)         &lt;span class=&quot;hljs-comment&quot;&gt;# \u5982\u679c\u8f38\u5165 !reset \u5c31\u6e05\u7a7a\u6b77\u53f2\u7d00\u9304&lt;\/span&gt;\r\n        print(&lt;span class=&quot;hljs-string&quot;&gt;&#039;ai &gt; \u5c0d\u8a71\u6b77\u53f2\u7d00\u9304\u5df2\u7d93\u6e05\u7a7a\uff01&#039;&lt;\/span&gt;)\r\n    &lt;span class=&quot;hljs-keyword&quot;&gt;else&lt;\/span&gt;:\r\n        messages = &lt;span class=&quot;hljs-string&quot;&gt;f&#039;&lt;span class=&quot;hljs-subst&quot;&gt;{messages}&lt;\/span&gt;&lt;span class=&quot;hljs-subst&quot;&gt;{msg}&lt;\/span&gt;\\n&#039;&lt;\/span&gt;   &lt;span class=&quot;hljs-comment&quot;&gt;# \u5728\u8f38\u5165\u7684\u8a0a\u606f\u524d\u65b9\u52a0\u4e0a\u6b77\u53f2\u7d00\u9304&lt;\/span&gt;\r\n        response = openai.Completion.create(\r\n            model=&lt;span class=&quot;hljs-string&quot;&gt;&#039;text-davinci-003&#039;&lt;\/span&gt;,\r\n            prompt=messages,\r\n            max_tokens=&lt;span class=&quot;hljs-number&quot;&gt;128&lt;\/span&gt;,\r\n            temperature=&lt;span class=&quot;hljs-number&quot;&gt;0.5&lt;\/span&gt;\r\n        )\r\n\r\n        ai_msg = response[&lt;span class=&quot;hljs-string&quot;&gt;&#039;choices&#039;&lt;\/span&gt;][&lt;span class=&quot;hljs-number&quot;&gt;0&lt;\/span&gt;][&lt;span class=&quot;hljs-string&quot;&gt;&#039;text&#039;&lt;\/span&gt;].replace(&lt;span class=&quot;hljs-string&quot;&gt;&#039;\\n&#039;&lt;\/span&gt;,&lt;span class=&quot;hljs-string&quot;&gt;&#039;&#039;&lt;\/span&gt;)  &lt;span class=&quot;hljs-comment&quot;&gt;# \u53d6\u5f97 ChatGPT \u7684\u56de\u61c9&lt;\/span&gt;\r\n        print(&lt;span class=&quot;hljs-string&quot;&gt;&#039;ai &gt; &#039;&lt;\/span&gt;+ai_msg)\r\n        messages = &lt;span class=&quot;hljs-string&quot;&gt;f&#039;&lt;span class=&quot;hljs-subst&quot;&gt;{messages}&lt;\/span&gt;\\n&lt;span class=&quot;hljs-subst&quot;&gt;{ai_msg}&lt;\/span&gt;\\n\\n&#039;&lt;\/span&gt;   &lt;span class=&quot;hljs-comment&quot;&gt;# \u5728\u8a0a\u606f\u4e2d\u52a0\u5165 ChatGPT \u7684\u56de\u61c9&lt;\/span&gt;\r\n        fdb.put(&lt;span class=&quot;hljs-string&quot;&gt;&#039;\/&#039;&lt;\/span&gt;,&lt;span class=&quot;hljs-string&quot;&gt;&#039;chatgpt&#039;&lt;\/span&gt;,messages)          &lt;span class=&quot;hljs-comment&quot;&gt;# \u66f4\u65b0\u8cc7\u6599\u5eab\u8cc7\u6599&lt;\/span&gt;\r\n&lt;\/code&gt;<\/pre>\n<p>\u57f7\u884c\u7a0b\u5f0f\u5f8c\uff0c\u5c31\u7b97\u91cd\u65b0\u555f\u52d5\u7a0b\u5f0f\uff0cChatGPT \u4e5f\u6703\u8a18\u5f97\u904e\u53bb\u7684\u804a\u5929\u5167\u5bb9 ( \u4f8b\u5982\u8aaa\u9084\u8a18\u5f97\u540d\u5b57 )<\/p>\n<p><img decoding=\"async\" class=\"b1\" src=\"https:\/\/steam.oxxostudio.tw\/webp\/python\/example\/openai-firebase-03.webp\" alt=\"Python \u6559\u5b78 - ChatGPT \u4e32\u63a5 Firebase\uff0c\u5be6\u73fe\u4e0a\u4e0b\u6587\u6b77\u53f2\u7d00\u9304 - \u4f7f\u7528 text-davinci-003 \u6a21\u578b\" \/><\/p>\n<p>\u9032\u5165 Firebase Realtime database \u4e5f\u80fd\u770b\u5230\u6b77\u53f2\u7d00\u9304\u7684\u8cc7\u6599\u3002<\/p>\n<p><img decoding=\"async\" class=\"b1\" src=\"https:\/\/steam.oxxostudio.tw\/webp\/python\/example\/openai-firebase-04.webp\" alt=\"Python \u6559\u5b78 - ChatGPT \u4e32\u63a5 Firebase\uff0c\u5be6\u73fe\u4e0a\u4e0b\u6587\u6b77\u53f2\u7d00\u9304 - \u770b\u5230\u6b77\u53f2\u7d00\u9304\u7684\u8cc7\u6599\" \/><\/p>\n<h2 id=\"a2\">ChatGPT \u4f7f\u7528 gpt-3.5-turbo \u6a21\u578b<\/h2>\n<p>\u53c3\u8003\u300c<a title=\"ChatCPT \u4e32\u9023\u4e0a\u4e0b\u6587\u8a9e\u53e5\" href=\"https:\/\/steam.oxxostudio.tw\/category\/python\/example\/openai.html#a5\" target=\"_blank\" rel=\"noopener\" rel=\"nofollow\" >ChatCPT \u4e32\u9023\u4e0a\u4e0b\u6587\u8a9e\u53e5<\/a>\u300d\u6559\u5b78\u4e2d\u7684 gpt-3.5-turbo3 \u6a21\u578b\u7bc4\u4f8b\uff0c\u52a0\u5165 Firebase Realtime database \u5132\u5b58\u5c0d\u8a71\u7d00\u9304\uff0c\u5982\u6b64\u4e00\u4f86\u5c31\u80fd\u5728\u518d\u6b21\u958b\u555f\u6642\uff0c\u8a18\u5f97\u4e0a\u4e00\u6b21\u6240\u8b1b\u7684\u5c0d\u8a71\u3002<\/p>\n<pre class=\"prettyprint\">&lt;code class=&quot;language-py hljs python&quot;&gt;&lt;span class=&quot;hljs-keyword&quot;&gt;import&lt;\/span&gt; openai\r\nopenai.api_key = &lt;span class=&quot;hljs-string&quot;&gt;&#039;\u4f60\u7684 API Key&#039;&lt;\/span&gt;\r\n\r\n&lt;span class=&quot;hljs-keyword&quot;&gt;from&lt;\/span&gt; firebase &lt;span class=&quot;hljs-keyword&quot;&gt;import&lt;\/span&gt; firebase\r\nurl = &lt;span class=&quot;hljs-string&quot;&gt;&#039;https:\/\/XXXXXXXXXXX.firebaseio.com&#039;&lt;\/span&gt;\r\nfdb = firebase.FirebaseApplication(url, &lt;span class=&quot;hljs-literal&quot;&gt;None&lt;\/span&gt;)   &lt;span class=&quot;hljs-comment&quot;&gt;# \u521d\u59cb\u5316 Firebase Realtimr database&lt;\/span&gt;\r\nchatgpt = fdb.get(&lt;span class=&quot;hljs-string&quot;&gt;&#039;\/&#039;&lt;\/span&gt;,&lt;span class=&quot;hljs-string&quot;&gt;&#039;chatgpt&#039;&lt;\/span&gt;)                &lt;span class=&quot;hljs-comment&quot;&gt;# \u8b80\u53d6 chatgpt \u7bc0\u9ede\u4e2d\u6240\u6709\u7684\u8cc7\u6599&lt;\/span&gt;\r\n\r\n&lt;span class=&quot;hljs-keyword&quot;&gt;if&lt;\/span&gt; chatgpt == &lt;span class=&quot;hljs-literal&quot;&gt;None&lt;\/span&gt;:\r\n    messages = []        &lt;span class=&quot;hljs-comment&quot;&gt;# \u5982\u679c\u6c92\u6709\u8cc7\u6599\uff0c\u9810\u8a2d\u8a0a\u606f\u70ba\u7a7a\u4e32\u5217&lt;\/span&gt;\r\n&lt;span class=&quot;hljs-keyword&quot;&gt;else&lt;\/span&gt;:\r\n    messages = chatgpt   &lt;span class=&quot;hljs-comment&quot;&gt;# \u5982\u679c\u6709\u8cc7\u6599\uff0c\u8a0a\u606f\u8a2d\u5b9a\u70ba\u8a72\u8cc7\u6599&lt;\/span&gt;\r\n\r\n&lt;span class=&quot;hljs-keyword&quot;&gt;while&lt;\/span&gt; &lt;span class=&quot;hljs-literal&quot;&gt;True&lt;\/span&gt;:\r\n    msg = input(&lt;span class=&quot;hljs-string&quot;&gt;&#039;me &gt; &#039;&lt;\/span&gt;)\r\n    &lt;span class=&quot;hljs-keyword&quot;&gt;if&lt;\/span&gt; msg == &lt;span class=&quot;hljs-string&quot;&gt;&#039;!reset&#039;&lt;\/span&gt;:\r\n        fdb.delete(&lt;span class=&quot;hljs-string&quot;&gt;&#039;\/&#039;&lt;\/span&gt;,&lt;span class=&quot;hljs-string&quot;&gt;&#039;chatgpt&#039;&lt;\/span&gt;)   &lt;span class=&quot;hljs-comment&quot;&gt;# \u5982\u679c\u8f38\u5165 !reset \u5c31\u6e05\u7a7a chatgpt \u7684\u7bc0\u9ede\u5167\u5bb9&lt;\/span&gt;\r\n        messages = []\r\n        print(&lt;span class=&quot;hljs-string&quot;&gt;&#039;ai &gt; \u5c0d\u8a71\u6b77\u53f2\u7d00\u9304\u5df2\u7d93\u6e05\u7a7a\uff01&#039;&lt;\/span&gt;)\r\n    &lt;span class=&quot;hljs-keyword&quot;&gt;else&lt;\/span&gt;:\r\n        messages.append({&lt;span class=&quot;hljs-string&quot;&gt;&quot;role&quot;&lt;\/span&gt;:&lt;span class=&quot;hljs-string&quot;&gt;&quot;user&quot;&lt;\/span&gt;,&lt;span class=&quot;hljs-string&quot;&gt;&quot;content&quot;&lt;\/span&gt;:msg})  &lt;span class=&quot;hljs-comment&quot;&gt;# \u5c07\u8f38\u5165\u7684\u8a0a\u606f\u52a0\u5165\u6b77\u53f2\u7d00\u9304\u7684\u4e32\u5217\u4e2d&lt;\/span&gt;\r\n        response = openai.ChatCompletion.create(\r\n            model=&lt;span class=&quot;hljs-string&quot;&gt;&quot;gpt-3.5-turbo&quot;&lt;\/span&gt;,\r\n            max_tokens=&lt;span class=&quot;hljs-number&quot;&gt;128&lt;\/span&gt;,\r\n            temperature=&lt;span class=&quot;hljs-number&quot;&gt;0.5&lt;\/span&gt;,\r\n            messages=messages\r\n        )\r\n        ai_msg = response.choices[&lt;span class=&quot;hljs-number&quot;&gt;0&lt;\/span&gt;].message.content.replace(&lt;span class=&quot;hljs-string&quot;&gt;&#039;\\n&#039;&lt;\/span&gt;,&lt;span class=&quot;hljs-string&quot;&gt;&#039;&#039;&lt;\/span&gt;)  &lt;span class=&quot;hljs-comment&quot;&gt;# \u53d6\u5f97\u56de\u61c9\u8a0a\u606f&lt;\/span&gt;\r\n        messages.append({&lt;span class=&quot;hljs-string&quot;&gt;&quot;role&quot;&lt;\/span&gt;:&lt;span class=&quot;hljs-string&quot;&gt;&quot;assistant&quot;&lt;\/span&gt;,&lt;span class=&quot;hljs-string&quot;&gt;&quot;content&quot;&lt;\/span&gt;:ai_msg})  &lt;span class=&quot;hljs-comment&quot;&gt;# \u5c07\u56de\u61c9\u8a0a\u606f\u52a0\u5165\u6b77\u53f2\u7d00\u9304\u4e32\u5217\u4e2d&lt;\/span&gt;\r\n        fdb.put(&lt;span class=&quot;hljs-string&quot;&gt;&#039;\/&#039;&lt;\/span&gt;,&lt;span class=&quot;hljs-string&quot;&gt;&#039;chatgpt&#039;&lt;\/span&gt;,messages)   &lt;span class=&quot;hljs-comment&quot;&gt;# \u66f4\u65b0 chatgpt \u7bc0\u9ede\u5167\u5bb9&lt;\/span&gt;\r\n        print(&lt;span class=&quot;hljs-string&quot;&gt;f&#039;ai &gt; &lt;span class=&quot;hljs-subst&quot;&gt;{ai_msg}&lt;\/span&gt;&#039;&lt;\/span&gt;)\r\n&lt;\/code&gt;<\/pre>\n<p>\u57f7\u884c\u7a0b\u5f0f\u5f8c\uff0c\u5c31\u7b97\u91cd\u65b0\u555f\u52d5\u7a0b\u5f0f\uff0cChatGPT \u4e5f\u6703\u8a18\u5f97\u904e\u53bb\u7684\u804a\u5929\u5167\u5bb9 ( \u4f8b\u5982\u8aaa\u9084\u8a18\u5f97\u540d\u5b57 )<\/p>\n<p><img decoding=\"async\" class=\"b1\" src=\"https:\/\/steam.oxxostudio.tw\/webp\/python\/example\/openai-firebase-05.webp\" alt=\"Python \u6559\u5b78 - ChatGPT \u4e32\u63a5 Firebase\uff0c\u5be6\u73fe\u4e0a\u4e0b\u6587\u6b77\u53f2\u7d00\u9304 - \u4f7f\u7528 pt-3.5-turbo \u6a21\u578b\" \/><\/p>\n<p>\u9032\u5165 Firebase Realtime database \u4e5f\u80fd\u770b\u5230\u6b77\u53f2\u7d00\u9304\u7684\u8cc7\u6599\u3002<\/p>\n<p><img decoding=\"async\" class=\"b1\" src=\"https:\/\/steam.oxxostudio.tw\/webp\/python\/example\/openai-firebase-06.webp\" alt=\"Python \u6559\u5b78 - ChatGPT \u4e32\u63a5 Firebase\uff0c\u5be6\u73fe\u4e0a\u4e0b\u6587\u6b77\u53f2\u7d00\u9304 - pt-3.5-turbo \u770b\u5230\u6b77\u53f2\u7d00\u9304\u7684\u8cc7\u6599\" \/><\/p>\n<h2 id=\"end\">\u5c0f\u7d50<\/h2>\n<p>\u900f\u904e Firebase Realtime database\uff0c\u5c31\u80fd\u975e\u5e38\u65b9\u4fbf\u5feb\u901f\u5730\u5132\u5b58 ChatGPT \u7684\u804a\u5929\u8a18\u9304\uff0c\u4e26\u8b93 ChatGPT \u80fd\u5920\u5206\u8fa8\u4e0a\u4e0b\u6587\uff0c\u662f\u76f8\u7576\u4e0d\u932f\u7684\u529f\u80fd\uff01\u4f46\u4ecd\u7136\u8981\u6ce8\u610f\u7684\u662f\uff0c\u56de\u50b3\u6b77\u53f2\u7d00\u9304\u6703\u9020\u6210 ChatGPT \u7684 token \u6578\u91cf\u66b4\u589e\uff0c\u4e00\u4f46\u8d85\u904e\u514d\u8cbb\u984d\u5ea6\u5c31\u8981\u958b\u59cb\u6536\u8cbb\u56c9\u3002<\/p>\n<p>&nbsp;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>\u5efa\u7acb\u8207\u8a2d\u5b9a Firebase Realtime database \u53c3\u8003\u300c\u5efa\u7acb Firebase RealTim [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[39,3],"tags":[55,56],"_links":{"self":[{"href":"https:\/\/qssjx.com\/index.php?rest_route=\/wp\/v2\/posts\/1295"}],"collection":[{"href":"https:\/\/qssjx.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/qssjx.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/qssjx.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/qssjx.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=1295"}],"version-history":[{"count":1,"href":"https:\/\/qssjx.com\/index.php?rest_route=\/wp\/v2\/posts\/1295\/revisions"}],"predecessor-version":[{"id":1296,"href":"https:\/\/qssjx.com\/index.php?rest_route=\/wp\/v2\/posts\/1295\/revisions\/1296"}],"wp:attachment":[{"href":"https:\/\/qssjx.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=1295"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/qssjx.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=1295"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/qssjx.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=1295"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}