{"id":21158,"date":"2024-08-30T19:30:22","date_gmt":"2024-08-30T11:30:22","guid":{"rendered":"https:\/\/17aitech.com\/?p=21158"},"modified":"2024-10-08T15:07:56","modified_gmt":"2024-10-08T07:07:56","slug":"%e3%80%90%e8%af%be%e7%a8%8b%e6%80%bb%e7%bb%93%e3%80%91day30%ef%bc%9a%e5%a4%a7%e6%a8%a1%e5%9e%8b%e4%b9%8bagent%e7%9a%84%e5%88%9d%e6%ad%a5%e4%ba%86%e8%a7%a3","status":"publish","type":"post","link":"https:\/\/17aitech.com\/?p=21158","title":{"rendered":"\u3010\u8bfe\u7a0b\u603b\u7ed3\u3011day30\uff1a\u5927\u6a21\u578b\u4e4bAgent\u7684\u521d\u6b65\u4e86\u89e3"},"content":{"rendered":"<div id=\"ez-toc-container\" class=\"ez-toc-v2_0_85 ez-toc-wrap-left-text counter-hierarchy ez-toc-counter ez-toc-light-blue ez-toc-container-direction\">\n<div class=\"ez-toc-title-container\">\n<p class=\"ez-toc-title\" style=\"cursor:inherit\">\u6587\u7ae0\u76ee\u5f55<\/p>\n<span class=\"ez-toc-title-toggle\"><a href=\"#\" class=\"ez-toc-pull-right ez-toc-btn ez-toc-btn-xs ez-toc-btn-default ez-toc-toggle\" aria-label=\"Toggle Table of Content\"><span class=\"ez-toc-js-icon-con\"><span class=\"\"><span class=\"eztoc-hide\" style=\"display:none;\">Toggle<\/span><span class=\"ez-toc-icon-toggle-span\"><svg style=\"fill: #999;color:#999\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" class=\"list-377408\" width=\"20px\" height=\"20px\" viewBox=\"0 0 24 24\" fill=\"none\"><path d=\"M6 6H4v2h2V6zm14 0H8v2h12V6zM4 11h2v2H4v-2zm16 0H8v2h12v-2zM4 16h2v2H4v-2zm16 0H8v2h12v-2z\" fill=\"currentColor\"><\/path><\/svg><svg style=\"fill: #999;color:#999\" class=\"arrow-unsorted-368013\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"10px\" height=\"10px\" viewBox=\"0 0 24 24\" version=\"1.2\" baseProfile=\"tiny\"><path d=\"M18.2 9.3l-6.2-6.3-6.2 6.3c-.2.2-.3.4-.3.7s.1.5.3.7c.2.2.4.3.7.3h11c.3 0 .5-.1.7-.3.2-.2.3-.5.3-.7s-.1-.5-.3-.7zM5.8 14.7l6.2 6.3 6.2-6.3c.2-.2.3-.5.3-.7s-.1-.5-.3-.7c-.2-.2-.4-.3-.7-.3h-11c-.3 0-.5.1-.7.3-.2.2-.3.5-.3.7s.1.5.3.7z\"\/><\/svg><\/span><\/span><\/span><\/a><\/span><\/div>\n<nav><ul class='ez-toc-list ez-toc-list-level-1 ' ><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-1\" href=\"https:\/\/17aitech.com\/?p=21158\/#%E5%89%8D%E8%A8%80\" >\u524d\u8a00<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-2\" href=\"https:\/\/17aitech.com\/?p=21158\/#Agent%E7%9A%84%E4%BA%A7%E7%94%9F%E8%83%8C%E6%99%AF\" >Agent\u7684\u4ea7\u751f\u80cc\u666f<\/a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-3\" href=\"https:\/\/17aitech.com\/?p=21158\/#%E4%B8%80%E4%B8%AA%E4%BE%8B%E5%AD%90\" >\u4e00\u4e2a\u4f8b\u5b50<\/a><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-4\" href=\"https:\/\/17aitech.com\/?p=21158\/#Agent%E7%9A%84%E5%AE%9E%E4%BE%8B\" >Agent\u7684\u5b9e\u4f8b<\/a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-5\" href=\"https:\/\/17aitech.com\/?p=21158\/#%E5%AE%9A%E4%B9%89%E5%B7%A5%E5%85%B7%E5%87%BD%E6%95%B0\" >\u5b9a\u4e49\u5de5\u5177\u51fd\u6570<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-6\" href=\"https:\/\/17aitech.com\/?p=21158\/#%E5%AE%9A%E4%B9%89Prompt%E6%A8%A1%E6%9D%BF\" >\u5b9a\u4e49Prompt\u6a21\u677f<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-7\" href=\"https:\/\/17aitech.com\/?p=21158\/#%E5%88%9B%E5%BB%BAAgent%E5%B9%B6%E8%B0%83%E7%94%A8\" >\u521b\u5efaAgent\u5e76\u8c03\u7528<\/a><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-8\" href=\"https:\/\/17aitech.com\/?p=21158\/#Agent%E7%9A%84%E7%AE%80%E4%BB%8B\" >Agent\u7684\u7b80\u4ecb<\/a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-9\" href=\"https:\/\/17aitech.com\/?p=21158\/#%E6%A6%82%E5%BF%B5\" >\u6982\u5ff5<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-10\" href=\"https:\/\/17aitech.com\/?p=21158\/#%E6%9E%84%E6%88%90\" >\u6784\u6210<\/a><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-11\" href=\"https:\/\/17aitech.com\/?p=21158\/#Agent%E7%9A%84%E4%B8%80%E4%BA%9B%E7%A4%BA%E4%BE%8B\" >Agent\u7684\u4e00\u4e9b\u793a\u4f8b<\/a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-12\" href=\"https:\/\/17aitech.com\/?p=21158\/#%E7%A4%BA%E4%BE%8B1%EF%BC%9A%E6%95%B0%E6%8D%AE%E5%BA%93%E6%9F%A5%E8%AF%A2%E5%B7%A5%E5%85%B7\" >\u793a\u4f8b1\uff1a\u6570\u636e\u5e93\u67e5\u8be2\u5de5\u5177<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-13\" href=\"https:\/\/17aitech.com\/?p=21158\/#%E7%A4%BA%E4%BE%8B2%EF%BC%9A%E7%BB%B4%E5%9F%BA%E7%99%BE%E7%A7%91%E6%90%9C%E7%B4%A2%E5%B7%A5%E5%85%B7\" >\u793a\u4f8b2\uff1a\u7ef4\u57fa\u767e\u79d1\u641c\u7d22\u5de5\u5177<\/a><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-14\" href=\"https:\/\/17aitech.com\/?p=21158\/#%E5%86%85%E5%AE%B9%E5%B0%8F%E7%BB%93\" >\u5185\u5bb9\u5c0f\u7ed3<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-15\" href=\"https:\/\/17aitech.com\/?p=21158\/#%E5%8F%82%E8%80%83%E8%B5%84%E6%96%99\" >\u53c2\u8003\u8d44\u6599<\/a><\/li><\/ul><\/nav><\/div>\n<h2><span class=\"ez-toc-section\" id=\"%E5%89%8D%E8%A8%80\"><\/span>\u524d\u8a00<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>\u7535\u5f71\u300a\u94a2\u94c1\u4fa0\u300b\u4e2d\u7684\u667a\u80fd\u52a9\u624bJ.A.R.V.I.S.\u662f\u4e00\u4f4d\u5f97\u529b\u7684\u52a9\u624b\uff0c\u5b83\u4e0d\u4f46\u6709\u5f3a\u5927\u7684\u7406\u89e3\u80fd\u529b\uff0c\u800c\u4e14\u8fd8\u5177\u5907\u6267\u884c\u884c\u52a8\u7684\u80fd\u529b\u3002\u968f\u7740\u6280\u672f\u7684\u4e0d\u65ad\u8fdb\u6b65\uff0c\u7c7b\u4f3c\u4e8e\u8d3e\u7ef4\u65af\u7684Agent\u6b63\u5728\u9010\u6b65\u4ece\u94f6\u5e55\u8d70\u8fdb\u73b0\u5b9e\u3002\u672c\u6587\u5c06\u63a2\u8ba8Agent\u7684\u4ea7\u751f\u80cc\u666f\uff0c\u5e76\u7ed3\u5408\u4e00\u4e9b\u4ee3\u7801\u793a\u4f8b\u7406\u89e3Agent\u3002<\/p>\n<h2><span class=\"ez-toc-section\" id=\"Agent%E7%9A%84%E4%BA%A7%E7%94%9F%E8%83%8C%E6%99%AF\"><\/span>Agent\u7684\u4ea7\u751f\u80cc\u666f<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<h3><span class=\"ez-toc-section\" id=\"%E4%B8%80%E4%B8%AA%E4%BE%8B%E5%AD%90\"><\/span>\u4e00\u4e2a\u4f8b\u5b50<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<pre><code class=\"language-python\"># \u5f15\u5165Qwen\u5927\u6a21\u578b\nfrom utils import get_qwen_models\n\nllm , chat, _ = get_qwen_models()\n\nchat.invoke(&quot;\u73b0\u5728\u51e0\u70b9\u4e86\uff1f&quot;)<\/code><\/pre>\n<p>\u8fd0\u884c\u7ed3\u679c\uff1a<\/p>\n<pre><code class=\"language-bash\">AIMessage(content=&#039;\u6211\u662f\u4e00\u4e2aAI\u6a21\u578b\uff0c\u65e0\u6cd5\u5b9e\u65f6\u83b7\u53d6\u5f53\u524d\u65f6\u95f4\u3002\u8bf7\u60a8\u67e5\u770b\u60a8\u7684\u8bbe\u5907\u6216\u8be2\u95ee\u5468\u56f4\u7684\u4eba\u6765\u83b7\u53d6\u51c6\u786e\u7684\u65f6\u95f4\u3002&#039;, \nresponse_metadata={&#039;model_name&#039;: &#039;qwen-max&#039;, \n&#039;finish_reason&#039;: &#039;stop&#039;, \n&#039;request_id&#039;: &#039;cc11822c-605c-9b94-b443-85d30c9b6c0f&#039;, \n&#039;token_usage&#039;: {&#039;input_tokens&#039;: 12, &#039;output_tokens&#039;: 24, &#039;total_tokens&#039;: 36}}, \nid=&#039;run-bb389bae-6801-4e53-a67c-5d41a53aba8c-0&#039;)<\/code><\/pre>\n<p>\u901a\u8fc7\u4e0e\u5927\u6a21\u578b\u7684\u4ea4\u6d41\uff0c\u6211\u4eec\u4f1a\u53d1\u73b0\u5927\u6a21\u578b\u65e0\u6cd5\u56de\u7b54\u5b9e\u65f6\u7c7b\u7684\u95ee\u9898\uff0c\u4f8b\u5982\uff1a<\/p>\n<ul>\n<li>\u4eca\u5929\u662f\u51e0\u6708\u51e0\u53f7\uff1f<\/li>\n<li>\u5317\u4eac\u73b0\u5728\u7684\u5929\u6c14\u662f\u591a\u5c11\uff1f<\/li>\n<li>&#8230;&#8230;<\/li>\n<\/ul>\n<p>\u5927\u6a21\u578b\u53ef\u4ee5\u63a5\u53d7\u8f93\u5165\uff0c\u53ef\u4ee5\u5206\u6790&amp;\u63a8\u7406\u3001\u53ef\u4ee5\u8f93\u51fa\u6587\u5b57\\\u4ee3\u7801\\\u5a92\u4f53\u3002\u7136\u800c\uff0c\u5b83\u65e0\u6cd5\u50cf\u4eba\u7c7b\u4e00\u6837\uff0c\u62e5\u6709\u89c4\u5212\u601d\u8003\u80fd\u529b\u3001\u8fd0\u7528\u5404\u79cd\u5de5\u5177\u4e0e\u7269\u7406\u4e16\u754c\u4e92\u52a8\uff0c\u4ee5\u53ca\u62e5\u6709\u4eba\u7c7b\u7684\u8bb0\u5fc6\u80fd\u529b\u3002<\/p>\n<p>\u5982\u4f55\u7ed9\u5927\u6a21\u578b\u914d\u5907\u4e0a\u4e0e\u7269\u7406\u4e16\u754c\u4e92\u52a8\u7684\u80fd\u529b\uff0c\u90a3\u4e48\u4f1a\u600e\u6837\u5462\uff1f<\/p>\n<h2><span class=\"ez-toc-section\" id=\"Agent%E7%9A%84%E5%AE%9E%E4%BE%8B\"><\/span>Agent\u7684\u5b9e\u4f8b<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<h3><span class=\"ez-toc-section\" id=\"%E5%AE%9A%E4%B9%89%E5%B7%A5%E5%85%B7%E5%87%BD%E6%95%B0\"><\/span>\u5b9a\u4e49\u5de5\u5177\u51fd\u6570<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p><strong>\u7b2c\u4e00\u6b65<\/strong>\uff1a\u5b9e\u73b0\u4e00\u4e2a\u83b7\u53d6\u5f53\u524d\u65f6\u95f4\u7684\u51fd\u6570\uff1a<\/p>\n<pre><code class=\"language-python\"># \u5b9a\u4e49\u4e00\u4e2a\u83b7\u53d6\u5f53\u524d\u65f6\u95f4\u7684\u51fd\u6570\ndef get_datetime() -&gt; str:\n    &quot;&quot;&quot;\n        \u8ddf\u65f6\u671f\u6216\u65f6\u95f4\u67e5\u8be2\u76f8\u5173\u7684\u95ee\u9898\uff0c\u8bf7\u8c03\u7528\u6b64\u65b9\u6cd5\n        \u6ce8\u610f\uff1a\n            - \u6b64\u65b9\u6cd5\u6ca1\u6709\u5165\u53c2\n            - \u8fd4\u53c2\u662f\u5b57\u7b26\u4e32\u5f62\u5f0f\u7684\u65e5\u671f\n    &quot;&quot;&quot;\n# \u8c03\u7528\u8be5\u51fd\u6570\nget_datetime()<\/code><\/pre>\n<p>\u8fd0\u884c\u7ed3\u679c\uff1a<\/p>\n<pre><code class=\"language-bash\">&#039;2024-08-29 20:39:34&#039;<\/code><\/pre>\n<h3><span class=\"ez-toc-section\" id=\"%E5%AE%9A%E4%B9%89Prompt%E6%A8%A1%E6%9D%BF\"><\/span>\u5b9a\u4e49Prompt\u6a21\u677f<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p><strong>\u7b2c\u4e8c\u6b65<\/strong>\uff1a\u5b9a\u4e49\u4f7f\u7528\u5de5\u5177\u7684Prompt\u6a21\u677f<\/p>\n<pre><code class=\"language-python\">from langchain.prompts import PromptTemplate\n\nprompt = PromptTemplate.from_template(&quot;&quot;&quot;\nAnswer the following questions as best you can. You have access to the following tools:\n\n{tools}\n\nUse the following format:\n\nQuestion: the input question you must answer\nThought: you should always think about what to do\nAction: the action to take, should be one of [{tool_names}]\nAction Input: the input to the action\nObservation: the result of the action\n... (this Thought\/Action\/Action Input\/Observation can repeat N times)\nThought: I now know the final answer\nFinal Answer: the final answer to the original input question\n\nBegin!\n\nQuestion: {input}\nThought:{agent_scratchpad}\n&quot;&quot;&quot;)<\/code><\/pre>\n<h3><span class=\"ez-toc-section\" id=\"%E5%88%9B%E5%BB%BAAgent%E5%B9%B6%E8%B0%83%E7%94%A8\"><\/span>\u521b\u5efaAgent\u5e76\u8c03\u7528<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p><strong>\u7b2c\u4e09\u6b65<\/strong>\uff1a\u521b\u5efaAgent\u5e76\u8c03\u7528Agent<\/p>\n<pre><code class=\"language-python\">from langgraph.prebuilt import create_react_agent\nfrom langchain_core.messages import HumanMessage\n\nagent = create_react_agent(model=chat, tools=[get_datetime])\n\n# \u8c03\u7528\u4ee3\u7406\ntry:\n    response = agent.invoke({&quot;messages&quot;: [HumanMessage(content=&quot;\u73b0\u5728\u51e0\u70b9\u4e86\uff1f&quot;)]})\n    print(response)\nexcept KeyError as e:\n    print(f&quot;KeyError: {e}&quot;)\nexcept Exception as e:\n    print(f&quot;\u53d1\u751f\u9519\u8bef: {e}&quot;)<\/code><\/pre>\n<p>\u8fd0\u884c\u7ed3\u679c\uff1a<\/p>\n<pre><code class=\"language-bash\">{&#039;messages&#039;: \n  [\n    HumanMessage(content=&#039;\u73b0\u5728\u51e0\u70b9\u4e86\uff1f&#039;, id=&#039;1e807299-fb54-4fd9-ba16-71b2c45dab98&#039;), \n    AIMessage(content=&#039;&#039;, additional_kwargs={\n      &#039;tool_calls&#039;: [{\n        &#039;function&#039;: {\n          &#039;name&#039;: &#039;get_datetime&#039;, \n          &#039;arguments&#039;: &#039;{}&#039;}, \n          &#039;index&#039;: 0, \n          &#039;id&#039;: &#039;call_d21bf57fd5df4314941b9e&#039;, \n          &#039;type&#039;: &#039;function&#039;\n        }]}, \n        response_metadata={\n          &#039;model_name&#039;: &#039;qwen-max&#039;, \n          &#039;finish_reason&#039;: &#039;tool_calls&#039;, \n          &#039;request_id&#039;: &#039;95c8bf84-3105-91c7-988f-430ef4f3bb84&#039;, \n          &#039;token_usage&#039;: {&#039;input_tokens&#039;: 180, &#039;output_tokens&#039;: 12, &#039;total_tokens&#039;: 192}}, id=&#039;run-9b8c496f-4e2a-4698-bb6d-9fec655c3e37-0&#039;, \n          tool_calls=[{\n            &#039;name&#039;: &#039;get_datetime&#039;, \n            &#039;args&#039;: {}, \n            &#039;id&#039;: &#039;call_d21bf57fd5df4314941b9e&#039;, \n            &#039;type&#039;: &#039;tool_call&#039;}]), \n    ToolMessage(content=&#039;2024-08-30 14:52:29&#039;, \n      name=&#039;get_datetime&#039;, \n      id=&#039;ce53e86f-252a-4c6d-b33b-1589732ebbbb&#039;, \n      tool_call_id=&#039;call_d21bf57fd5df4314941b9e&#039;), \n    AIMessage(content=&#039;\u73b0\u5728\u7684\u65f6\u95f4\u662f14\u70b952\u520629\u79d2\u3002&#039;, \n      response_metadata={\n        &#039;model_name&#039;: &#039;qwen-max&#039;, \n        &#039;finish_reason&#039;: &#039;stop&#039;, \n        &#039;request_id&#039;: &#039;adb16577-6a8e-937d-8c13-0d6ba44e5082&#039;, \n        &#039;token_usage&#039;: {&#039;input_tokens&#039;: 220, &#039;output_tokens&#039;: 17, &#039;total_tokens&#039;: 237}}, \n        id=&#039;run-fd7835ae-b7f2-41d2-b7f9-4a33a51cd67b-0&#039;)\n  ]\n}\n<\/code><\/pre>\n<p>\u901a\u8fc7\u4e0a\u8ff0\u4ee3\u7801\uff0c\u53ef\u4ee5\u770b\u5230\u5927\u6a21\u578b\u901a\u8fc7Agent\u88ab\u8d4b\u4e88\u4e86\u8c03\u7528 <code>get_datetime()<\/code> \u7684\u80fd\u529b\uff0c\u4ece\u800c\u53ef\u4ee5\u56de\u7b54\u5b9e\u65f6\u7c7b\u95ee\u9898\uff1a<code>\u73b0\u5728\u51e0\u70b9\u4e86\uff1f<\/code><\/p>\n<p>\u5b8c\u6574\u4ee3\u7801\u5982\u4e0b\uff1a<\/p>\n<pre><code class=\"language-python\">\nimport datetime\nfrom langchain.prompts import PromptTemplate\nfrom langgraph.prebuilt import create_react_agent\nfrom langchain_core.messages import HumanMessage\nfrom utils import get_qwen_models\n\n# \u8fde\u63a5\u5927\u6a21\u578b\nllm , chat, _ = get_qwen_models()\n\n# \u5b9a\u4e49\u8c03\u7528\u51fd\u6570\ndef get_datetime() -&gt; str:\n    &quot;&quot;&quot;\n    \u83b7\u53d6\u5f53\u524d\u65f6\u95f4\n    &quot;&quot;&quot;\n    now = datetime.datetime.now()\n    formatted_date = now.strftime(&quot;%Y-%m-%d %H:%M:%S&quot;)\n\n    return formatted_date\n\n# \u7ed9\u5927\u6a21\u578b\u7ed1\u5b9a\u5de5\u5177\nbined_chat = chat.bind_tools(tools=[get_datetime])\n\n# \u521b\u5efa\u4f7f\u7528\u5de5\u5177\u7684prompt\nprompt = PromptTemplate.from_template(&quot;&quot;&quot;\nAnswer the following questions as best you can. You have access to the following tools:\n\n{tools}\n\nUse the following format:\n\nQuestion: the input question you must answer\nThought: you should always think about what to do\nAction: the action to take, should be one of [{tool_names}]\nAction Input: the input to the action\nObservation: the result of the action\n... (this Thought\/Action\/Action Input\/Observation can repeat N times)\nThought: I now know the final answer\nFinal Answer: the final answer to the original input question\n\nBegin!\n\nQuestion: {input}\nThought:{agent_scratchpad}\n&quot;&quot;&quot;)\n\n# \u521b\u5efaAgent\nagent = create_react_agent(model=chat, tools=[get_datetime])\n\n# \u8c03\u7528Agent\ntry:\n    response = agent.invoke({&quot;messages&quot;: [HumanMessage(content=&quot;\u73b0\u5728\u51e0\u70b9\u4e86\uff1f&quot;)]})\n    print(response)\nexcept KeyError as e:\n    print(f&quot;KeyError: {e}&quot;)\nexcept Exception as e:\n    print(f&quot;\u53d1\u751f\u9519\u8bef: {e}&quot;)<\/code><\/pre>\n<h2><span class=\"ez-toc-section\" id=\"Agent%E7%9A%84%E7%AE%80%E4%BB%8B\"><\/span>Agent\u7684\u7b80\u4ecb<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<h3><span class=\"ez-toc-section\" id=\"%E6%A6%82%E5%BF%B5\"><\/span>\u6982\u5ff5<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p><code>LLM Agent<\/code> \u662f\u4e00\u79cd\u80fd\u4ea7\u51fa\u4e0d\u5355\u662f\u7b80\u5355\u6587\u672c\u7684 AI \u7cfb\u7edf\uff0c\u5b83\u4f5c\u4e3a\u4e00\u79cd\u4eba\u5de5\u667a\u80fd\u4f53\uff0c\u5177\u5907\u73af\u5883\u611f\u77e5\u80fd\u529b\u3001\u81ea\u4e3b\u7406\u89e3\u3001\u51b3\u7b56\u5236\u5b9a\u53ca\u6267\u884c\u884c\u52a8\u80fd\u529b\u7684\u667a\u80fd\u5b9e\u4f53\u3002\u7b80\u800c\u8a00\u4e4b\uff0c\u5b83\u662f\u6784\u5efa\u4e8e\u5927\u6a21\u578b\u4e4b\u4e0a\u7684\u8ba1\u7b97\u673a\u7a0b\u5e8f\uff0c\u80fd\u591f\u6a21\u62df\u72ec\u7acb\u601d\u8003\u8fc7\u7a0b\uff0c\u7075\u6d3b\u8c03\u7528\u5404\u7c7b\u5de5\u5177\uff0c\u9010\u6b65\u8fbe\u6210\u9884\u8bbe\u76ee\u6807\u7684\u667a\u80fd\u5b58\u5728\u3002<\/p>\n<h3><span class=\"ez-toc-section\" id=\"%E6%9E%84%E6%88%90\"><\/span>\u6784\u6210<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p><a href=\"https:\/\/17aitech.com\/wp-content\/uploads\/2024\/08\/Agent\u7684\u6784\u6210.png\" data-fancybox=\"images\" data-fancybox=\"gallery\"><img decoding=\"async\" src=\"https:\/\/17aitech.com\/wp-content\/uploads\/2024\/08\/Agent\u7684\u6784\u6210.png\" alt=\"\" \/><\/a><\/p>\n<p>\u5982\u56fe\u6240\u793a\uff0c\u5728\u57fa\u4e8e LLM \u7684\u667a\u80fd\u4f53\u4e2d\uff0cLLM \u7684\u5145\u5f53\u7740\u667a\u80fd\u4f53\u7684\u201c\u5927\u8111\u201d\u7684\u89d2\u8272\uff0c\u540c\u65f6\u8fd8\u6709 3 \u4e2a\u5173\u952e\u90e8\u5206\uff1a<\/p>\n<ul>\n<li><code>\u89c4\u5212\uff08Planning\uff09<\/code>: \u667a\u80fd\u4f53\u4f1a\u628a\u5927\u578b\u4efb\u52a1\u5206\u89e3\u4e3a\u5b50\u4efb\u52a1\uff0c\u5e76\u89c4\u5212\u6267\u884c\u4efb\u52a1\u7684\u6d41\u7a0b\uff1b\u667a\u80fd\u4f53\u4f1a\u5bf9\u4efb\u52a1\u6267\u884c\u7684\u8fc7\u7a0b\u8fdb\u884c\u601d\u8003\u548c\u53cd\u601d\uff0c\u4ece\u800c\u51b3\u5b9a\u662f\u7ee7\u7eed\u6267\u884c\u4efb\u52a1\uff0c\u6216\u5224\u65ad\u4efb\u52a1\u5b8c\u7ed3\u5e76\u7ec8\u6b62\u8fd0\u884c\u3002<\/li>\n<li><code>\u8bb0\u5fc6\uff08Memory\uff09<\/code>: \u77ed\u671f\u8bb0\u5fc6\uff0c\u662f\u6307\u5728\u6267\u884c\u4efb\u52a1\u7684\u8fc7\u7a0b\u4e2d\u7684\u4e0a\u4e0b\u6587\uff0c\u4f1a\u5728\u5b50\u4efb\u52a1\u7684\u6267\u884c\u8fc7\u7a0b\u4ea7\u751f\u548c\u6682\u5b58\uff0c\u5728\u4efb\u52a1\u5b8c\u7ed3\u540e\u88ab\u6e05\u7a7a\u3002\u957f\u671f\u8bb0\u5fc6\u662f\u957f\u65f6\u95f4\u4fdd\u7559\u7684\u4fe1\u606f\uff0c\u4e00\u822c\u662f\u6307\u5916\u90e8\u77e5\u8bc6\u5e93\uff0c\u901a\u5e38\u7528\u5411\u91cf\u6570\u636e\u5e93\u6765\u5b58\u50a8\u548c\u68c0\u7d22\u3002<\/li>\n<li><code>\u5de5\u5177\u4f7f\u7528\uff08Tool use\uff09<\/code>: \u4e3a\u667a\u80fd\u4f53\u914d\u5907\u5de5\u5177 API\uff0c\u6bd4\u5982\uff1a\u8ba1\u7b97\u5668\u3001\u641c\u7d22\u5de5\u5177\u3001\u4ee3\u7801\u6267\u884c\u5668\u3001\u6570\u636e\u5e93\u67e5\u8be2\u5de5\u5177\u7b49\u3002\u6709\u4e86\u8fd9\u4e9b\u5de5\u5177 API\uff0c\u667a\u80fd\u4f53\u5c31\u53ef\u4ee5\u662f\u7269\u7406\u4e16\u754c\u4ea4\u4e92\uff0c\u89e3\u51b3\u5b9e\u9645\u7684\u95ee\u9898\u3002<\/li>\n<\/ul>\n<h2><span class=\"ez-toc-section\" id=\"Agent%E7%9A%84%E4%B8%80%E4%BA%9B%E7%A4%BA%E4%BE%8B\"><\/span>Agent\u7684\u4e00\u4e9b\u793a\u4f8b<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<h3><span class=\"ez-toc-section\" id=\"%E7%A4%BA%E4%BE%8B1%EF%BC%9A%E6%95%B0%E6%8D%AE%E5%BA%93%E6%9F%A5%E8%AF%A2%E5%B7%A5%E5%85%B7\"><\/span>\u793a\u4f8b1\uff1a\u6570\u636e\u5e93\u67e5\u8be2\u5de5\u5177<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>\u7b2c\u4e00\u6b65\uff1a\u4f7f\u7528\u5df2\u5c01\u88c5\u597d\u7684 <code>utils<\/code> \u8fde\u63a5\u5927\u6a21\u578b<\/p>\n<pre><code class=\"language-python\"># \u8fde\u63a5\u5927\u6a21\u578b\nfrom utils import get_qwen_models\n\nllm, chat, embed = get_qwen_models()<\/code><\/pre>\n<p>\u7b2c\u4e8c\u6b65\uff1a\u8fde\u63a5\u6570\u636e\u5e93<\/p>\n<pre><code class=\"language-python\">\n# \u8fde\u63a5\u6570\u636e\u5e93\nfrom langchain_community.utilities import SQLDatabase\ndb = SQLDatabase.from_uri(&quot;sqlite:\/\/\/\u535a\u91d1\u676f\u6bd4\u8d5b\u6570\u636e.db&quot;)<\/code><\/pre>\n<blockquote>\n<p>\u6570\u636e\u5e93\u53ef\u4ee5\u4ece<a href=\"https:\/\/www.modelscope.cn\/datasets\/BJQW14B\/bs_challenge_financial_14b_dataset\/files\">\u9b54\u5854\u793e\u533a<\/a>\u4e0a\u62c9\u53d6\u5230\u3002<\/p>\n<\/blockquote>\n<p>\u7b2c\u4e09\u6b65\uff1a\u521d\u59cb\u5316SQL\u5de5\u5177\u5305<\/p>\n<pre><code class=\"language-python\">from langchain_community.agent_toolkits import SQLDatabaseToolkit\n\n# \u521d\u59cb\u5316\u6570\u636e\u5e93\u5de5\u5177\u5305\uff0c\u4f20\u5165\u6570\u636e\u5e93\u8fde\u63a5\u5bf9\u8c61 db \u548c\u8bed\u8a00\u6a21\u578b llm\ntoolkit = SQLDatabaseToolkit(db=db, llm=llm)\n\n# \u4ece\u5de5\u5177\u5305\u4e2d\u83b7\u53d6\u53ef\u7528\u7684\u5de5\u5177\uff0c\u5e76\u5c06\u5176\u5b58\u50a8\u5728 tools \u53d8\u91cf\u4e2d\ntools = toolkit.get_tools() <\/code><\/pre>\n<p>\u7b2c\u56db\u6b65\uff1a\u6784\u5efaPrompt<\/p>\n<pre><code class=\"language-python\">from langchain_core.messages import SystemMessage\n\nSQL_PREFIX = &quot;&quot;&quot;You are an agent designed to interact with a SQL database.\nGiven an input question, create a syntactically correct SQLite query to run, then look at the results of the query and return the answer.\nUnless the user specifies a specific number of examples they wish to obtain, always limit your query to at most 5 results.\nYou can order the results by a relevant column to return the most interesting examples in the database.\nNever query for all the columns from a specific table, only ask for the relevant columns given the question.\nYou have access to tools for interacting with the database.\nOnly use the below tools. Only use the information returned by the below tools to construct your final answer.\nYou MUST double check your query before executing it. If you get an error while executing a query, rewrite the query and try again.\n\nDO NOT make any DML statements (INSERT, UPDATE, DELETE, DROP etc.) to the database.\n\nTo start you should ALWAYS look at the tables in the database to see what you can query.\nDo NOT skip this step.\nThen you should query the schema of the most relevant tables.&quot;&quot;&quot;\n\nsystem_message = SystemMessage(content=SQL_PREFIX)<\/code><\/pre>\n<blockquote>\n<p>\u4ee5\u4e0aPrompt\u53ef\u4ee5\u4ecehttps:\/\/smith.langchain.com\/hub \u67e5\u8be2 <code>langchain-ai\/sql-agent-system-prompt<\/code> \u5f97\u5230\u3002<\/p>\n<\/blockquote>\n<p>\u7b2c\u4e94\u6b65\uff1a\u521b\u5efaAgent<\/p>\n<pre><code class=\"language-python\">from langgraph.prebuilt import create_react_agent\n\n# \u521b\u5efaAgent\uff0c\u4f20\u5165 chat\u3001\u5de5\u5177 tools \u548c \u7b2c\u56db\u6b65\u7684 prompt\nagent_executor = create_react_agent(chat, tools, messages_modifier=system_message)<\/code><\/pre>\n<p>\u7b2c\u516d\u6b65\uff1a\u8c03\u7528Agent\u5e76\u6253\u5370\u6267\u884c\u8fc7\u7a0b<\/p>\n<pre><code class=\"language-python\">\n# \u67e5\u8be2\nexample_query = &quot;\u8bf7\u5e2e\u6211\u67e5\u8be2\u51fa20210415\u65e5\uff0c\u5efa\u7b51\u6750\u6599\u4e00\u7ea7\u884c\u4e1a\u6da8\u5e45\u8d85\u8fc75%\uff08\u4e0d\u5305\u542b\uff09\u7684\u80a1\u7968\u6570\u91cf&quot;\n\n# \u6d41\u5f0f\u5904\u7406\u4e8b\u4ef6\nevents = agent_executor.stream(\n    {&quot;messages&quot;: [(&quot;user&quot;, example_query)]},\n    stream_mode=&quot;values&quot;,\n)\n\n# \u6253\u5370\u6d41\u5f0f\u4e8b\u4ef6\u7684\u6d88\u606f\nfor event in events:\n    event[&quot;messages&quot;][-1].pretty_print()<\/code><\/pre>\n<p>\u6267\u884c\u7ed3\u679c\uff1a<\/p>\n<pre><code class=\"language-bash\">================================ Human Message =================================\n\n\u8bf7\u5e2e\u6211\u67e5\u8be2\u51fa20210415\u65e5\uff0c\u5efa\u7b51\u6750\u6599\u4e00\u7ea7\u884c\u4e1a\u6da8\u5e45\u8d85\u8fc75%\uff08\u4e0d\u5305\u542b\uff09\u7684\u80a1\u7968\u6570\u91cf\n================================== Ai Message ==================================\nTool Calls:\n  sql_db_list_tables (call_c14a5fc51d324381926311)\n Call ID: call_c14a5fc51d324381926311\n  Args:\n    tool_input:\n================================= Tool Message =================================\nName: sql_db_list_tables\n\nA\u80a1\u516c\u53f8\u884c\u4e1a\u5212\u5206\u8868, A\u80a1\u7968\u65e5\u884c\u60c5\u8868, \u57fa\u91d1\u4efd\u989d\u6301\u6709\u4eba\u7ed3\u6784, \u57fa\u91d1\u503a\u5238\u6301\u4ed3\u660e\u7ec6, \u57fa\u91d1\u53ef\u8f6c\u503a\u6301\u4ed3\u660e\u7ec6, \u57fa\u91d1\u57fa\u672c\u4fe1\u606f, \u57fa\u91d1\u65e5\u884c\u60c5\u8868, \u57fa\u91d1\u80a1\u7968\u6301\u4ed3\u660e\u7ec6, \u57fa\u91d1\u89c4\u6a21\u53d8\u52a8\u8868, \u6e2f\u80a1\u7968\u65e5\u884c\u60c5\u8868\n================================== Ai Message ==================================\nTool Calls:\n  sql_db_schema (call_f9acd6019db64e93a74987)\n Call ID: call_f9acd6019db64e93a74987\n  Args:\n    table_names: A\u80a1\u516c\u53f8\u884c\u4e1a\u5212\u5206\u8868, A\u80a1\u7968\u65e5\u884c\u60c5\u8868\n================================= Tool Message =================================\nName: sql_db_schema\n\nCREATE TABLE &quot;A\u80a1\u516c\u53f8\u884c\u4e1a\u5212\u5206\u8868&quot; (\n    &quot;\u80a1\u7968\u4ee3\u7801&quot; TEXT, \n...\n[(74,)]\n================================== Ai Message ==================================\n\n\u57282021\u5e7404\u670815\u65e5\uff0c\u5efa\u7b51\u6750\u6599\u4e00\u7ea7\u884c\u4e1a\u6da8\u5e45\u8d85\u8fc75%\uff08\u4e0d\u5305\u542b\uff09\u7684\u80a1\u7968\u6570\u91cf\u4e3a74\u53ea\u3002<\/code><\/pre>\n<p>\u6700\u7ec8\uff0c\u5927\u6a21\u578b\u501f\u52a9SQL\u5de5\u5177\uff0c\u67e5\u5230\u4e86\u7ed3\u679c\uff1a2021\u5e7404\u670815\u65e5\uff0c\u5efa\u7b51\u6750\u6599\u4e00\u7ea7\u884c\u4e1a\u6da8\u5e45\u8d85\u8fc75%\uff08\u4e0d\u5305\u542b\uff09\u7684\u80a1\u7968\u6570\u91cf\u4e3a74\u53ea\u3002<\/p>\n<p>\u5b8c\u6574\u4ee3\u7801\uff1a<\/p>\n<pre><code class=\"language-python\">from langchain_community.utilities import SQLDatabase\nfrom langchain_community.agent_toolkits import SQLDatabaseToolkit\nfrom langchain_core.messages import SystemMessage\nfrom langgraph.prebuilt import create_react_agent\nfrom utils import get_qwen_models\n\n# \u8fde\u63a5\u5927\u6a21\u578b\nllm, chat, embed = get_qwen_models()\n\n# \u8fde\u63a5\u6570\u636e\u5e93\ndb = SQLDatabase.from_uri(&quot;sqlite:\/\/\/\u535a\u91d1\u676f\u6bd4\u8d5b\u6570\u636e.db&quot;)\n\n# \u521d\u59cb\u5316SQL\u5de5\u5177\u5305\ntoolkit = SQLDatabaseToolkit(db=db, llm=llm)\ntools = toolkit.get_tools() \n\n# \u6784\u5efaPrompt\nSQL_PREFIX = &quot;&quot;&quot;You are an agent designed to interact with a SQL database.\nGiven an input question, create a syntactically correct SQLite query to run, then look at the results of the query and return the answer.\nUnless the user specifies a specific number of examples they wish to obtain, always limit your query to at most 5 results.\nYou can order the results by a relevant column to return the most interesting examples in the database.\nNever query for all the columns from a specific table, only ask for the relevant columns given the question.\nYou have access to tools for interacting with the database.\nOnly use the below tools. Only use the information returned by the below tools to construct your final answer.\nYou MUST double check your query before executing it. If you get an error while executing a query, rewrite the query and try again.\n\nDO NOT make any DML statements (INSERT, UPDATE, DELETE, DROP etc.) to the database.\n\nTo start you should ALWAYS look at the tables in the database to see what you can query.\nDo NOT skip this step.\nThen you should query the schema of the most relevant tables.&quot;&quot;&quot;\n\nsystem_message = SystemMessage(content=SQL_PREFIX)\n\n# \u521b\u5efaAgent\nagent_executor = create_react_agent(chat, tools, messages_modifier=system_message)\n\n# \u67e5\u8be2\nexample_query = &quot;\u8bf7\u5e2e\u6211\u67e5\u8be2\u51fa20210415\u65e5\uff0c\u5efa\u7b51\u6750\u6599\u4e00\u7ea7\u884c\u4e1a\u6da8\u5e45\u8d85\u8fc75%\uff08\u4e0d\u5305\u542b\uff09\u7684\u80a1\u7968\u6570\u91cf&quot;\n\nevents = agent_executor.stream(\n    {&quot;messages&quot;: [(&quot;user&quot;, example_query)]},\n    stream_mode=&quot;values&quot;,\n)\n\n# \u67e5\u770b\u5de5\u5177\u8c03\u7528\u8fc7\u7a0b\nfor event in events:\n    event[&quot;messages&quot;][-1].pretty_print()<\/code><\/pre>\n<h3><span class=\"ez-toc-section\" id=\"%E7%A4%BA%E4%BE%8B2%EF%BC%9A%E7%BB%B4%E5%9F%BA%E7%99%BE%E7%A7%91%E6%90%9C%E7%B4%A2%E5%B7%A5%E5%85%B7\"><\/span>\u793a\u4f8b2\uff1a\u7ef4\u57fa\u767e\u79d1\u641c\u7d22\u5de5\u5177<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>\u901a\u8fc7\u5bf9 <code>\u793a\u4f8b1<\/code> \u7684\u5206\u6790\uff0c\u6211\u4eec\u53ef\u4ee5\u5728<a href=\"https:\/\/python.langchain.com\/v0.2\/docs\/integrations\/tools\/\">Langchain\u5b98\u7f51<\/a>\u4e0a\u627e\u5230\u4e0d\u5c11tools\u5de5\u5177\uff0c\u63a5\u4e0b\u6765\u6211\u4eec\u5b9e\u73b0\u4e00\u4e2a\u7ef4\u57fa\u767e\u79d1\u641c\u7d22\u5de5\u5177\u3002<\/p>\n<p>\u7b2c\u4e00\u6b65\uff1a\u5b89\u88c5\u4f9d\u8d56\u5305<\/p>\n<pre><code class=\"language-bash\">pip install wikipedia<\/code><\/pre>\n<p>\u7b2c\u4e8c\u6b65\uff1a\u6267\u884c\u4ee3\u7801<\/p>\n<pre><code class=\"language-python\">\nfrom langchain_community.tools import WikipediaQueryRun\nfrom langchain_community.utilities import WikipediaAPIWrapper\nfrom langchain_core.messages import SystemMessage\nfrom langgraph.prebuilt import create_react_agent\nfrom utils import get_qwen_models\n\n# \u8fde\u63a5\u5927\u6a21\u578b\nllm, chat, embed = get_qwen_models()\n\nwikipedia = WikipediaQueryRun(api_wrapper=WikipediaAPIWrapper())\ntools = [wikipedia]\n\n# \u6784\u5efaPrompt\nwiki_PREFIX = &quot;&quot;&quot;\u4f60\u662f\u4e00\u4e2a\u641c\u7d22\u4e13\u5bb6\uff0c\u53ef\u4ee5\u6839\u636e\u7528\u6237\u63d0\u51fa\u7684\u95ee\u9898\uff0c\u4e3a\u7528\u6237\u641c\u7d22\u76f8\u5e94\u7684\u5185\u5bb9.\n\u4f60\u53ef\u4ee5\u4f7f\u7528\u7ef4\u57fa\u767e\u79d1\u5de5\u5177\u6765\u641c\u7d22\u76f8\u5173\u7684\u5185\u5bb9\u3002\n\n\u5982\u679c\u641c\u7d22\u4e0d\u5230\u5bf9\u5e94\u7684\u5185\u5bb9\uff0c\u4f60\u53ef\u4ee5\u5bf9\u95ee\u9898\u8fdb\u884c\u76f8\u5173\u6027\u5f15\u75333\u4e2a\u95ee\u9898\uff0c\u6765\u4e30\u5bcc\u67e5\u8be2\u8fc7\u7a0b\u3002\n\u641c\u7d22\u540e\u7684\u7ed3\u679c\uff0c\u8bf7\u4f7f\u7528markdown\u7684\u65b9\u5f0f\u8fd4\u56de\u3002\n&quot;&quot;&quot;\n\nsystem_message = SystemMessage(content=wiki_PREFIX)\n\n# \u521b\u5efaAgent\nagent_executor = create_react_agent(chat, tools, messages_modifier=system_message)\n\n# \u67e5\u8be2\nexample_query = &quot;\u8bf7\u5e2e\u6211\u67e5\u8be2\u51fa\u7f8e\u56fd\u6797\u80af\u53f7\u822a\u6bcd\u7684\u76f8\u5173\u4fe1\u606f&quot;\n\nevents = agent_executor.stream(\n    {&quot;messages&quot;: [(&quot;user&quot;, example_query)]},\n    stream_mode=&quot;values&quot;,\n)\n\n# \u67e5\u770b\u5de5\u5177\u8c03\u7528\u8fc7\u7a0b\nfor event in events:\n    event[&quot;messages&quot;][-1].pretty_print()<\/code><\/pre>\n<p>\u8fd0\u884c\u7ed3\u679c\uff1a<\/p>\n<pre><code class=\"language-bash\">\n\u8bf7\u5e2e\u6211\u67e5\u8be2\u51fa\u7f8e\u56fd\u6797\u80af\u53f7\u822a\u6bcd\u7684\u76f8\u5173\u4fe1\u606f\n================================== Ai Message ==================================\nTool Calls:\n  wikipedia (call_78e651d21ea44eafa47741)\n Call ID: call_78e651d21ea44eafa47741\n  Args:\n    query: USS Abraham Lincoln (CVN-72)\n================================= Tool Message =================================\nName: wikipedia\n\nPage: USS Abraham Lincoln (CVN-72)\nSummary: USS Abraham Lincoln (CVN-72) is the fifth Nimitz-class aircraft carrier in the United States Navy. She is the third Navy ship to have been named after the former President Abraham Lincoln. Her home port is NAS North Island, San Diego, California; she is a member of the United States Pacific Fleet. She is administratively responsible to Commander, Naval Air Forces Pacific, and operationally serves as the flagship of Carrier Strike Group 3 and host to Carrier Air Wing Nine. She was returned to the fleet on 12 May 2017, marking the successful completion of her Refueling and Complex Overhaul (RCOH) carried out at Newport News Shipyard. As of August 10, 2024, USS Abraham Lincoln and her strike group are being deployed to the Middle East as part of the U.S. response to the escalation of tensions between Iran and Israel.\n\nPage: USS Abraham Lincoln\nSummary: Two ships have borne the name Abraham Lincoln, in honor of the 16th President of the United States.\n\nUSS Abraham Lincoln (SSBN-602), a ballistic missile submarine in service from 1961 to 1981\nUSS Abraham Lincoln (CVN-72), an aircraft carrier commissioned in 1989 and currently in service\n\nPage: Carrier Strike Group 9\nSummary: Carrier Strike Group 9 (CSG-9 or CARSTRKGRU 9) is a U.S. Navy carrier strike group. Commander Carrier Strike Group 9 (COMCARSTRKGRU 9 or CCSG 9) is responsible for unit-level training, integrated training, and material readiness for the ships and aviation squadrons assigned to the group. The group reports to Commander, U.S. Third Fleet, which also supervises its pre-deployment training and certification that includes Composite Unit Training Exercises.\nIt is currently assigned to the U.S. Pacific Fleet. The Nimitz-class aircraft carrier USS Theodore Roosevelt (CVN-71) is the group&#039;s current flagship. Other group units include Carrier Air Wing 11, the Ticonderoga-class cruiser USS Lake Erie (CG-70), and the Arleigh Burke-class destroyer&#039;s USS John S. McCain (DDG-56)USS Halsey (DDG-97), and the USS Daniel Inouye (DDG-118).\nThe strike group traces its history to Cruiser-Destroyer Group 3, created on 30 June 1973, by the re-designation of Cruiser Destroyer Flotilla 11. From 2004, the strike group has made multiple Middle East deployments providing air forces over Afghanistan and Iraq, as well as conducting Maritime Security Operations.  The strike group received the Humanitarian Service Medal in recognition of its disaster relief efforts in Indonesia during Operation Unified Assistance in 2004\u201305.\n================================== Ai Message ==================================\n\nUSS\u4e9a\u4f2f\u62c9\u7f55\u00b7\u6797\u80af\u53f7\uff08USS Abraham Lincoln\uff0c\u8237\u53f7CVN-72\uff09\u662f\u7f8e\u56fd\u6d77\u519b\u7b2c\u4e94\u8258\u5c3c\u7c73\u5179\u7ea7\u6838\u52a8\u529b\u822a\u7a7a\u6bcd\u8230\uff0c\u4e5f\u662f\u7b2c\u4e09\u8258\u4ee5\u7f8e\u56fd\u7b2c16\u4efb\u603b\u7edf\u4e9a\u4f2f\u62c9\u7f55\u00b7\u6797\u80af\u547d\u540d\u7684\u519b\u8230\u3002\u5979\u7684\u6bcd\u6e2f\u4f4d\u4e8e\u52a0\u5229\u798f\u5c3c\u4e9a\u5dde\u5723\u8fed\u6208\u7684\u5317\u5c9b\u6d77\u519b\u822a\u7a7a\u7ad9\uff0c\u96b6\u5c5e\u4e8e\u592a\u5e73\u6d0b\u8230\u961f\u3002\u4f5c\u4e3a\u822a\u6bcd\u6253\u51fb\u7fa43(CSG-3)\u7684\u65d7\u8230\uff0c\u5979\u642d\u8f7d\u4e86\u7b2c9\u8230\u8f7d\u673a\u8054\u961f(Carrier Air Wing Nine)\u3002\u6797\u80af\u53f7\u5728\u5b8c\u6210\u4e8e\u7ebd\u6ce2\u7279\u7ebd\u65af\u8239\u5382\u7684\u71c3\u6599\u8865\u7ed9\u53ca\u590d\u6742\u5927\u4fee(RCOH)\u540e\uff0c\u4e8e2017\u5e745\u670812\u65e5\u91cd\u65b0\u5f52\u961f\u3002\u622a\u81f32024\u5e748\u670810\u65e5\uff0c\u4e9a\u4f2f\u62c9\u7f55\u00b7\u6797\u80af\u53f7\u53ca\u5176\u6253\u51fb\u7fa4\u88ab\u90e8\u7f72\u81f3\u4e2d\u4e1c\u5730\u533a\uff0c\u4f5c\u4e3a\u7f8e\u56fd\u5bf9\u4f0a\u6717\u548c\u4ee5\u8272\u5217\u4e4b\u95f4\u7d27\u5f20\u5c40\u52bf\u5347\u7ea7\u5e94\u5bf9\u7684\u4e00\u90e8\u5206\u3002\n\n\u53e6\u5916\uff0c\u8fd8\u6709\u4e24\u8258\u4ee5\u524d\u603b\u7edf\u4e9a\u4f2f\u62c9\u7f55\u00b7\u6797\u80af\u547d\u540d\u7684\u8230\u8247\uff1a\n- USS\u4e9a\u4f2f\u62c9\u7f55\u00b7\u6797\u80af\u53f7\uff08SSBN-602\uff09\uff0c\u4e00\u82581961\u5e74\u81f31981\u5e74\u95f4\u5728\u5f79\u7684\u5f39\u9053\u5bfc\u5f39\u6f5c\u8247\uff1b\n- USS\u4e9a\u4f2f\u62c9\u7f55\u00b7\u6797\u80af\u53f7\uff08CVN-72\uff09\uff0c\u5373\u76ee\u524d\u4ecd\u5728\u670d\u5f79\u7684\u822a\u7a7a\u6bcd\u8230\u3002\n\n\u800c\u822a\u6bcd\u6253\u51fb\u7fa49(CSG-9)\u66fe\u662f\u4e9a\u4f2f\u62c9\u7f55\u00b7\u6797\u80af\u53f7\u6240\u5c5e\u7684\u6253\u51fb\u7fa4\uff0c\u4f46\u76ee\u524d\u8be5\u6253\u51fb\u7fa4\u7684\u65d7\u8230\u4e3a\u53e6\u4e00\u8258\u5c3c\u7c73\u5179\u7ea7\u822a\u6bcdUSS\u897f\u5965\u591a\u00b7\u7f57\u65af\u798f\u53f7\uff08USS Theodore Roosevelt\uff0cCVN-71\uff09\u3002<\/code><\/pre>\n<h2><span class=\"ez-toc-section\" id=\"%E5%86%85%E5%AE%B9%E5%B0%8F%E7%BB%93\"><\/span>\u5185\u5bb9\u5c0f\u7ed3<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<ul>\n<li>\u5927\u6a21\u578b\u53ef\u4ee5\u63a5\u53d7\u8f93\u5165\uff0c\u53ef\u4ee5\u5206\u6790&amp;\u63a8\u7406\u3001\u53ef\u4ee5\u8f93\u51fa\u6587\u5b57\\\u4ee3\u7801\\\u5a92\u4f53\uff0c\u4f46\u662f\u5bf9\u4e8e\u5b9e\u65f6\u7c7b\u7684\u95ee\u9898\uff0c\u6ca1\u6709\u80fd\u529b\u5904\u7406\u3002<\/li>\n<li><code>LLM Agent<\/code> \u662f\u4e00\u79cd\u80fd\u4ea7\u51fa\u4e0d\u5355\u662f\u7b80\u5355\u6587\u672c\u7684 AI \u7cfb\u7edf\uff0c\u5b83\u4f5c\u4e3a\u4e00\u79cd\u4eba\u5de5\u667a\u80fd\u4f53\uff0c\u5177\u5907\u73af\u5883\u611f\u77e5\u80fd\u529b\u3001\u81ea\u4e3b\u7406\u89e3\u3001\u51b3\u7b56\u5236\u5b9a\u53ca\u6267\u884c\u884c\u52a8\u80fd\u529b\u7684\u667a\u80fd\u5b9e\u4f53\u3002<\/li>\n<li>\u521b\u5efaAgent\u7684\u5927\u4f53\u6b65\u9aa4\u662f\uff1a\n<ul>\n<li>\u8fde\u63a5\u5927\u6a21\u578b<\/li>\n<li>\u5b9a\u4e49\u5de5\u5177\u51fd\u6570<\/li>\n<li>\u7ed9\u5927\u6a21\u578b\u7ed1\u5b9a\u5de5\u5177<\/li>\n<li>\u6784\u5efa\u5de5\u5177\u7684prompt<\/li>\n<li>\u521b\u5efaAgent<\/li>\n<li>\u8c03\u7528Agent<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<h2><span class=\"ez-toc-section\" id=\"%E5%8F%82%E8%80%83%E8%B5%84%E6%96%99\"><\/span>\u53c2\u8003\u8d44\u6599<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p><a href=\"https:\/\/zhuanlan.zhihu.com\/p\/697706325\">\u4e00\u6587\u5e26\u4f60\u4e86\u89e3\u5927\u6a21\u578b\u2014\u2014\u667a\u80fd\u4f53\uff08Agent\uff09<\/a><\/p>\n<p align=\"center\">\u6b22\u8fce\u5173\u6ce8\u516c\u4f17\u53f7\u4ee5\u83b7\u5f97\u6700\u65b0\u7684\u6587\u7ae0\u548c\u65b0\u95fb<\/p>\n<p><a href=\"https:\/\/17aitech.com\/wp-content\/uploads\/2024\/09\/\u626b\u7801_\u641c\u7d22\u8054\u5408\u4f20\u64ad\u6837\u5f0f-\u767d\u8272\u7248.bmp\" data-fancybox=\"images\" data-fancybox=\"gallery\"><img decoding=\"async\" src=\"https:\/\/17aitech.com\/wp-content\/uploads\/2024\/09\/\u626b\u7801_\u641c\u7d22\u8054\u5408\u4f20\u64ad\u6837\u5f0f-\u767d\u8272\u7248.bmp\" alt=\"\" \/><\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>\u524d\u8a00 \u7535\u5f71\u300a\u94a2\u94c1\u4fa0\u300b\u4e2d\u7684\u667a\u80fd\u52a9\u624bJ.A. [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":21173,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"aside","meta":{"site-sidebar-layout":"default","site-content-layout":"","ast-site-content-layout":"default","site-content-style":"default","site-sidebar-style":"default","ast-global-header-display":"","ast-banner-title-visibility":"","ast-main-header-display":"","ast-hfb-above-header-display":"","ast-hfb-below-header-display":"","ast-hfb-mobile-header-display":"","site-post-title":"","ast-breadcrumbs-content":"","ast-featured-img":"","footer-sml-layout":"","theme-transparent-header-meta":"default","adv-header-id-meta":"","stick-header-meta":"default","header-above-stick-meta":"","header-main-stick-meta":"","header-below-stick-meta":"","astra-migrate-meta-layouts":"set","ast-page-background-enabled":"default","ast-page-background-meta":{"desktop":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"ast-content-background-meta":{"desktop":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"footnotes":""},"categories":[28],"tags":[70,68],"class_list":["post-21158","post","type-post","status-publish","format-aside","has-post-thumbnail","hentry","category-blog","tag-agent","tag-68","post_format-post-format-aside"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.9 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>\u3010\u8bfe\u7a0b\u603b\u7ed3\u3011day30\uff1a\u5927\u6a21\u578b\u4e4bAgent\u7684\u521d\u6b65\u4e86\u89e3 - \u4e00\u8d77AI\u6280\u672f<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/17aitech.com\/?p=21158\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/17aitech.com\\\/?p=21158#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/17aitech.com\\\/?p=21158\"},\"author\":{\"name\":\"Dongming\",\"@id\":\"https:\\\/\\\/17aitech.com\\\/#\\\/schema\\\/person\\\/3d23bb6f7f115fcefc9ae7803a691739\"},\"headline\":\"\u3010\u8bfe\u7a0b\u603b\u7ed3\u3011day30\uff1a\u5927\u6a21\u578b\u4e4bAgent\u7684\u521d\u6b65\u4e86\u89e3\",\"datePublished\":\"2024-08-30T11:30:22+00:00\",\"dateModified\":\"2024-10-08T07:07:56+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/17aitech.com\\\/?p=21158\"},\"wordCount\":47,\"commentCount\":0,\"image\":{\"@id\":\"https:\\\/\\\/17aitech.com\\\/?p=21158#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/17aitech.com\\\/wp-content\\\/uploads\\\/2024\\\/08\\\/\u5c01\u9762-5.jpeg\",\"keywords\":[\"Agent\",\"\u5927\u6a21\u578b\"],\"articleSection\":[\"\u535a\u5ba2\u6587\u7ae0\"],\"inLanguage\":\"zh-Hans\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/17aitech.com\\\/?p=21158#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/17aitech.com\\\/?p=21158\",\"url\":\"https:\\\/\\\/17aitech.com\\\/?p=21158\",\"name\":\"\u3010\u8bfe\u7a0b\u603b\u7ed3\u3011day30\uff1a\u5927\u6a21\u578b\u4e4bAgent\u7684\u521d\u6b65\u4e86\u89e3 - \u4e00\u8d77AI\u6280\u672f\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/17aitech.com\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/17aitech.com\\\/?p=21158#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/17aitech.com\\\/?p=21158#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/17aitech.com\\\/wp-content\\\/uploads\\\/2024\\\/08\\\/\u5c01\u9762-5.jpeg\",\"datePublished\":\"2024-08-30T11:30:22+00:00\",\"dateModified\":\"2024-10-08T07:07:56+00:00\",\"author\":{\"@id\":\"https:\\\/\\\/17aitech.com\\\/#\\\/schema\\\/person\\\/3d23bb6f7f115fcefc9ae7803a691739\"},\"breadcrumb\":{\"@id\":\"https:\\\/\\\/17aitech.com\\\/?p=21158#breadcrumb\"},\"inLanguage\":\"zh-Hans\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/17aitech.com\\\/?p=21158\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"zh-Hans\",\"@id\":\"https:\\\/\\\/17aitech.com\\\/?p=21158#primaryimage\",\"url\":\"https:\\\/\\\/17aitech.com\\\/wp-content\\\/uploads\\\/2024\\\/08\\\/\u5c01\u9762-5.jpeg\",\"contentUrl\":\"https:\\\/\\\/17aitech.com\\\/wp-content\\\/uploads\\\/2024\\\/08\\\/\u5c01\u9762-5.jpeg\",\"width\":2400,\"height\":1348},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/17aitech.com\\\/?p=21158#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"\u9996\u9875\",\"item\":\"https:\\\/\\\/17aitech.com\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"\u3010\u8bfe\u7a0b\u603b\u7ed3\u3011day30\uff1a\u5927\u6a21\u578b\u4e4bAgent\u7684\u521d\u6b65\u4e86\u89e3\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/17aitech.com\\\/#website\",\"url\":\"https:\\\/\\\/17aitech.com\\\/\",\"name\":\"\u4e00\u8d77AI\u6280\u672f\",\"description\":\"\u8ba9AI\u77e5\u8bc6\u89e6\u624b\u53ef\u53ca\",\"alternateName\":\"\u4e00\u8d77AI\u6280\u672f\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/17aitech.com\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"zh-Hans\"},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/17aitech.com\\\/#\\\/schema\\\/person\\\/3d23bb6f7f115fcefc9ae7803a691739\",\"name\":\"Dongming\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"zh-Hans\",\"@id\":\"\\\/\\\/17aitech.com\\\/wp-content\\\/uploads\\\/member\\\/avatars\\\/238a0b923820dcc5.1732798681.jpg\",\"url\":\"\\\/\\\/17aitech.com\\\/wp-content\\\/uploads\\\/member\\\/avatars\\\/238a0b923820dcc5.1732798681.jpg\",\"contentUrl\":\"\\\/\\\/17aitech.com\\\/wp-content\\\/uploads\\\/member\\\/avatars\\\/238a0b923820dcc5.1732798681.jpg\",\"caption\":\"Dongming\"},\"description\":\"\u89c1\u5929\u5730\uff0c\u89c1\u4f17\u751f\uff0c\u89c1\u81ea\u5df1\u3002\",\"sameAs\":[\"http:\\\/\\\/17aitech.com\"],\"url\":\"https:\\\/\\\/17aitech.com\\\/?page_id=33738&user=1\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"\u3010\u8bfe\u7a0b\u603b\u7ed3\u3011day30\uff1a\u5927\u6a21\u578b\u4e4bAgent\u7684\u521d\u6b65\u4e86\u89e3 - \u4e00\u8d77AI\u6280\u672f","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:\/\/17aitech.com\/?p=21158","schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/17aitech.com\/?p=21158#article","isPartOf":{"@id":"https:\/\/17aitech.com\/?p=21158"},"author":{"name":"Dongming","@id":"https:\/\/17aitech.com\/#\/schema\/person\/3d23bb6f7f115fcefc9ae7803a691739"},"headline":"\u3010\u8bfe\u7a0b\u603b\u7ed3\u3011day30\uff1a\u5927\u6a21\u578b\u4e4bAgent\u7684\u521d\u6b65\u4e86\u89e3","datePublished":"2024-08-30T11:30:22+00:00","dateModified":"2024-10-08T07:07:56+00:00","mainEntityOfPage":{"@id":"https:\/\/17aitech.com\/?p=21158"},"wordCount":47,"commentCount":0,"image":{"@id":"https:\/\/17aitech.com\/?p=21158#primaryimage"},"thumbnailUrl":"https:\/\/17aitech.com\/wp-content\/uploads\/2024\/08\/\u5c01\u9762-5.jpeg","keywords":["Agent","\u5927\u6a21\u578b"],"articleSection":["\u535a\u5ba2\u6587\u7ae0"],"inLanguage":"zh-Hans","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/17aitech.com\/?p=21158#respond"]}]},{"@type":"WebPage","@id":"https:\/\/17aitech.com\/?p=21158","url":"https:\/\/17aitech.com\/?p=21158","name":"\u3010\u8bfe\u7a0b\u603b\u7ed3\u3011day30\uff1a\u5927\u6a21\u578b\u4e4bAgent\u7684\u521d\u6b65\u4e86\u89e3 - \u4e00\u8d77AI\u6280\u672f","isPartOf":{"@id":"https:\/\/17aitech.com\/#website"},"primaryImageOfPage":{"@id":"https:\/\/17aitech.com\/?p=21158#primaryimage"},"image":{"@id":"https:\/\/17aitech.com\/?p=21158#primaryimage"},"thumbnailUrl":"https:\/\/17aitech.com\/wp-content\/uploads\/2024\/08\/\u5c01\u9762-5.jpeg","datePublished":"2024-08-30T11:30:22+00:00","dateModified":"2024-10-08T07:07:56+00:00","author":{"@id":"https:\/\/17aitech.com\/#\/schema\/person\/3d23bb6f7f115fcefc9ae7803a691739"},"breadcrumb":{"@id":"https:\/\/17aitech.com\/?p=21158#breadcrumb"},"inLanguage":"zh-Hans","potentialAction":[{"@type":"ReadAction","target":["https:\/\/17aitech.com\/?p=21158"]}]},{"@type":"ImageObject","inLanguage":"zh-Hans","@id":"https:\/\/17aitech.com\/?p=21158#primaryimage","url":"https:\/\/17aitech.com\/wp-content\/uploads\/2024\/08\/\u5c01\u9762-5.jpeg","contentUrl":"https:\/\/17aitech.com\/wp-content\/uploads\/2024\/08\/\u5c01\u9762-5.jpeg","width":2400,"height":1348},{"@type":"BreadcrumbList","@id":"https:\/\/17aitech.com\/?p=21158#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"\u9996\u9875","item":"https:\/\/17aitech.com\/"},{"@type":"ListItem","position":2,"name":"\u3010\u8bfe\u7a0b\u603b\u7ed3\u3011day30\uff1a\u5927\u6a21\u578b\u4e4bAgent\u7684\u521d\u6b65\u4e86\u89e3"}]},{"@type":"WebSite","@id":"https:\/\/17aitech.com\/#website","url":"https:\/\/17aitech.com\/","name":"\u4e00\u8d77AI\u6280\u672f","description":"\u8ba9AI\u77e5\u8bc6\u89e6\u624b\u53ef\u53ca","alternateName":"\u4e00\u8d77AI\u6280\u672f","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/17aitech.com\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"zh-Hans"},{"@type":"Person","@id":"https:\/\/17aitech.com\/#\/schema\/person\/3d23bb6f7f115fcefc9ae7803a691739","name":"Dongming","image":{"@type":"ImageObject","inLanguage":"zh-Hans","@id":"\/\/17aitech.com\/wp-content\/uploads\/member\/avatars\/238a0b923820dcc5.1732798681.jpg","url":"\/\/17aitech.com\/wp-content\/uploads\/member\/avatars\/238a0b923820dcc5.1732798681.jpg","contentUrl":"\/\/17aitech.com\/wp-content\/uploads\/member\/avatars\/238a0b923820dcc5.1732798681.jpg","caption":"Dongming"},"description":"\u89c1\u5929\u5730\uff0c\u89c1\u4f17\u751f\uff0c\u89c1\u81ea\u5df1\u3002","sameAs":["http:\/\/17aitech.com"],"url":"https:\/\/17aitech.com\/?page_id=33738&user=1"}]}},"_links":{"self":[{"href":"https:\/\/17aitech.com\/index.php?rest_route=\/wp\/v2\/posts\/21158","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/17aitech.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/17aitech.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/17aitech.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/17aitech.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=21158"}],"version-history":[{"count":4,"href":"https:\/\/17aitech.com\/index.php?rest_route=\/wp\/v2\/posts\/21158\/revisions"}],"predecessor-version":[{"id":33214,"href":"https:\/\/17aitech.com\/index.php?rest_route=\/wp\/v2\/posts\/21158\/revisions\/33214"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/17aitech.com\/index.php?rest_route=\/wp\/v2\/media\/21173"}],"wp:attachment":[{"href":"https:\/\/17aitech.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=21158"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/17aitech.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=21158"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/17aitech.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=21158"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}