{"id":23403,"date":"2024-12-10T09:48:01","date_gmt":"2024-12-10T01:48:01","guid":{"rendered":"https:\/\/aif.amtbbs.org\/?p=23403"},"modified":"2024-12-10T09:48:01","modified_gmt":"2024-12-10T01:48:01","slug":"%e7%94%a8%e6%9c%89%e9%99%90%e7%9a%84%e9%a2%84%e7%ae%97%e6%9e%84%e5%bb%baai%e5%ba%94%e7%94%a8%e7%a8%8b%e5%ba%8f","status":"publish","type":"post","link":"https:\/\/aif.amtbbs.org\/index.php\/2024\/12\/10\/23403\/","title":{"rendered":"\u7528\u6709\u9650\u7684\u9884\u7b97\u6784\u5efaAI\u5e94\u7528\u7a0b\u5e8f"},"content":{"rendered":"<p><img data-dominant-color=\"1174a7\" data-has-transparency=\"false\" style=\"--dominant-color: #1174a7;\" loading=\"lazy\" decoding=\"async\" class=\"not-transparent alignnone size-full wp-image-23405\" src=\"https:\/\/aiforumimage.oss-cn-shanghai.aliyuncs.com\/wp-content\/uploads\/2024\/12\/bb3146b4-f557-4380-95f3-3e38d1ad46d0-300x167-1.png\" width=\"300\" height=\"167\" alt=\"\" srcset=\"https:\/\/aiforumimage.oss-cn-shanghai.aliyuncs.com\/wp-content\/uploads\/2024\/12\/bb3146b4-f557-4380-95f3-3e38d1ad46d0-300x167-1.png 300w, https:\/\/aiforumimage.oss-cn-shanghai.aliyuncs.com\/wp-content\/uploads\/2024\/12\/bb3146b4-f557-4380-95f3-3e38d1ad46d0-300x167-1-150x84.png 150w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/p>\n<p style=\"font-weight: 400;\">\u672c\u6559\u7a0b\u7684\u5185\u5bb9\u6280\u672f\u6027\u4e0d\u662f\u5f88\u5f3a\uff1b\u4e3a\u4e86\u5145\u5206\u5229\u7528AI\uff0c\u4f60\u8981\u6709Python\u7f16\u7a0b\u548cWeb\u5f00\u53d1\u65b9\u9762\u7684\u77e5\u8bc6\u3002\u672c\u6559\u7a0b\u4e2d\u7684\u4ee3\u7801\u7247\u6bb5\u4f7f\u7528Python\u3001JavaScript\u3001HTML5\u548cCSS3\u6765\u7f16\u5199\u3002<\/p>\n<p>&nbsp;<\/p>\n<p>\u4eba\u5de5\u667a\u80fd\uff08AI\uff09\u5df2\u7ecf\u6210\u4e3a\u73b0\u4ee3\u8f6f\u4ef6\u5e94\u7528\u7a0b\u5e8f\u4e0d\u53ef\u6216\u7f3a\u7684\u4e00\u90e8\u5206\uff0c\u56e0\u4e3a\u5b83\u53ef\u4ee5\u4e3a\u4f20\u7edf\u5e94\u7528\u7a0b\u5e8f\u6dfb\u52a0\u66f4\u5f3a\u5927\u7684\u529f\u80fd\u3002\u672c\u6559\u7a0b\u5c06\u6307\u5bfc\u4f60\u4f7f\u7528\u4e00\u79cd\u7b80\u5355\u7684\u65b9\u6cd5\u6765\u6784\u5efaAI\u5e94\u7528\u7a0b\u5e8f\u3002<\/p>\n<p>\u4eba\u5de5\u667a\u80fd\uff08AI\uff09\u5df2\u7ecf\u6210\u4e3a\u73b0\u4ee3\u8f6f\u4ef6\u5e94\u7528\u7a0b\u5e8f\u4e0d\u53ef\u6216\u7f3a\u7684\u4e00\u90e8\u5206\uff0c\u56e0\u4e3a\u5b83\u53ef\u4ee5\u4e3a\u4f20\u7edf\u5e94\u7528\u7a0b\u5e8f\u6dfb\u52a0\u524d\u6240\u672a\u6709\u7684\u66f4\u5f3a\u5927\u529f\u80fd\uff0c\u6bd4\u5982\u8bed\u97f3\u8bc6\u522b\u3001\u56fe\u50cf\u68c0\u6d4b\/\u5206\u7c7b\u4ee5\u53ca\u81ea\u7136\u8bed\u8a00\u5904\u7406\uff08NLP\uff09\u7b49\u7b49\u3002<\/p>\n<p>\u4f17\u6240\u5468\u77e5\uff0cAI\u5e94\u7528\u7a0b\u5e8f\u7a33\u5065\u53ef\u9760\u4e14\u66f4\u667a\u80fd\u3002\u8bb8\u591a\u5927\u516c\u53f8\u5df2\u7ecf\u5728\u5176\u5e94\u7528\u7a0b\u5e8f\u7684\u6838\u5fc3\u91c7\u7528\u4e86AI\uff0c\u968f\u7740AI\u4e0d\u65ad\u8fdb\u6b65\uff0c\u8d8a\u6765\u8d8a\u591a\u7684\u516c\u53f8\u4f1a\u7ee7\u7eed\u91c7\u7528\u8fd9\u9879\u6280\u672f\uff0c\u5b83\u4eec\u8ba4\u4e3a\u6709\u5fc5\u8981\u8fd0\u7528AI\u4ee5\u6ee1\u8db3\u7279\u5b9a\u7684\u4e1a\u52a1\u9700\u6c42\u3002<\/p>\n<p>\u4f60\u4e5f\u53ef\u4ee5\u6784\u5efa\u4e00\u4e2aAI\u5e94\u7528\u7a0b\u5e8f\uff0c\u5b83\u6ca1\u5fc5\u8981\u975e\u5f97\u50cfNetflix\u6216Instagram\u90a3\u4e48\u5e9e\u5927\uff0c\u81f3\u5c11\u73b0\u5728\u5c31\u53ef\u4ee5\u6784\u5efa\u4e86\u3002<\/p>\n<h4>\u5148\u51b3\u6761\u4ef6<\/h4>\n<p>\u672c\u6559\u7a0b\u7684\u5185\u5bb9\u6280\u672f\u6027\u4e0d\u662f\u5f88\u5f3a\uff1b\u4e3a\u4e86\u5145\u5206\u5229\u7528AI\uff0c\u4f60\u8981\u6709Python\u7f16\u7a0b\u548cWeb\u5f00\u53d1\u65b9\u9762\u7684\u77e5\u8bc6\u3002\u672c\u6559\u7a0b\u4e2d\u7684\u4ee3\u7801\u7247\u6bb5\u4f7f\u7528Python\u3001JavaScript\u3001HTML5\u548cCSS3\u6765\u7f16\u5199\u3002<\/p>\n<h4>\u76ee\u6807<\/h4>\n<p>\u901a\u8fc7\u672c\u6559\u7a0b\uff0c\u4f60\u5e94\u8be5\u80fd\u591f\uff1a<\/p>\n<ul data-id=\"u738a58b-aBGEH6HV\">\n<li data-id=\"ld70c578-8J4kNSZ9\">\u4e86\u89e3AI\u5e94\u7528\u7a0b\u5e8f\u4ee5\u53ca\u5b83\u4eec\u4e0e\u4f20\u7edf\u8f6f\u4ef6\u5e94\u7528\u7a0b\u5e8f\u7684\u4e0d\u540c\u4e4b\u5904\u3002<\/li>\n<li data-id=\"ld70c578-Vf3El669\">\u81ea\u884c\u6784\u5efa\u4e00\u4e2a\u57fa\u672c\u7684AI\u5e94\u7528\u7a0b\u5e8f\u3002<\/li>\n<li data-id=\"ld70c578-JiMMj6AO\">AI\u5e94\u7528\u7a0b\u5e8f\u76f8\u5bf9\u4f20\u7edf\u975eAI\u5e94\u7528\u7a0b\u5e8f\u5177\u6709\u7684\u91cd\u8981\u6027\u3002<\/li>\n<\/ul>\n<h4>\u4ec0\u4e48\u662fAI\u5e94\u7528\u7a0b\u5e8f\uff1f<\/h4>\n<p>AI\u5e94\u7528\u7a0b\u5e8f\u662f\u6307\u90e8\u5206\u6216\u5b8c\u5168\u4f7f\u7528AI\u6765\u89e3\u51b3\u901a\u5e38\u9700\u8981\u4eba\u7c7b\u667a\u80fd\u7684\u4efb\u52a1\u7684\u8f6f\u4ef6\uff0c\u6bd4\u5982\u4e92\u8054\u7f51\u5e94\u7528\u7a0b\u5e8f\u3001\u79fb\u52a8\u5e94\u7528\u7a0b\u5e8f\u6216\u4efb\u4f55\u5176\u4ed6\u5e73\u53f0\u5e94\u7528\u7a0b\u5e8f\u3002<\/p>\n<p>\u76ee\u524d\u6709\u8bb8\u591aAI\u5e94\u7528\u7a0b\u5e8f\u5728\u8fd0\u884c\uff0c\u5176\u4e2d\u8bb8\u591a\u6211\u4eec\u6bcf\u5929\u90fd\u5728\u4f7f\u7528\uff0c\u53ea\u4e0d\u8fc7\u6ca1\u6709\u610f\u8bc6\u5230\u7f62\u4e86\u3002Instagram\u3001Facebook\u3001WhatsApp\u3001Netflix\u3001Google\u3001ChatGPT\u548cClaudeAi\u7b49\u90fd\u662f\u4ee5\u67d0\u79cd\u65b9\u5f0f\u4f7f\u7528AI\u7684\u6d41\u884cAI\u5e94\u7528\u7a0b\u5e8f\u3002<\/p>\n<p>\u8fd9\u4e9b\u5e94\u7528\u7a0b\u5e8f\u7684AI\u7ec4\u4ef6\u4ece\u6570\u636e\u96c6\u5b66\u4e60\uff0c\u4ece\u4e2d\u5b83\u4eec\u53ef\u4ee5\u7406\u89e3\u6a21\u5f0f\u548c\u590d\u6742\u6027\uff0c\u5e76\u5229\u7528\u8fd9\u4e9b\u4fe1\u606f\u6765\u89e3\u51b3\u5206\u6d3e\u7ed9\u5b83\u4eec\u7684\u4efb\u52a1\u3002\u6bd4\u5982\u8bf4\uff0c\u8c37\u6b4c\u641c\u7d22\u5f15\u64ce\u5229\u7528LLM\uff08\u5927\u8bed\u8a00\u6a21\u578b\uff09\u6765\u6267\u884c\u6587\u672c\u81ea\u52a8\u8865\u5168\u548c\u8bed\u4e49\u641c\u7d22\uff0c\u800c\u4e0d\u4ec5\u4ec5\u662f\u5bf9\u5206\u6d3e\u7ed9\u5b83\u7684\u67e5\u8be2\u8fdb\u884c\u5173\u952e\u5b57\u641c\u7d22\uff1b\u8fd9\u4f7f\u5b83\u80fd\u591f\u68c0\u7d22\u4e0e\u7528\u6237\u60f3\u8981\u641c\u7d22\u7684\u5185\u5bb9\u5c5e\u4e8e\u76f8\u540c\u4e0a\u4e0b\u6587\u6216\u610f\u4e49\u6700\u63a5\u8fd1\u7684\u7ed3\u679c\uff0c\u5373\u4f7f\u7528\u6237\u4f7f\u7528\u4e0d\u540c\u7684\u5173\u952e\u5b57\u6765\u8f93\u5165\u641c\u7d22\u63d0\u793a\u3002<\/p>\n<p>\u6b64\u5916\uff0c\u8c37\u6b4cLens\u5229\u7528\u8ba1\u7b97\u673a\u89c6\u89c9\u7684\u5f3a\u5927\u529f\u80fd\u8fdb\u884c\u56fe\u50cf\u641c\u7d22\uff0c\u56e0\u4e3a\u5b83\u5df2\u7ecf\u4f7f\u7528\u542b\u6709\u56fe\u50cf\u7684\u5e9e\u5927\u6570\u636e\u96c6\u8fdb\u884c\u4e86\u8bad\u7ec3\uff1b\u5b83\u80fd\u591f\u5bf9\u56fe\u50cf\u8fdb\u884c\u5206\u7c7b\uff0c\u53ef\u4ee5\u544a\u8bc9\u4f60\u56fe\u50cf\u662f\u4ec0\u4e48\u3002Instagram\u5229\u7528AI\u4f5c\u4e3a\u63a8\u8350\u7b97\u6cd5\u7684\u4e00\u90e8\u5206\uff0c\u501f\u52a9\u4e00\u79cd\u540d\u4e3a\u975e\u76d1\u7763\u673a\u5668\u5b66\u4e60\u7684\u65b9\u6cd5\uff0c\u5411\u7528\u6237\u5c55\u793a\u7b26\u5408\u4ed6\u4eec\u504f\u597d\u7684\u9488\u5bf9\u6027\u5e7f\u544a\u548c\u5e16\u5b50\u3002\u8fd9\u4e9b\u662fAI\u5e94\u7528\u7a0b\u5e8f\u4e2d\u5b9e\u65bdAI\u7684\u51e0\u4e2a\u4f8b\u5b50\u3002<\/p>\n<h4>AI\u5e94\u7528\u7a0b\u5e8f\u4e0e\u975eAI\u5e94\u7528\u7a0b\u5e8f\u4e4b\u95f4\u7684\u5dee\u5f02<\/h4>\n<p>AI\u5e94\u7528\u7a0b\u5e8f\u4e0e\u975eAI\u5e94\u7528\u7a0b\u5e8f\u7684\u4e3b\u8981\u533a\u522b\u5728\u4e8e\u5b83\u4eec\u5982\u4f55\u5904\u7406\u6570\u636e\u3001\u505a\u51fa\u51b3\u7b56\u4ee5\u53ca\u9010\u6e10\u9002\u5e94\u3002<\/p>\n<ul data-id=\"u738a58b-dR3P72PO\">\n<li data-id=\"ld70c578-7AITfZ9A\">AI\u5e94\u7528\u7a0b\u5e8f\u53ef\u4ee5\u57fa\u4e8e\u6982\u7387\u6a21\u578b\u505a\u51fa\u51b3\u7b56\uff0c\u901a\u5e38\u4f7f\u7528\u673a\u5668\u5b66\u4e60\u3001\u81ea\u7136\u8bed\u8a00\u5904\u7406\u6216\u8ba1\u7b97\u673a\u89c6\u89c9\u7b49\u6280\u672f\u3002\u6bd4\u5982\u8bf4\uff0cAI\u5e94\u7528\u7a0b\u5e8f\u4e2d\u7684\u63a8\u8350\u7cfb\u7edf\u53ef\u4ee5\u6839\u636e\u7528\u6237\u8fc7\u53bb\u7684\u884c\u4e3a\u63a8\u8350\u5546\u54c1\u3002\u4e0e\u6b64\u540c\u65f6\uff0c\u975eAI\u5e94\u7528\u7a0b\u5e8f\u4f9d\u8d56\u4e00\u7ec4\u56fa\u5b9a\u7684\u6307\u4ee4\u6765\u6267\u884c\u4efb\u52a1\u3002\u5b83\u4eec\u7684\u51b3\u5b9a\u662f\u9884\u5148\u786e\u5b9a\u7684\uff0c\u5982\u679c\u4e0d\u53e6\u5916\u7f16\u7a0b\uff0c\u5b83\u4eec\u4e0d\u4f1a\u8003\u8651\u65b0\u7684\u6570\u636e\u6216\u7528\u6237\u7279\u5b9a\u7684\u7ec6\u5fae\u5dee\u522b\u3002<\/li>\n<li data-id=\"ld70c578-HngGOdjN\">AI\u5e94\u7528\u7a0b\u5e8f\u4f7f\u7528\u9884\u5b9a\u4e49\u7684\u7b97\u6cd5\u4ece\u6570\u636e\u96c6\u5b66\u4e60\uff0c\u5b83\u4eec\u53ef\u4ee5\u5728\u6ca1\u6709\u660e\u786e\u7f16\u7a0b\u7684\u60c5\u51b5\u4e0b\u51ed\u501f\u7b97\u6cd5\u505a\u51fa\u51b3\u5b9a\u3002\u7136\u800c\uff0c\u975eAI\u5e94\u7528\u7a0b\u5e8f\u9075\u5faa\u4e00\u5957\u786c\u7f16\u7801\u7684\u7f16\u7a0b\u89c4\u5219\u201cif-else\u201d\uff0c\u9762\u5bf9\u5f02\u5e38\u5b83\u4eec\u65e0\u6cd5\u505a\u51fa\u51b3\u5b9a\u3002<\/li>\n<li data-id=\"ld70c578-90E3hEhY\">AI\u5e94\u7528\u7a0b\u5e8f\u53ef\u4ee5\u5f88\u5bb9\u6613\u9002\u5e94\u65b0\u60c5\u51b5\uff0c\u8bc6\u522b\u65b0\u6a21\u5f0f\u5e76\u63d0\u4f9b\u76f8\u5173\u53cd\u9988\u3002\u4e0e\u6b64\u540c\u65f6\uff0c\u975eAI\u5e94\u7528\u7a0b\u5e8f\u6ca1\u6709\u90a3\u4e48\u7075\u6d3b\uff0c\u5b83\u4eec\u53ea\u80fd\u5904\u7406\u7ed3\u6784\u548c\u53ef\u9884\u6d4b\u7684\u60c5\u51b5\u3002<\/li>\n<\/ul>\n<h4>\u4e0d\u540c\u7c7b\u578b\u7684AI\u5e94\u7528\u7a0b\u5e8f<\/h4>\n<p>\u89c6\u7528\u4f8b\u548c\u5e94\u7528\u7a0b\u5e8f\u6240\u8981\u89e3\u51b3\u7684\u95ee\u9898\u800c\u5b9a\uff0c\u6709\u8bb8\u591a\u65b9\u6cd5\u53ef\u4ee5\u4f7f\u7528AI\u6765\u6784\u5efa\u667a\u80fd\u5e94\u7528\u7a0b\u5e8f\u3002\u4ee5\u4e0b\u662f\u5b9e\u65bdAI\u5e94\u7528\u7a0b\u5e8f\u7684\u51e0\u79cd\u5e38\u89c1\u65b9\u5f0f\u3002<\/p>\n<ol>\n<li><strong> \u81ea\u7136\u8bed\u8a00\u5904\u7406\uff1a<\/strong>\u8fd9\u7c7b\u5e94\u7528\u7a0b\u5e8f\u53ef\u4ee5\u7406\u89e3\u4f60\u5728\u8bf4\u4ec0\u4e48\u6216\u8f93\u5165\u4ec0\u4e48\uff0c\u6bd4\u5982Siri\u6216Alexa\u3002\u5b83\u4eec\u9002\u7528\u4e8e\u8bed\u97f3\u547d\u4ee4\u548c\u804a\u5929\u673a\u5668\u4eba\uff0c\u53ef\u4ee5\u56de\u7b54\u95ee\u9898\u6216\u5e2e\u52a9\u5ba2\u6237\u652f\u6301\u3002<\/li>\n<li><strong> \u8ba1\u7b97\u673a\u89c6\u89c9\uff1a<\/strong>\u60f3\u60f3\u90a3\u4e9b\u4e3a\u4f60\u201c\u770b\u89c1\u201d\u7684\u5e94\u7528\u7a0b\u5e8f\uff0c\u6bd4\u5982\u4f60\u7684\u624b\u673a\u8bc6\u522b\u4eba\u8138\u4ee5\u89e3\u9501\uff0c\u6216\u8005\u8c37\u6b4cPhotos\u5e2e\u4f60\u6574\u7406\u7167\u7247\u3002\u8fd9\u4e9bAI\u5e94\u7528\u7a0b\u5e8f\u7528\u4e8e\u4ece\u793e\u4ea4\u5a92\u4f53\u5230\u5b89\u5168\u7cfb\u7edf\u7684\u5404\u4e2a\u9886\u57df\u3002<\/li>\n<li><strong> \u63a8\u8350\u7cfb\u7edf\uff1a<\/strong>\u8fd9\u662f\u4f60\u7684Netflix\u63a8\u8350\u6216Spotify\u64ad\u653e\u5217\u8868\u80cc\u540e\u7684\u5f15\u64ce\u3002\u5b83\u4eec\u6839\u636e\u4f60\u8fc7\u53bb\u7684\u9009\u62e9\u6765\u786e\u5b9a\u4f60\u53ef\u80fd\u559c\u6b22\u4ec0\u4e48\uff0c\u53ef\u4ee5\u4e3a\u4f60\u63d0\u4f9b\u4e2a\u6027\u5316\u7684\u4f53\u9a8c\u3002<\/li>\n<li><strong> \u81ea\u52a8\u4efb\u52a1\u5e94\u7528\u7a0b\u5e8f\uff1a<\/strong>\u5982\u679c\u4f60\u4f7f\u7528\u8fc7\u804a\u5929\u673a\u5668\u4eba\u6765\u56de\u7b54\u5e38\u89c1\u95ee\u9898\uff0c\u6216\u8005\u4f7f\u7528\u8fc7\u626b\u63cf\u548c\u7ec4\u7ec7\u6587\u6863\u7684\u5de5\u5177\uff0c\u8868\u660e\u4f60\u63a5\u89e6\u8fc7\u8fd9\u79cd\u7c7b\u578b\u7684AI\u3002\u5b83\u975e\u5e38\u9002\u5408\u5728\u6ca1\u6709\u4eba\u5e72\u9884\u7684\u60c5\u51b5\u4e0b\u5904\u7406\u91cd\u590d\u6027\u4efb\u52a1\u3002<\/li>\n<li><strong> \u521b\u610f\u7c7bAI\u5e94\u7528\u7a0b\u5e8f\uff1a<\/strong>AI\u5177\u6709\u60ca\u4eba\u7684\u521b\u610f\uff01\u8fd9\u7c7b\u5e94\u7528\u7a0b\u5e8f\u53ef\u4ee5\u5236\u4f5c\u827a\u672f\u3001\u7f16\u5199\u6545\u4e8b\uff0c\u751a\u81f3\u6839\u636e\u4f60\u7684\u8f93\u5165\u751f\u6210\u4e2a\u6027\u5316\u8bbe\u8ba1\uff0c\u6bd4\u5982AI\u827a\u672f\u751f\u6210\u5668\u6216\u6587\u672c\u7f16\u5199\u5de5\u5177\u3002<\/li>\n<li><strong> \u81ea\u52a8\u9a7e\u9a76\u548c\u81ea\u4e3b\u7cfb\u7edf\uff1a<\/strong>\u60f3\u60f3\u81ea\u52a8\u9a7e\u9a76\u6c7d\u8f66\u3001\u673a\u5668\u4eba\u5438\u5c18\u5668\u6216\u72ec\u7acb\u64cd\u4f5c\u7684\u65e0\u4eba\u673a\u3002\u5b83\u4eec\u90fd\u662f\u5728\u6ca1\u6709\u6301\u7eed\u6307\u5bfc\u7684\u60c5\u51b5\u4e0b\u5229\u7528AI\u6765\u5904\u7406\u590d\u6742\u4efb\u52a1\u3002<\/li>\n<\/ol>\n<h4>\u5feb\u901f\u6784\u5efa\u81ea\u5df1\u7684AI\u5e94\u7528\u7a0b\u5e8f<\/h4>\n<p>\u5982\u4e0a\u6240\u8ff0\uff0c\u53ef\u4ee5\u901a\u8fc7\u591a\u79cd\u65b9\u5f0f\u5229\u7528AI\u4ee5\u6784\u5efa\u4e00\u4e2a\u667a\u80fd\u5e94\u7528\u7a0b\u5e8f\uff0c\u4f46\u5c31\u672c\u6559\u7a0b\u800c\u8a00\uff0c\u6211\u4eec\u5c06\u575a\u6301\u4f7f\u7528\u7b80\u7ea6\u7684\u65b9\u6cd5\u6765\u6784\u5efa\u4e00\u4e2aLLM\u652f\u6301\u7684AI\u804a\u5929\u673a\u5668\u4eba\u3002<\/p>\n<h4>\u8fc7\u7a0b\uff1a<\/h4>\n<p>\u9009\u62e9\u4e00\u4e2a\u9752\u7750\u7684\u516c\u5f00\u53ef\u7528\u7684\u9884\u8bad\u7ec3LLM\uff0c\u5176API\u5bc6\u94a5\u5c06\u7528\u4e8e\u8bbf\u95ee\u5176API\u3002\u5728\u672c\u6587\u4e2d\uff0c\u6211\u4eec\u4f7f\u7528OpenAI\u7684GPT-4\u3002<\/p>\n<p>\u5728\u684c\u9762\u4e0a\u521b\u5efa\u4e00\u4e2a\u540d\u4e3a\u201cAI_APP\u201d\u7684\u6587\u4ef6\u5939\uff0c\u5b89\u88c5VSCode\uff0c\u8fdb\u5165\u5230\u8be5\u6587\u4ef6\u5939\u3002\u5047\u8bbe\u4f60\u5df2\u7ecf\u4e0b\u8f7d\u5e76\u5b89\u88c5\u4e86Python\uff1b\u5982\u679c\u6ca1\u6709\uff0c\u90a3\u4e48\u5728\u8fdb\u5165\u4e0b\u4e00\u6b65\u4e4b\u524d\u5148\u5b8c\u6210\u8fd9\u4e00\u6b65\u3002<\/p>\n<p>\u521b\u5efa\u4e00\u4e2a\u865a\u62df\u73af\u5883\u3002\u5982\u679c\u4f60\u4f7f\u7528Linux OS\uff08\u64cd\u4f5c\u7cfb\u7edf\uff09\uff0c\u8bf7\u5728\u547d\u4ee4\u63d0\u793a\u7b26\u4e2d\u8fd0\u884c\u8fd9\u4e9b\u547d\u4ee4\uff0c\u4ee5\u521b\u5efa\u548c\u6fc0\u6d3b\u865a\u62df\u73af\u5883\u3002<\/p>\n<p>\u590d\u5236<\/p>\n<p>python3 -m venv myvenv source myvenv\/bin\/activate<\/p>\n<ul>\n<li>1.<\/li>\n<li>2.<\/li>\n<\/ul>\n<p>\u5982\u679c\u4f60\u4f7f\u7528Windows\u64cd\u4f5c\u7cfb\u7edf\uff0c\u5219\u8fd0\u884c\u8fd9\u4e9b\u547d\u4ee4\uff1a<\/p>\n<p>\u590d\u5236<\/p>\n<p>python -m venv myenv myenv\\Scripts\\activate<\/p>\n<ul>\n<li>1.<\/li>\n<li>2.<\/li>\n<\/ul>\n<p>\u5b89\u88c5\u9879\u76ee\u6240\u9700\u7684\u4f9d\u8d56\u9879\uff08Flask, requests\uff09\u3002<\/p>\n<p>\u590d\u5236<\/p>\n<p>pip install flask requests<\/p>\n<ul>\n<li>1.<\/li>\n<\/ul>\n<p>\u8bbe\u7f6e\u5e94\u7528\u7a0b\u5e8f\u7ed3\u6784\uff1a<\/p>\n<p>\u590d\u5236<\/p>\n<p>AI_APP\/ \u251c\u2500\u2500 app.py # where your application instance and logic will be \u251c\u2500\u2500 templates\/ \u2514\u2500\u2500 index.html # html template to display the front end of your app \u2514\u2500\u2500 static\/ \u2514\u2500\u2500 style.css # for styling your front-end\/templates<\/p>\n<ul>\n<li>1.<\/li>\n<li>2.<\/li>\n<li>3.<\/li>\n<li>4.<\/li>\n<li>5.<\/li>\n<\/ul>\n<p>\u5728VSCode\u4e2d\u8bbe\u7f6e\u597d\u5e94\u7528\u7a0b\u5e8f\u7ed3\u6784\u540e\uff0c\u4f60\u5c31\u53ef\u4ee5\u7acb\u5373\u5f00\u59cb\u7f16\u5199\u5e94\u7528\u7a0b\u5e8f\u4e86\u3002<\/p>\n<p>\u5728app.py\u6587\u4ef6\u4e2d\uff0c\u4e3aFlask\u5e94\u7528\u7a0b\u5e8f\u521b\u5efa\u5b9e\u4f8b\uff0c\u521b\u5efa\u8def\u7531\uff0c\u63a5\u6536\u4ece\u524d\u7aef\u4f20\u9012\u7684\u63d0\u793a\u6d88\u606f\uff0c\u5e76\u4f7f\u7528\u2018requests\u2019\u5e93\u5411OpenAI API\u53d1\u9001\u2018POST\u2019\u8bf7\u6c42\u3002\u7136\u540e\u63a5\u6536\u6587\u672c\u54cd\u5e94\uff0c\u5904\u7406\u5b83\uff0c\u5e76\u5c06\u5176\u4f20\u9012\u7ed9\u524d\u7aef\uff0c\u5982\u4e0b\u9762\u7684\u4ee3\u7801\u7247\u6bb5\u6240\u793a\uff1a<\/p>\n<p>\u590d\u5236<\/p>\n<p>from flask import Flask, render_template, request, jsonify import requests import os app = Flask(__name__) # Load your API key securely (consider using environment variables) OPENAI_API_KEY = os.getenv(&#8220;OPENAI_API_KEY&#8221;) # Set this in your environment or replace it with the actual key. @app.route(&#8220;\/&#8221;) def home(): return render_template(&#8220;index.html&#8221;) @app.route(&#8220;\/ask_question&#8221;, methods=[&#8220;POST&#8221;]) def ask(): user_message = request.json[&#8220;message&#8221;] # Call GPT-4 API with the user&#8217;s message response = openai_call(user_message) return jsonify({&#8220;response&#8221;: response}) def openai_call(message): headers = { &#8220;Authorization&#8221;: f&#8221;Bearer {OPENAI_API_KEY}&#8221;, &#8220;Content-Type&#8221;: &#8220;application\/JSON&#8221;, } data = { &#8220;model&#8221;: &#8220;gpt-4&#8221;, &#8220;messages&#8221;: [{&#8220;role&#8221;: &#8220;user&#8221;, &#8220;content&#8221;: message}], } # Make the request to OpenAI API response = requests.post(&#8220;https:\/\/api.openai.com\/v1\/chat\/completions&#8221;, headers=headers, json=data) if response.status_code == 200: return response.json()[&#8220;choices&#8221;][0][&#8220;message&#8221;][&#8220;content&#8221;] else: return &#8220;Error: Could not reach the OpenAI API&#8221; if __name__ == &#8220;__main__&#8221;: app.run(debug=True)<\/p>\n<ul>\n<li>1.<\/li>\n<li>2.<\/li>\n<li>3.<\/li>\n<li>4.<\/li>\n<li>5.<\/li>\n<li>6.<\/li>\n<li>7.<\/li>\n<li>8.<\/li>\n<li>9.<\/li>\n<li>10.<\/li>\n<li>11.<\/li>\n<li>12.<\/li>\n<li>13.<\/li>\n<li>14.<\/li>\n<li>15.<\/li>\n<li>16.<\/li>\n<li>17.<\/li>\n<li>18.<\/li>\n<li>19.<\/li>\n<li>20.<\/li>\n<li>21.<\/li>\n<li>22.<\/li>\n<li>23.<\/li>\n<li>24.<\/li>\n<li>25.<\/li>\n<li>26.<\/li>\n<li>27.<\/li>\n<li>28.<\/li>\n<li>29.<\/li>\n<li>30.<\/li>\n<li>31.<\/li>\n<li>32.<\/li>\n<li>33.<\/li>\n<li>34.<\/li>\n<li>35.<\/li>\n<li>36.<\/li>\n<li>37.<\/li>\n<li>38.<\/li>\n<li>39.<\/li>\n<li>40.<\/li>\n<li>41.<\/li>\n<\/ul>\n<p>\u5728index.html\u6587\u4ef6\u4e2d\uff0c\u7f16\u5199\u4e0b\u9762\u7684\u4ee3\u7801\u4ee5\u521b\u5efa\u7528\u6237\u53ef\u4ee5\u4e0e\u4e4b\u4ea4\u4e92\u7684\u57fa\u7840\u524d\u7aef\u3002\u63d0\u793a\u6d88\u606f\u7531\u7528\u6237\u8f93\u5165\uff0c\u901a\u8fc7Javascript\u8f6c\u6362\u6210JSON\uff0c\u6700\u540e\u53d1\u9001\u5230\u540e\u7aef\u8fdb\u884c\u8fdb\u4e00\u6b65\u5904\u7406\uff0c\u5982\u4e0a\u9762\u7684\u4ee3\u7801\u7247\u6bb5\u6240\u793a\u3002\u4e0b\u9762\u662fAI\u5e94\u7528\u7a0b\u5e8f\u7684\u57fa\u672c\u524d\u7aef\u5b9e\u73b0\u3002<\/p>\n<p>\u590d\u5236<\/p>\n<p>&lt;!DOCTYPE html&gt; &lt;html lang=&#8221;en&#8221;&gt; &lt;head&gt; &lt;meta charset=&#8221;UTF-8&#8243;&gt; &lt;meta name=&#8221;viewport&#8221; content=&#8221;width=device-width, initial-scale=1.0&#8243;&gt; &lt;title&gt;AI Chatbot&lt;\/title&gt; &lt;link rel=&#8221;stylesheet&#8221; href=&#8221;{{%20url_for(&#8216;static&#8217;,%20filename=&#8217;style.css&#8217;)%20}}&#8221;&gt; &lt;\/head&gt; &lt;body&gt; &lt;div class=&#8221;chat-container&#8221;&gt; &lt;div id=&#8221;chat-box&#8221;&gt;&lt;\/div&gt; &lt;input type=&#8221;text&#8221; id=&#8221;user-input&#8221; placeholder=&#8221;Please type your message here&#8230;&#8221; \/&gt; &lt;button onclick=&#8221;sendMessage()&#8221;&gt;Send&lt;\/button&gt; &lt;\/div&gt; &lt;script&gt; function addMessage(content, isUser) { const chatBox = document.getElementById(&#8220;chat-box&#8221;); const messageDiv = document.createElement(&#8220;div&#8221;); messageDiv.className = isUser ? &#8220;user-message&#8221; : &#8220;bot-message&#8221;; messageDiv.textContent = content; chatBox.appendChild(messageDiv); chatBox.scrollTop = chatBox.scrollHeight; } async function sendMessage() { const userInput = document.getElementById(&#8220;user-input&#8221;).value; addMessage(userInput, true); \/\/ Send user input to the server const response = await fetch(&#8220;\/ask&#8221;, { method: &#8220;POST&#8221;, headers: { &#8220;Content-Type&#8221;: &#8220;application\/json&#8221; }, body: JSON.stringify({ message: userInput }) }); const data = await response.json(); addMessage(data.response, false); document.getElementById(&#8220;user-input&#8221;).value = &#8220;&#8221;; } &lt;\/script&gt; &lt;\/body&gt; &lt;\/html&gt;<\/p>\n<ul>\n<li>1.<\/li>\n<li>2.<\/li>\n<li>3.<\/li>\n<li>4.<\/li>\n<li>5.<\/li>\n<li>6.<\/li>\n<li>7.<\/li>\n<li>8.<\/li>\n<li>9.<\/li>\n<li>10.<\/li>\n<li>11.<\/li>\n<li>12.<\/li>\n<li>13.<\/li>\n<li>14.<\/li>\n<li>15.<\/li>\n<li>16.<\/li>\n<li>17.<\/li>\n<li>18.<\/li>\n<li>19.<\/li>\n<li>20.<\/li>\n<li>21.<\/li>\n<li>22.<\/li>\n<li>23.<\/li>\n<li>24.<\/li>\n<li>25.<\/li>\n<li>26.<\/li>\n<li>27.<\/li>\n<li>28.<\/li>\n<li>29.<\/li>\n<li>30.<\/li>\n<li>31.<\/li>\n<li>32.<\/li>\n<li>33.<\/li>\n<li>34.<\/li>\n<li>35.<\/li>\n<li>36.<\/li>\n<li>37.<\/li>\n<li>38.<\/li>\n<li>39.<\/li>\n<li>40.<\/li>\n<li>41.<\/li>\n<li>42.<\/li>\n<li>43.<\/li>\n<\/ul>\n<p>\u4e0d\u59a8\u521b\u5efa\u5e94\u7528\u7a0b\u5e8f\u524d\u7aef\u7684\u6837\u5f0f\u3002\u5c06\u4e0b\u5217\u4ee3\u7801\u7247\u6bb5\u6dfb\u52a0\u5230\u4f60\u7684style.css\u6587\u4ef6\u3002<\/p>\n<p>\u590d\u5236<\/p>\n<p>body { font-family: Arial, sans-serif; display: flex; justify-content: center; align-items: center; height: 100vh; margin: 0; background-color: #f0f0f0; } .chat-container { width: 400px; height: 500px; display: flex; flex-direction: column; border: 2px solid #ddd; border-radius: 8px; background-color: #fff; overflow: hidden; } #chat-box { flex: 1; padding: 10px; overflow-y: auto; } .user-message { text-align: right; padding: 8px; margin: 4px; background-color: #a6e1fa; border-radius: 8px; } .bot-message { text-align: left; padding: 8px; margin: 4px; background-color: #e0e0e0; border-radius: 8px; } input[type=&#8221;text&#8221;] { width: calc(100% &#8211; 60px); padding: 10px; border: none; outline: none; } button { padding: 10px; width: 60px; border: none; background-color: #007BFF; color: white; font-weight: bold; cursor: pointer; }<\/p>\n<ul>\n<li>1.<\/li>\n<li>2.<\/li>\n<li>3.<\/li>\n<li>4.<\/li>\n<li>5.<\/li>\n<li>6.<\/li>\n<li>7.<\/li>\n<li>8.<\/li>\n<li>9.<\/li>\n<li>10.<\/li>\n<li>11.<\/li>\n<li>12.<\/li>\n<li>13.<\/li>\n<li>14.<\/li>\n<li>15.<\/li>\n<li>16.<\/li>\n<li>17.<\/li>\n<li>18.<\/li>\n<li>19.<\/li>\n<li>20.<\/li>\n<li>21.<\/li>\n<li>22.<\/li>\n<li>23.<\/li>\n<li>24.<\/li>\n<li>25.<\/li>\n<li>26.<\/li>\n<li>27.<\/li>\n<li>28.<\/li>\n<li>29.<\/li>\n<li>30.<\/li>\n<li>31.<\/li>\n<li>32.<\/li>\n<li>33.<\/li>\n<li>34.<\/li>\n<li>35.<\/li>\n<li>36.<\/li>\n<li>37.<\/li>\n<li>38.<\/li>\n<li>39.<\/li>\n<li>40.<\/li>\n<li>41.<\/li>\n<li>42.<\/li>\n<li>43.<\/li>\n<li>44.<\/li>\n<li>45.<\/li>\n<li>46.<\/li>\n<li>47.<\/li>\n<li>48.<\/li>\n<li>49.<\/li>\n<li>50.<\/li>\n<li>51.<\/li>\n<li>52.<\/li>\n<li>53.<\/li>\n<li>54.<\/li>\n<li>55.<\/li>\n<li>56.<\/li>\n<li>57.<\/li>\n<li>58.<\/li>\n<li>59.<\/li>\n<\/ul>\n<p>\u597d\u4e86\uff0c\u73b0\u5728\u4f60\u5df2\u6709\u4e86\u4e00\u4e2a\u57fa\u7840\u7684\u57fa\u4e8eAI\u7684\u804a\u5929\u673a\u5668\u4eba\u4e86\u3002<\/p>\n<h4>\u7ed3\u8bba<\/h4>\n<p>AI\u6b63\u5728\u5f7b\u5e95\u6539\u53d8\u73b0\u4ee3\u5e94\u7528\u7a0b\u5e8f\u7684\u529f\u80fd\uff0c\u5982\u679c\u8fd0\u7528\u5f97\u5f53\uff0c\u53ef\u4ee5\u63d0\u5347\u6027\u80fd\u548c\u7528\u6237\u4f53\u9a8c\u3002\u5982\u679c\u4f60\u5df2\u7ecf\u786e\u5b9a\u4e86\u7528\u4f8b\uff0c\u90a3\u4e48\u6784\u5efaAI\u5e94\u7528\u7a0b\u5e8f\u53ef\u80fd\u662f\u4e00\u9879\u6709\u56de\u62a5\u7684\u6295\u5165\u3002\u5b9e\u9645\u60c5\u51b5\u4e5f\u8bb8\u6bd4\u672c\u6559\u7a0b\u4e2d\u6f14\u793a\u7684\u590d\u6742\u4e00\u70b9\u6216\u590d\u6742\u5f97\u591a\uff0c\u5b83\u53ef\u80fd\u662f\u4e00\u4e2a\u5783\u573e\u90ae\u4ef6\u68c0\u6d4b\u3001\u6b3a\u8bc8\u68c0\u6d4b\u3001\u63a8\u8350\u7cfb\u7edf\u751a\u81f3\u56fe\u50cf\u5206\u7c7b\u5e94\u7528\u7a0b\u5e8f\u3002<\/p>\n<p>\u6587\u7ae0\u6765\u81ea\uff1a51CTO<\/p>\n<p>&nbsp;<\/p>\n<div class=\"pvc_clear\"><\/div>\n<p id=\"pvc_stats_23403\" class=\"pvc_stats total_only  \" data-element-id=\"23403\" style=\"\"><i class=\"pvc-stats-icon medium\" aria-hidden=\"true\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" version=\"1.0\" viewBox=\"0 0 502 315\" preserveAspectRatio=\"xMidYMid meet\"><g transform=\"translate(0,332) scale(0.1,-0.1)\" fill=\"\" stroke=\"none\"><path d=\"M2394 3279 l-29 -30 -3 -207 c-2 -182 0 -211 15 -242 39 -76 157 -76 196 0 15 31 17 60 15 243 l-3 209 -33 29 c-26 23 -41 29 -80 29 -41 0 -53 -5 -78 -31z\"\/><path d=\"M3085 3251 c-45 -19 -58 -50 -96 -229 -47 -217 -49 -260 -13 -295 52 -53 146 -42 177 20 16 31 87 366 87 410 0 70 -86 122 -155 94z\"\/><path d=\"M1751 3234 c-13 -9 -29 -31 -37 -50 -12 -29 -10 -49 21 -204 19 -94 39 -189 45 -210 14 -50 54 -80 110 -80 34 0 48 6 76 34 21 21 34 44 34 59 0 14 -18 113 -40 219 -37 178 -43 195 -70 221 -36 32 -101 37 -139 11z\"\/><path d=\"M1163 3073 c-36 -7 -73 -59 -73 -102 0 -56 133 -378 171 -413 34 -32 83 -37 129 -13 70 36 67 87 -16 290 -86 209 -89 214 -129 231 -35 14 -42 15 -82 7z\"\/><path d=\"M3689 3066 c-15 -9 -33 -30 -42 -48 -48 -103 -147 -355 -147 -375 0 -98 131 -148 192 -74 13 15 57 108 97 206 80 196 84 226 37 273 -30 30 -99 39 -137 18z\"\/><path d=\"M583 2784 c-38 -19 -67 -74 -58 -113 9 -42 211 -354 242 -373 16 -10 45 -18 66 -18 51 0 107 52 107 100 0 39 -1 41 -124 234 -80 126 -108 162 -133 173 -41 17 -61 16 -100 -3z\"\/><path d=\"M4250 2784 c-14 -9 -74 -91 -133 -183 -95 -150 -107 -173 -107 -213 0 -55 33 -94 87 -104 67 -13 90 8 211 198 130 202 137 225 78 284 -27 27 -42 34 -72 34 -22 0 -50 -8 -64 -16z\"\/><path d=\"M2275 2693 c-553 -48 -1095 -270 -1585 -649 -135 -104 -459 -423 -483 -476 -23 -49 -22 -139 2 -186 73 -142 361 -457 571 -626 285 -228 642 -407 990 -497 242 -63 336 -73 660 -74 310 0 370 5 595 52 535 111 1045 392 1455 803 122 121 250 273 275 326 19 41 19 137 0 174 -41 79 -309 363 -465 492 -447 370 -946 591 -1479 653 -113 14 -422 18 -536 8z m395 -428 c171 -34 330 -124 456 -258 112 -119 167 -219 211 -378 27 -96 24 -300 -5 -401 -72 -255 -236 -447 -474 -557 -132 -62 -201 -76 -368 -76 -167 0 -236 14 -368 76 -213 98 -373 271 -451 485 -162 444 86 934 547 1084 153 49 292 57 452 25z m909 -232 c222 -123 408 -262 593 -441 76 -74 138 -139 138 -144 0 -16 -233 -242 -330 -319 -155 -123 -309 -223 -461 -299 l-81 -41 32 46 c18 26 49 83 70 128 143 306 141 649 -6 957 -25 52 -61 116 -79 142 l-34 47 45 -20 c26 -10 76 -36 113 -56z m-2057 25 c-40 -58 -105 -190 -130 -263 -110 -324 -59 -707 132 -981 25 -35 42 -64 37 -64 -19 0 -241 119 -326 174 -188 122 -406 314 -532 468 l-58 71 108 103 c185 178 428 349 672 473 66 33 121 60 123 61 2 0 -10 -19 -26 -42z\"\/><path d=\"M2375 1950 c-198 -44 -350 -190 -395 -379 -18 -76 -8 -221 19 -290 114 -284 457 -406 731 -260 98 52 188 154 231 260 27 69 37 214 19 290 -38 163 -166 304 -326 360 -67 23 -215 33 -279 19z\"\/><\/g><\/svg><\/i> <img loading=\"lazy\" decoding=\"async\" width=\"16\" height=\"16\" alt=\"Loading\" src=\"https:\/\/aif.amtbbs.org\/wp-content\/plugins\/page-views-count\/ajax-loader-2x.gif\" border=0 \/><\/p>\n<div class=\"pvc_clear\"><\/div>\n","protected":false},"excerpt":{"rendered":"<p>\u672c\u6559\u7a0b\u7684\u5185\u5bb9\u6280\u672f\u6027\u4e0d\u662f\u5f88\u5f3a\uff1b\u4e3a\u4e86\u5145\u5206\u5229\u7528AI\uff0c\u4f60\u8981\u6709Python\u7f16\u7a0b\u548cWeb\u5f00\u53d1\u65b9\u9762\u7684\u77e5\u8bc6\u3002\u672c\u6559\u7a0b\u4e2d\u7684\u4ee3\u7801\u7247\u6bb5 [&hellip;]<\/p>\n<div class=\"pvc_clear\"><\/div>\n<p id=\"pvc_stats_23403\" class=\"pvc_stats total_only  \" data-element-id=\"23403\" style=\"\"><i class=\"pvc-stats-icon medium\" aria-hidden=\"true\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" version=\"1.0\" viewBox=\"0 0 502 315\" preserveAspectRatio=\"xMidYMid meet\"><g transform=\"translate(0,332) scale(0.1,-0.1)\" fill=\"\" stroke=\"none\"><path d=\"M2394 3279 l-29 -30 -3 -207 c-2 -182 0 -211 15 -242 39 -76 157 -76 196 0 15 31 17 60 15 243 l-3 209 -33 29 c-26 23 -41 29 -80 29 -41 0 -53 -5 -78 -31z\"\/><path d=\"M3085 3251 c-45 -19 -58 -50 -96 -229 -47 -217 -49 -260 -13 -295 52 -53 146 -42 177 20 16 31 87 366 87 410 0 70 -86 122 -155 94z\"\/><path d=\"M1751 3234 c-13 -9 -29 -31 -37 -50 -12 -29 -10 -49 21 -204 19 -94 39 -189 45 -210 14 -50 54 -80 110 -80 34 0 48 6 76 34 21 21 34 44 34 59 0 14 -18 113 -40 219 -37 178 -43 195 -70 221 -36 32 -101 37 -139 11z\"\/><path d=\"M1163 3073 c-36 -7 -73 -59 -73 -102 0 -56 133 -378 171 -413 34 -32 83 -37 129 -13 70 36 67 87 -16 290 -86 209 -89 214 -129 231 -35 14 -42 15 -82 7z\"\/><path d=\"M3689 3066 c-15 -9 -33 -30 -42 -48 -48 -103 -147 -355 -147 -375 0 -98 131 -148 192 -74 13 15 57 108 97 206 80 196 84 226 37 273 -30 30 -99 39 -137 18z\"\/><path d=\"M583 2784 c-38 -19 -67 -74 -58 -113 9 -42 211 -354 242 -373 16 -10 45 -18 66 -18 51 0 107 52 107 100 0 39 -1 41 -124 234 -80 126 -108 162 -133 173 -41 17 -61 16 -100 -3z\"\/><path d=\"M4250 2784 c-14 -9 -74 -91 -133 -183 -95 -150 -107 -173 -107 -213 0 -55 33 -94 87 -104 67 -13 90 8 211 198 130 202 137 225 78 284 -27 27 -42 34 -72 34 -22 0 -50 -8 -64 -16z\"\/><path d=\"M2275 2693 c-553 -48 -1095 -270 -1585 -649 -135 -104 -459 -423 -483 -476 -23 -49 -22 -139 2 -186 73 -142 361 -457 571 -626 285 -228 642 -407 990 -497 242 -63 336 -73 660 -74 310 0 370 5 595 52 535 111 1045 392 1455 803 122 121 250 273 275 326 19 41 19 137 0 174 -41 79 -309 363 -465 492 -447 370 -946 591 -1479 653 -113 14 -422 18 -536 8z m395 -428 c171 -34 330 -124 456 -258 112 -119 167 -219 211 -378 27 -96 24 -300 -5 -401 -72 -255 -236 -447 -474 -557 -132 -62 -201 -76 -368 -76 -167 0 -236 14 -368 76 -213 98 -373 271 -451 485 -162 444 86 934 547 1084 153 49 292 57 452 25z m909 -232 c222 -123 408 -262 593 -441 76 -74 138 -139 138 -144 0 -16 -233 -242 -330 -319 -155 -123 -309 -223 -461 -299 l-81 -41 32 46 c18 26 49 83 70 128 143 306 141 649 -6 957 -25 52 -61 116 -79 142 l-34 47 45 -20 c26 -10 76 -36 113 -56z m-2057 25 c-40 -58 -105 -190 -130 -263 -110 -324 -59 -707 132 -981 25 -35 42 -64 37 -64 -19 0 -241 119 -326 174 -188 122 -406 314 -532 468 l-58 71 108 103 c185 178 428 349 672 473 66 33 121 60 123 61 2 0 -10 -19 -26 -42z\"\/><path d=\"M2375 1950 c-198 -44 -350 -190 -395 -379 -18 -76 -8 -221 19 -290 114 -284 457 -406 731 -260 98 52 188 154 231 260 27 69 37 214 19 290 -38 163 -166 304 -326 360 -67 23 -215 33 -279 19z\"\/><\/g><\/svg><\/i> <img loading=\"lazy\" decoding=\"async\" width=\"16\" height=\"16\" alt=\"Loading\" src=\"https:\/\/aif.amtbbs.org\/wp-content\/plugins\/page-views-count\/ajax-loader-2x.gif\" border=0 \/><\/p>\n<div class=\"pvc_clear\"><\/div>\n","protected":false},"author":56,"featured_media":23405,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[3,23,20,80,315],"tags":[124,113,1392],"class_list":["post-23403","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-ai","category-23","category-20","category-80","category-315","tag-ai","tag-113","tag-1392"],"_links":{"self":[{"href":"https:\/\/aif.amtbbs.org\/index.php\/wp-json\/wp\/v2\/posts\/23403","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/aif.amtbbs.org\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/aif.amtbbs.org\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/aif.amtbbs.org\/index.php\/wp-json\/wp\/v2\/users\/56"}],"replies":[{"embeddable":true,"href":"https:\/\/aif.amtbbs.org\/index.php\/wp-json\/wp\/v2\/comments?post=23403"}],"version-history":[{"count":1,"href":"https:\/\/aif.amtbbs.org\/index.php\/wp-json\/wp\/v2\/posts\/23403\/revisions"}],"predecessor-version":[{"id":23406,"href":"https:\/\/aif.amtbbs.org\/index.php\/wp-json\/wp\/v2\/posts\/23403\/revisions\/23406"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/aif.amtbbs.org\/index.php\/wp-json\/wp\/v2\/media\/23405"}],"wp:attachment":[{"href":"https:\/\/aif.amtbbs.org\/index.php\/wp-json\/wp\/v2\/media?parent=23403"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/aif.amtbbs.org\/index.php\/wp-json\/wp\/v2\/categories?post=23403"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/aif.amtbbs.org\/index.php\/wp-json\/wp\/v2\/tags?post=23403"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}