{"id":15352,"date":"2024-08-20T02:04:31","date_gmt":"2024-08-19T18:04:31","guid":{"rendered":"https:\/\/17aitech.com\/?p=15352"},"modified":"2024-10-08T15:09:27","modified_gmt":"2024-10-08T07:09:27","slug":"%e3%80%90%e8%af%be%e7%a8%8b%e6%80%bb%e7%bb%93%e3%80%91day26%ef%bc%9a%e5%a4%a7%e6%a8%a1%e5%9e%8b%e5%ba%94%e7%94%a8%e5%bc%80%e5%8f%91%e4%b9%8bprompt%e8%bf%9b%e9%98%b6%e4%bd%bf%e7%94%a8","status":"publish","type":"post","link":"https:\/\/17aitech.com\/?p=15352","title":{"rendered":"\u3010\u8bfe\u7a0b\u603b\u7ed3\u3011day26\uff1a\u5927\u6a21\u578b\u5e94\u7528\u5f00\u53d1\u4e4bPrompt\u8fdb\u9636\u4f7f\u7528"},"content":{"rendered":"<div id=\"ez-toc-container\" class=\"ez-toc-v2_0_78 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=15352\/#%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=15352\/#LangChain%E6%A1%86%E6%9E%B6%E6%9E%84%E6%88%90\" >LangChain\u6846\u67b6\u6784\u6210<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-3\" href=\"https:\/\/17aitech.com\/?p=15352\/#LangChain-Community\" >LangChain-Community<\/a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-4\" href=\"https:\/\/17aitech.com\/?p=15352\/#%E8%BF%9E%E6%8E%A5%E7%AC%AC%E4%B8%89%E6%96%B9%E5%A4%A7%E6%A8%A1%E5%9E%8B\" >\u8fde\u63a5\u7b2c\u4e09\u65b9\u5927\u6a21\u578b<\/a><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-5\" href=\"https:\/\/17aitech.com\/?p=15352\/#LangChain-Core\" >LangChain-Core<\/a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-6\" href=\"https:\/\/17aitech.com\/?p=15352\/#Prompt%E5%9F%BA%E7%A1%80%E7%94%A8%E6%B3%95%E5%9B%9E%E9%A1%BE\" >Prompt\u57fa\u7840\u7528\u6cd5\u56de\u987e<\/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=15352\/#Prompt%E8%BF%9B%E9%98%B6%E7%94%A8%E6%B3%95\" >Prompt\u8fdb\u9636\u7528\u6cd5<\/a><ul class='ez-toc-list-level-4' ><li class='ez-toc-heading-level-4'><a class=\"ez-toc-link ez-toc-heading-8\" href=\"https:\/\/17aitech.com\/?p=15352\/#promptpartial%E7%94%A8%E6%B3%95\" >prompt.partial\u7528\u6cd5<\/a><ul class='ez-toc-list-level-5' ><li class='ez-toc-heading-level-5'><a class=\"ez-toc-link ez-toc-heading-9\" href=\"https:\/\/17aitech.com\/?p=15352\/#%E4%BD%BF%E7%94%A8%E5%9C%BA%E6%99%AF\" >\u4f7f\u7528\u573a\u666f<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-5'><a class=\"ez-toc-link ez-toc-heading-10\" href=\"https:\/\/17aitech.com\/?p=15352\/#%E4%BD%BF%E7%94%A8%E6%96%B9%E6%B3%95\" >\u4f7f\u7528\u65b9\u6cd5<\/a><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-4'><a class=\"ez-toc-link ez-toc-heading-11\" href=\"https:\/\/17aitech.com\/?p=15352\/#FewShotPromptTemplate%E7%94%A8%E6%B3%95\" >FewShotPromptTemplate\u7528\u6cd5<\/a><ul class='ez-toc-list-level-5' ><li class='ez-toc-heading-level-5'><a class=\"ez-toc-link ez-toc-heading-12\" href=\"https:\/\/17aitech.com\/?p=15352\/#%E4%BD%BF%E7%94%A8%E5%9C%BA%E6%99%AF-2\" >\u4f7f\u7528\u573a\u666f<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-5'><a class=\"ez-toc-link ez-toc-heading-13\" href=\"https:\/\/17aitech.com\/?p=15352\/#%E4%BD%BF%E7%94%A8%E6%96%B9%E6%B3%95-2\" >\u4f7f\u7528\u65b9\u6cd5<\/a><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-4'><a class=\"ez-toc-link ez-toc-heading-14\" href=\"https:\/\/17aitech.com\/?p=15352\/#PipelinePromptTemplate%E7%94%A8%E6%B3%95\" >PipelinePromptTemplate\u7528\u6cd5<\/a><ul class='ez-toc-list-level-5' ><li class='ez-toc-heading-level-5'><a class=\"ez-toc-link ez-toc-heading-15\" href=\"https:\/\/17aitech.com\/?p=15352\/#%E4%BD%BF%E7%94%A8%E5%9C%BA%E6%99%AF-3\" >\u4f7f\u7528\u573a\u666f<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-5'><a class=\"ez-toc-link ez-toc-heading-16\" href=\"https:\/\/17aitech.com\/?p=15352\/#%E4%BD%BF%E7%94%A8%E6%96%B9%E6%B3%95-3\" >\u4f7f\u7528\u65b9\u6cd5<\/a><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-4'><a class=\"ez-toc-link ez-toc-heading-17\" href=\"https:\/\/17aitech.com\/?p=15352\/#FewShotChatMessagePromptTemplate%E7%9A%84%E4%BD%BF%E7%94%A8\" >FewShotChatMessagePromptTemplate\u7684\u4f7f\u7528<\/a><ul class='ez-toc-list-level-5' ><li class='ez-toc-heading-level-5'><a class=\"ez-toc-link ez-toc-heading-18\" href=\"https:\/\/17aitech.com\/?p=15352\/#%E4%BD%BF%E7%94%A8%E5%9C%BA%E6%99%AF-4\" >\u4f7f\u7528\u573a\u666f<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-5'><a class=\"ez-toc-link ez-toc-heading-19\" href=\"https:\/\/17aitech.com\/?p=15352\/#%E4%BD%BF%E7%94%A8%E6%96%B9%E6%B3%95-4\" >\u4f7f\u7528\u65b9\u6cd5<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-5'><a class=\"ez-toc-link ez-toc-heading-20\" href=\"https:\/\/17aitech.com\/?p=15352\/#%E7%9B%B8%E6%AF%94_FewShotPromptTemplate_%E7%9A%84%E5%8C%BA%E5%88%AB\" >\u76f8\u6bd4 FewShotPromptTemplate \u7684\u533a\u522b<\/a><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-4'><a class=\"ez-toc-link ez-toc-heading-21\" href=\"https:\/\/17aitech.com\/?p=15352\/#MessagePlaceholder%E6%B6%88%E6%81%AF%E5%8D%A0%E4%BD%8D%E7%AC%A6%E7%94%A8%E6%B3%95\" >MessagePlaceholder(\u6d88\u606f\u5360\u4f4d\u7b26)\u7528\u6cd5<\/a><ul class='ez-toc-list-level-5' ><li class='ez-toc-heading-level-5'><a class=\"ez-toc-link ez-toc-heading-22\" href=\"https:\/\/17aitech.com\/?p=15352\/#%E4%BD%BF%E7%94%A8%E5%9C%BA%E6%99%AF-5\" >\u4f7f\u7528\u573a\u666f<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-5'><a class=\"ez-toc-link ez-toc-heading-23\" href=\"https:\/\/17aitech.com\/?p=15352\/#%E4%BD%BF%E7%94%A8%E6%96%B9%E6%B3%95-5\" >\u4f7f\u7528\u65b9\u6cd5<\/a><\/li><\/ul><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-24\" href=\"https:\/\/17aitech.com\/?p=15352\/#OutputParser%E8%BE%93%E5%87%BA%E8%A7%A3%E6%9E%90%E5%99%A8%E8%BF%9B%E9%98%B6%E7%94%A8%E6%B3%95\" >OutputParser\u8f93\u51fa\u89e3\u6790\u5668\u8fdb\u9636\u7528\u6cd5<\/a><ul class='ez-toc-list-level-4' ><li class='ez-toc-heading-level-4'><a class=\"ez-toc-link ez-toc-heading-25\" href=\"https:\/\/17aitech.com\/?p=15352\/#CommaSeparatedListOutputParser%E7%9A%84%E4%BD%BF%E7%94%A8\" >CommaSeparatedListOutputParser\u7684\u4f7f\u7528<\/a><ul class='ez-toc-list-level-5' ><li class='ez-toc-heading-level-5'><a class=\"ez-toc-link ez-toc-heading-26\" href=\"https:\/\/17aitech.com\/?p=15352\/#%E4%BD%BF%E7%94%A8%E5%9C%BA%E6%99%AF-6\" >\u4f7f\u7528\u573a\u666f<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-5'><a class=\"ez-toc-link ez-toc-heading-27\" href=\"https:\/\/17aitech.com\/?p=15352\/#%E4%BD%BF%E7%94%A8%E6%96%B9%E6%B3%95-6\" >\u4f7f\u7528\u65b9\u6cd5<\/a><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-4'><a class=\"ez-toc-link ez-toc-heading-28\" href=\"https:\/\/17aitech.com\/?p=15352\/#DatetimeOutputParser%E7%9A%84%E4%BD%BF%E7%94%A8\" >DatetimeOutputParser\u7684\u4f7f\u7528<\/a><ul class='ez-toc-list-level-5' ><li class='ez-toc-heading-level-5'><a class=\"ez-toc-link ez-toc-heading-29\" href=\"https:\/\/17aitech.com\/?p=15352\/#%E4%BD%BF%E7%94%A8%E5%9C%BA%E6%99%AF-7\" >\u4f7f\u7528\u573a\u666f<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-5'><a class=\"ez-toc-link ez-toc-heading-30\" href=\"https:\/\/17aitech.com\/?p=15352\/#%E4%BD%BF%E7%94%A8%E6%96%B9%E6%B3%95-7\" >\u4f7f\u7528\u65b9\u6cd5<\/a><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-4'><a class=\"ez-toc-link ez-toc-heading-31\" href=\"https:\/\/17aitech.com\/?p=15352\/#EnumOutputParser%E7%9A%84%E4%BD%BF%E7%94%A8\" >EnumOutputParser\u7684\u4f7f\u7528<\/a><ul class='ez-toc-list-level-5' ><li class='ez-toc-heading-level-5'><a class=\"ez-toc-link ez-toc-heading-32\" href=\"https:\/\/17aitech.com\/?p=15352\/#%E4%BD%BF%E7%94%A8%E5%9C%BA%E6%99%AF-8\" >\u4f7f\u7528\u573a\u666f<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-5'><a class=\"ez-toc-link ez-toc-heading-33\" href=\"https:\/\/17aitech.com\/?p=15352\/#%E4%BD%BF%E7%94%A8%E6%96%B9%E6%B3%95-8\" >\u4f7f\u7528\u65b9\u6cd5<\/a><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-4'><a class=\"ez-toc-link ez-toc-heading-34\" href=\"https:\/\/17aitech.com\/?p=15352\/#StructuredOutputParser%E7%9A%84%E4%BD%BF%E7%94%A8\" >StructuredOutputParser\u7684\u4f7f\u7528<\/a><ul class='ez-toc-list-level-5' ><li class='ez-toc-heading-level-5'><a class=\"ez-toc-link ez-toc-heading-35\" href=\"https:\/\/17aitech.com\/?p=15352\/#%E4%BD%BF%E7%94%A8%E5%9C%BA%E6%99%AF-9\" >\u4f7f\u7528\u573a\u666f<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-5'><a class=\"ez-toc-link ez-toc-heading-36\" href=\"https:\/\/17aitech.com\/?p=15352\/#%E4%BD%BF%E7%94%A8%E6%96%B9%E6%B3%95-9\" >\u4f7f\u7528\u65b9\u6cd5<\/a><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-4'><a class=\"ez-toc-link ez-toc-heading-37\" href=\"https:\/\/17aitech.com\/?p=15352\/#PydanticOutputParser%E7%9A%84%E4%BD%BF%E7%94%A8\" >PydanticOutputParser\u7684\u4f7f\u7528<\/a><ul class='ez-toc-list-level-5' ><li class='ez-toc-heading-level-5'><a class=\"ez-toc-link ez-toc-heading-38\" href=\"https:\/\/17aitech.com\/?p=15352\/#%E4%BD%BF%E7%94%A8%E5%9C%BA%E6%99%AF-10\" >\u4f7f\u7528\u573a\u666f<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-5'><a class=\"ez-toc-link ez-toc-heading-39\" href=\"https:\/\/17aitech.com\/?p=15352\/#%E4%BD%BF%E7%94%A8%E6%96%B9%E6%B3%95-10\" >\u4f7f\u7528\u65b9\u6cd5<\/a><\/li><\/ul><\/li><\/ul><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-40\" href=\"https:\/\/17aitech.com\/?p=15352\/#%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-41\" href=\"https:\/\/17aitech.com\/?p=15352\/#%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>\u5728\u4e0a\u4e00\u7ae0<a href=\"https:\/\/17aitech.com\/?p=14624\">\u3010\u8bfe\u7a0b\u603b\u7ed3\u3011day25\uff1a\u5927\u6a21\u578b\u5e94\u7528\u4e4bPrompt\u7684\u521d\u6b65\u4e86\u89e3<\/a>\u7684\u5b66\u4e60\u4e2d\uff0c\u6211\u4eec\u4e86\u89e3\u4e86\u5927\u6a21\u578b\u4e0a\u5c42\u5f00\u53d1\u4e2dPrompt\u7684\u57fa\u672c\u6d41\u7a0b\u3002\u672c\u7ae0\uff0c\u6211\u4eec\u5c06\u5bf9Prompt\u8fdb\u884c\u6269\u5c55\u5b66\u4e60\uff0c\u5305\u62ec\uff1apiplineprompt\u3001MessagePlaceholder\u6d88\u606f\u5360\u4f4d\u7b26\u3001CommaSeparatedListOutputParser\u8f93\u51fa\u89e3\u6790\u5668\u3001DatetimeOutputParser\u65e5\u671f\u8f93\u51fa\u89e3\u6790\u5668\u3001EnumOutputParser\u679a\u4e3e\u8f93\u51fa\u89e3\u6790\u5668\u3001StructuredOutputParser\u7ed3\u6784\u5316\u8f93\u51fa\u89e3\u6790\u5668\u3001PydanticOutputParserPydantic\u8f93\u51fa\u89e3\u6790\u5668\u7b49\u3002<\/p>\n<h2><span class=\"ez-toc-section\" id=\"LangChain%E6%A1%86%E6%9E%B6%E6%9E%84%E6%88%90\"><\/span>LangChain\u6846\u67b6\u6784\u6210<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p><a href=\"https:\/\/17aitech.com\/wp-content\/uploads\/2024\/08\/langchain\u7684\u67b6\u6784\u56fe.png\" data-fancybox=\"images\" data-fancybox=\"gallery\"><img decoding=\"async\" src=\"https:\/\/17aitech.com\/wp-content\/uploads\/2024\/08\/langchain\u7684\u67b6\u6784\u56fe.png\" alt=\"\" \/><\/a><\/p>\n<blockquote>\n<p>LangChain\u7684\u67b6\u6784\u56fe\u4e00\u76f4\u5728\u66f4\u65b0\uff0c\u4e0a\u8ff0\u4e3a v1.0 \u7684\u67b6\u6784\u56fe<br \/>\n\u5730\u5740\uff1a<a href=\"https:\/\/python.langchain.com\/v0.1\/docs\/get_started\/introduction\/\">https:\/\/python.langchain.com\/v0.1\/docs\/get_started\/introduction\/<\/a><\/p>\n<\/blockquote>\n<p><code>LangChain<\/code> \u7684\u6574\u4f53\u67b6\u6784\u4e3b\u8981\u7531\u4ee5\u4e0b\u51e0\u4e2a\u7ec4\u4ef6\u6784\u6210\uff1a<code>LangSmith<\/code>\u3001<code>LangServe<\/code>\u3001<code>Templates<\/code>\u3001<code>LangChain-Community<\/code> \u548c <code>LangChain-Core<\/code>\u3002<\/p>\n<ul>\n<li>\n<p><strong>LangChain-Core<\/strong><br \/>\n<strong>\u7b80\u4ecb<\/strong>\uff1a<code>LangChain-Core<\/code> \u662f <code>LangChain<\/code> \u7684\u6838\u5fc3\u5e93\uff0c\u63d0\u4f9b\u4e86\u57fa\u672c\u7684\u529f\u80fd\u548c\u6a21\u5757\uff0c\u652f\u6301\u6784\u5efa\u548c\u7ba1\u7406\u94fe\u5f0f\u5e94\u7528\u7a0b\u5e8f\u3002<br \/>\n<strong>\u7ec4\u4ef6<\/strong>\uff1a\u5305\u62ec\u7528\u4e8e<strong>\u5904\u7406\u6587\u672c<\/strong>\u3001<strong>\u6570\u636e<\/strong>\u3001<strong>\u6a21\u578b\u8c03\u7528<\/strong>\u7b49\u7684\u57fa\u672c\u5de5\u5177\u548c\u63a5\u53e3\u3002<br \/>\n<strong>\u4f5c\u7528<\/strong>\uff1a\u901a\u8fc7 <code>LangChain-Core<\/code>\uff0c\u5f00\u53d1\u8005\u53ef\u4ee5\u8f7b\u677e\u96c6\u6210\u4e0d\u540c\u7684\u8bed\u8a00\u6a21\u578b\u4ee5\u521b\u5efa\u5bf9\u8bdd\u7cfb\u7edf\u3002<\/p>\n<\/li>\n<li>\n<p><strong>LangChain-Community<\/strong><br \/>\n<strong>\u7b80\u4ecb<\/strong>\uff1a<code>LangChain-Community<\/code> \u662f\u4e00\u4e2a\u793e\u533a\u9a71\u52a8\u7684\u90e8\u5206\uff0c\u5305\u542b\u6765\u81ea\u5f00\u53d1\u8005\u548c\u7528\u6237\u7684\u8d21\u732e\u548c\u6269\u5c55\u3002<br \/>\n<strong>\u7ec4\u4ef6<\/strong>\uff1a\u5305\u542b\u6765\u81ea\u5f00\u53d1\u8005\u548c\u7528\u6237\u7684<strong>\u793e\u533a\u8d21\u732e\u6a21\u5757<\/strong>\u3001<strong>\u63d2\u4ef6\u5e93<\/strong>\u3001\u8ba8\u8bba\u8bba\u575b\u7b49\u4e00\u5957\u751f\u6001\u7cfb\u7edf\u3002<br \/>\n<strong>\u4f5c\u7528<\/strong>\uff1a\u901a\u8fc7\u4f7f\u7528 <code>LangChain-community<\/code> \u4e2d\u7684 \u63d2\u4ef6\u5e93(\u4f8b\u5982\uff1aTongyi)\uff0c\u53ef\u4ee5\u5feb\u901f\u8fde\u63a5\u5bf9\u5e94\u7684\u5927\u6a21\u578b(\u4f8b\u5982\uff1a\u963f\u91cc\u7684\u901a\u4e49\u5343\u95ee\u5927\u6a21\u578b)\u3002<\/p>\n<\/li>\n<li>\n<p><strong>Templates<\/strong><br \/>\n<strong>\u7b80\u4ecb<\/strong>\uff1a<code>Templates<\/code> \u63d0\u4f9b\u4e86\u4e00\u7cfb\u5217\u9884\u5b9a\u4e49\u7684\u6a21\u677f\u548c\u793a\u4f8b\uff0c\u5e2e\u52a9\u5f00\u53d1\u8005\u5feb\u901f\u6784\u5efa\u5e38\u89c1\u7684\u5e94\u7528\u573a\u666f\u3002<br \/>\n<strong>\u7ec4\u4ef6<\/strong>\uff1a\u793a\u4f8b\u6a21\u677f\u5e93\u3001\u7528\u4f8b\u6307\u5357\u3001\u5feb\u901f\u542f\u52a8\u5de5\u5177\u3002<br \/>\n<strong>\u4f5c\u7528<\/strong>\uff1a\u901a\u8fc7\u4f7f\u7528 <code>Templates<\/code>\uff0c\u5f00\u53d1\u8005\u53ef\u4ee5\u8f7b\u677e\u521b\u5efa <code>FAQ<\/code>\u7cfb\u7edf\uff0c\u800c\u65e0\u9700\u4ece\u5934\u5f00\u59cb\u7f16\u5199\u4ee3\u7801\u3002<\/p>\n<\/li>\n<li>\n<p><strong>LangServe<\/strong><br \/>\n<strong>\u7b80\u4ecb<\/strong>\uff1a<code>LangServe<\/code> \u662f\u4e00\u4e2a\u670d\u52a1\u6846\u67b6\uff0c\u7528\u4e8e\u5c06 <code>LangChain<\/code> \u5e94\u7528\u90e8\u7f72\u4e3a\u53ef\u8bbf\u95ee\u7684 API\u3002<br \/>\n<strong>\u7ec4\u4ef6<\/strong>\uff1aAPI \u6784\u5efa\u5de5\u5177\u3001\u90e8\u7f72\u7ba1\u7406\u6a21\u5757\u3001\u8bf7\u6c42\u5904\u7406\u63a5\u53e3\u3002<br \/>\n<strong>\u7528\u9014<\/strong>\uff1a\u901a\u8fc7\u4f7f\u7528<code> LangServe<\/code>\uff0c\u7528\u6237\u53ef\u4ee5\u5c06\u804a\u5929\u673a\u5668\u4eba\u5e94\u7528\u5feb\u901f\u90e8\u7f72\u4e3a\u53ef\u8bbf\u95ee\u7684 API\uff0c\u65b9\u4fbf\u5176\u4ed6\u7cfb\u7edf\u96c6\u6210\u3002<\/p>\n<\/li>\n<li>\n<p><strong>LangSmith<\/strong><br \/>\n<strong>\u529f\u80fd<\/strong>\uff1a<code>LangSmith<\/code> \u662f\u4e00\u4e2a\u5de5\u5177\uff0c\u65e8\u5728\u5e2e\u52a9\u5f00\u53d1\u8005\u5728\u6784\u5efa\u548c\u8c03\u8bd5 <code>LangChain<\/code> \u5e94\u7528\u65f6\u8fdb\u884c\u66f4\u597d\u7684\u7ba1\u7406\u548c\u76d1\u63a7\u3002<br \/>\n\u7ec4\u4ef6\uff1a\u53ef\u89c6\u5316\u76d1\u63a7\u754c\u9762\u3001\u8c03\u8bd5\u5de5\u5177\u3001\u6027\u80fd\u5206\u6790\u4eea\u3002<br \/>\n<strong>\u529f\u80fd<\/strong>\uff1a\u901a\u8fc7\u4f7f\u7528 <code>LangSmith<\/code>\uff0c\u5f00\u53d1\u8005\u53ef\u4ee5\u5b9e\u65f6\u76d1\u63a7\u5e94\u7528\u7684\u8fd0\u884c\u72b6\u6001\uff0c\u5feb\u901f\u8bc6\u522b\u5e76\u89e3\u51b3\u95ee\u9898\u3002<\/p>\n<\/li>\n<\/ul>\n<p><code>LangChain<\/code> \u7684\u6574\u4f53\u67b6\u6784\u53ef\u4ee5\u89c6\u4e3a\u4e00\u4e2a\u6a21\u5757\u5316\u7684\u7cfb\u7edf\uff0c\u5404\u4e2a\u7ec4\u4ef6\u76f8\u4e92\u534f\u4f5c\uff0c\u5f62\u6210\u4e86\u4e00\u4e2a\u5f3a\u5927\u7684\u94fe\u5f0f\u5e94\u7528\u5f00\u53d1\u5e73\u53f0\u3002\u901a\u8fc7 <code>LangChain-Core<\/code> \u63d0\u4f9b\u7684\u57fa\u7840\u529f\u80fd\uff0c\u7ed3\u5408 <code>LangSmith<\/code> \u7684\u7ba1\u7406\u5de5\u5177\u3001<code>LangServ<\/code>e \u7684\u90e8\u7f72\u80fd\u529b\u3001<code>Templates<\/code> \u7684\u5feb\u901f\u5f00\u53d1\u652f\u6301\u4ee5\u53ca <code>LangChain-Community<\/code> \u7684\u4e30\u5bcc\u8d44\u6e90\uff0c\u5f00\u53d1\u8005\u80fd\u591f\u9ad8\u6548\u5730\u6784\u5efa\u548c\u53d1\u5e03\u57fa\u4e8e\u8bed\u8a00\u6a21\u578b\u7684\u5e94\u7528\u3002<\/p>\n<p>\u5728LangChain\u7684\u5b98\u7f51\uff0c\u53ef\u4ee5\u627e\u5230\u5bf9\u5e94API\u6587\u6863\u8fde\u63a5\uff0c\u5176\u4e2d\u8be6\u7ec6\u4ecb\u7ecd\u4e86\u5404\u4e2a\u6a21\u5757\u7684API\u4f7f\u7528\u8bf4\u660e\u3002<\/p>\n<p><strong>\u5730\u5740<\/strong>\uff1a<a href=\"https:\/\/api.python.langchain.com\/en\/latest\/langchain_api_reference.html\">https:\/\/api.python.langchain.com\/en\/latest\/langchain_api_reference.html<\/a><\/p>\n<h2><span class=\"ez-toc-section\" id=\"LangChain-Community\"><\/span>LangChain-Community<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p><a href=\"https:\/\/17aitech.com\/wp-content\/uploads\/2024\/08\/LangChain-Community\u4ecb\u7ecd.png\" data-fancybox=\"images\" data-fancybox=\"gallery\"><img decoding=\"async\" src=\"https:\/\/17aitech.com\/wp-content\/uploads\/2024\/08\/LangChain-Community\u4ecb\u7ecd.png\" alt=\"\" \/><\/a><br \/>\n\u5728LangChain-Community\u4e2d\uff0c\u63d0\u4f9b\u4e86\u5927\u91cf\u7684\u7b2c\u4e09\u65b9\u5927\u6a21\u578b\u8fde\u63a5\u65b9\u6cd5\uff0c\u4f8b\u5982\uff1a<\/p>\n<ul>\n<li><code>chat_models.azureml_endpoint.CustomOpenAIChatContentFormatter<\/code>\uff1aOpenAI API \u683c\u5f0f\u5316\u5668\uff0c\u7528\u4e8e\u5904\u7406\u4e0e OpenAI \u7c7b\u4f3c\u7684\u804a\u5929\u6a21\u578b\u5185\u5bb9\u3002<\/li>\n<li><code>chat_models.baichuan.ChatBaichuan<\/code>\uff1a\u767e\u5ddd\u5927\u6a21\u578b\u7684\u6574\u5408\u5305\uff0c\u53ef\u4ee5\u8fde\u63a5\u767e\u5ddd\u5927\u6a21\u578b\u3002<\/li>\n<li><code>chat_models.baidu_qianfan_endpoint.QianfanChatEndpoint<\/code>\uff1a\u767e\u5ea6 Qianfan \u804a\u5929\u6a21\u578b\u7684\u6574\u5408\u5305\uff0c\u53ef\u4ee5\u63a5\u5165\u767e\u5ea6\u7684\u804a\u5929\u670d\u52a1\u3002<\/li>\n<li><code>chat_models.google_palm.ChatGooglePalm<\/code>\uff1aGoogle PaLM \u804a\u5929\u6a21\u578b\u7684 API\uff0c\u53ef\u4ee5\u8bbf\u95ee Google \u63d0\u4f9b\u7684\u804a\u5929\u670d\u52a1\u3002<\/li>\n<li><code>chat_models.hunyuan.ChatHunyuan<\/code>\uff1a\u817e\u8baf Hunyuan \u804a\u5929\u6a21\u578b\u7684 API\uff0c\u53ef\u4ee5\u63a5\u5165\u817e\u8baf\u7684\u804a\u5929\u670d\u52a1\u3002<\/li>\n<li><code>chat_models.ollama.ChatOllama<\/code>\uff1aOllama \u672c\u5730\u8fd0\u884c\u7684\u5927\u8bed\u8a00\u6a21\u578b\uff0c\u53ef\u4ee5\u5728\u672c\u5730\u8fdb\u884c\u804a\u5929\u3002<\/li>\n<li><code>chat_models.pai_eas_endpoint.PaiEasChatEndpoint<\/code>\uff1a\u963f\u91cc\u4e91 PAI-EAS \u804a\u5929\u6a21\u578b\u7684 API\uff0c\u53ef\u4ee5\u63a5\u5165\u963f\u91cc\u4e91\u7684\u804a\u5929\u670d\u52a1\u3002<\/li>\n<li><code>chat_models.tongyi.ChatTongyi<\/code>\uff1a\u963f\u91cc\u5df4\u5df4 Tongyi Qwen \u804a\u5929\u6a21\u578b\u7684\u6574\u5408\u5305\uff0c\u53ef\u4ee5\u63a5\u5165\u963f\u91cc\u5df4\u5df4\u7684\u804a\u5929\u670d\u52a1\u3002<br \/>\n\u52a1\u3002<\/li>\n<li><code>chat_models.zhipuai.ChatZhipuAI<\/code>\uff1aZhipuAI \u804a\u5929\u6a21\u578b\u7684\u6574\u5408\u5305\uff0c\u53ef\u4ee5\u63a5\u5165 ZhipuAI \u63d0\u4f9b\u7684\u804a\u5929\u670d\u52a1\u3002<\/li>\n<\/ul>\n<h3><span class=\"ez-toc-section\" id=\"%E8%BF%9E%E6%8E%A5%E7%AC%AC%E4%B8%89%E6%96%B9%E5%A4%A7%E6%A8%A1%E5%9E%8B\"><\/span>\u8fde\u63a5\u7b2c\u4e09\u65b9\u5927\u6a21\u578b<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>\u5728<a href=\"https:\/\/17aitech.com\/?p=14624#toc-9\">\u3010\u8bfe\u7a0b\u603b\u7ed3\u3011day25\uff1a\u5927\u6a21\u578b\u5e94\u7528\u4e4bPrompt\u7684\u521d\u6b65\u4e86\u89e3<\/a>\uff0c\u6211\u4eec\u5df2\u5c1d\u8bd5\u8fde\u63a5\u8fc7\u963f\u91cc\u4e91\u7684\u901a\u4e49\u5343\u95ee\u5927\u6a21\u578b\u3002\u672c\u6b21\uff0c\u6211\u4eec\u5c1d\u8bd5\u8fde\u63a5\u767e\u5ea6\u7684\u6587\u5fc3\u4e00\u8a00\u5927\u6a21\u578b\u3002<\/p>\n<p><strong>\u7b2c\u4e00\u6b65<\/strong>\uff1a\u8bbf\u95ee<a href=\"https:\/\/qianfan.cloud.baidu.com\/\">\u767e\u5ea6\u5343\u5e06\u5927\u6a21\u578b\u5b98\u7f51<\/a>\u6ce8\u518c\/\u767b\u5f55\u8d26\u53f7\uff0c<\/p>\n<p><strong>\u7b2c\u4e8c\u6b65<\/strong>\uff1a\u5728\u5e94\u7528\u63a5\u5165-&gt;\u521b\u5efa\u5e94\u7528-&gt;\u8f93\u5165\u5e94\u7528\u540d\u79f0\u548c\u5e94\u7528\u63cf\u8ff0-&gt;\u70b9\u51fb\u521b\u5efa\u5e94\u7528<br \/>\n<a href=\"https:\/\/17aitech.com\/wp-content\/uploads\/2024\/08\/\u6ce8\u518c\u5343\u5e06\u5927\u6a21\u578b.png\" data-fancybox=\"images\" data-fancybox=\"gallery\"><img decoding=\"async\" src=\"https:\/\/17aitech.com\/wp-content\/uploads\/2024\/08\/\u6ce8\u518c\u5343\u5e06\u5927\u6a21\u578b.png\" alt=\"\" \/><\/a><\/p>\n<p><strong>\u7b2c\u4e09\u6b65<\/strong>\uff1a\u5728\u8ba1\u8d39\u7ba1\u7406-&gt;\u9009\u62e9\u5f00\u901a\u4ed8\u8d39-&gt;\u5b8c\u6210\u4e2a\u4eba\u8ba4\u8bc1-&gt;\u5f00\u901a\u514d\u8d39\u670d\u52a1(\u5343\u5e06\u6709\u4e00\u4e9b\u670d\u52a1\u662f\u514d\u8d39\u7684\uff0c\u8bd5\u7528\u671f\u95f4\u53ef\u4ee5\u9009\u62e9\u8fd9\u4e9b\u514d\u8d39\u670d\u52a1)<br \/>\n<a href=\"https:\/\/17aitech.com\/wp-content\/uploads\/2024\/08\/\u5f00\u901a\u514d\u8d39\u670d\u52a1.png\" data-fancybox=\"images\" data-fancybox=\"gallery\"><img decoding=\"async\" src=\"https:\/\/17aitech.com\/wp-content\/uploads\/2024\/08\/\u5f00\u901a\u514d\u8d39\u670d\u52a1.png\" alt=\"\" \/><\/a><\/p>\n<p><strong>\u7b2c\u56db\u6b65<\/strong>\uff1a\u590d\u5236\u5e94\u7528\u7684API KEY \u548c Secret KEY\u5185\u5bb9\uff0c\u4fdd\u5b58\u5230\u6587\u4ef6<code>.ernie<\/code>\u4e2d\uff0c\u6587\u4ef6\u683c\u5f0f\u4e3a\uff1a<\/p>\n<pre><code class=\"language-bash\">QIANFAN_AK=&quot;zbxxxx&quot;\nQIANFAN_SK=&quot;cSRxxxx&quot;<\/code><\/pre>\n<blockquote>\n<p>\u5173\u4e8eAPI KEY\u7684\u683c\u5f0f\uff0c\u5728<a href=\"https:\/\/api.python.langchain.com\/en\/latest\/chat_models\/langchain_community.chat_models.baidu_qianfan_endpoint.QianfanChatEndpoint.html#langchain_community.chat_models.baidu_qianfan_endpoint.QianfanChatEndpoint\">Baidu Qianfa API\u6587\u6863<\/a>\u4e2d\u6709\u8bf4\u660e\u3002<\/p>\n<\/blockquote>\n<p><strong>\u7b2c\u4e94\u6b65<\/strong>\uff1a\u5b89\u88c5qianfan\u7ec4\u4ef6<\/p>\n<pre><code class=\"language-bash\">pip install qianfan<\/code><\/pre>\n<p><strong>\u7b2c\u516d\u6b65<\/strong>\uff1a\u5b9e\u73b0\u804a\u5929\u6a21\u578b\u7684\u4ee3\u7801<\/p>\n<pre><code class=\"language-python\">from dotenv import load_dotenv\n# LLM \u5927\u8bed\u8a00\u6a21\u578b\uff08\u5355\u8f6e\u5bf9\u8bdd\u7248\uff09\nfrom langchain_community.llms import QianfanLLMEndpoint\n# Chat \u804a\u5929\u7248\u5927\u6a21\u578b\uff08\u652f\u6301\u591a\u8f6e\u5bf9\u8bdd\uff09\nfrom langchain_community.chat_models import QianfanChatEndpoint\n# Embeddings \u5d4c\u5165\u6a21\u578b\nfrom langchain_community.embeddings import QianfanEmbeddingsEndpoint\n\n# \u52a0\u8f7d\u5343\u5e06\u5927\u6a21\u578b\u7684APK-KEY\nload_dotenv(dotenv_path=&quot;.ernie&quot;)\n\n# \u8fde\u63a5\u5927\u6a21\u578b\nllm = QianfanLLMEndpoint(model=&quot;ERNIE-Bot-turbo&quot;, \n                         temperature=0.1, \n                         top_p=0.2)\n\nchat = QianfanChatEndpoint(model=&#039;ERNIE-Lite-8K&#039;, top_p=0.2, temperature=0.1)\n\nembed = QianfanEmbeddingsEndpoint(model=&#039;bge-large-zh&#039;)\n\nllm.invoke(&quot;\u4f60\u662f\u8c01\uff1f&quot;)\n\nchat.invoke(&quot;\u4f60\u662f\u8c01\uff1f&quot;)\n\nresult = embed.embed_query(&quot;\u4f60\u597d&quot;)<\/code><\/pre>\n<blockquote>\n<p>\u6ce8\u610f\uff1a<\/p>\n<ul>\n<li>\u5982\u679c\u5bfc\u5165langchain_community\u5931\u8d25\uff0c\u8bf7\u8bb0\u5f97<code>pip install langchain-community<\/code>\u3002<\/li>\n<li>\u5982\u679c\u8fde\u63a5\u5931\u8d25\u63d0\u793aerror code: 17\uff0c\u8bf7\u68c0\u67e5\u5bf9\u5e94model id\u5728\u8ba1\u8d39\u7ba1\u7406\u4e2d\u662f\u5426\u5df2\u5f00\u901a\u670d\u52a1\u3002<\/li>\n<\/ul>\n<\/blockquote>\n<p>\u81f3\u6b64\uff0c\u4f7f\u7528LangChain-Community\u8fde\u63a5\u767e\u5ea6\u5343\u5e06\u5927\u6a21\u578b\u5df2\u6210\u529f\u8fde\u63a5\u3002\u63a5\u4e0b\u6765\uff0c\u6211\u4eec\u719f\u6089LangChain\u7684\u53e6\u5916\u4e00\u4e2a\u6a21\u5757LangChain-Core\u3002<\/p>\n<h2><span class=\"ez-toc-section\" id=\"LangChain-Core\"><\/span>LangChain-Core<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<h3><span class=\"ez-toc-section\" id=\"Prompt%E5%9F%BA%E7%A1%80%E7%94%A8%E6%B3%95%E5%9B%9E%E9%A1%BE\"><\/span>Prompt\u57fa\u7840\u7528\u6cd5\u56de\u987e<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>\u5728<a href=\"https:\/\/17aitech.com\/?p=14624\">\u3010\u8bfe\u7a0b\u603b\u7ed3\u3011day25\uff1a\u5927\u6a21\u578b\u5e94\u7528\u4e4bPrompt\u7684\u521d\u6b65\u4e86\u89e3<\/a>\u4e2d\uff0c\u6211\u4eec\u4ee5\u53ca\u4e86\u89e3Prompt\u7684\u57fa\u7840\u4f7f\u7528\u7528\u6cd5\uff1a<\/p>\n<pre><code class=\"language-python\"># \u8fde\u63a5\u6a21\u578b\nchat  = ChatTongyi(model=&#039;qwen-plus&#039;,\n                   top_p=0.9,\n                   temperature=0.9)\n\n# \u6784\u5efaPrompt\u6a21\u677f\nsys_msg = SystemMessagePromptTemplate.from_template(template=&quot;\u8fd9\u662f\u4e00\u4e2a\u521b\u610f\u6587\u6848\u751f\u6210\u4e13\u5bb6\u3002&quot;)\nuser_msg = HumanMessagePromptTemplate.from_template(template=&quot;&quot;&quot;\n    \u7528\u6237\u5c06\u8f93\u5165\u51e0\u4e2a\u4ea7\u54c1\u7684\u5173\u952e\u5b57\uff0c\u8bf7\u6839\u636e\u5173\u952e\u8bcd\u751f\u6210\u4e00\u6bb5\u9002\u5408\u8001\u5e74\u5e02\u573a\u7684\u6587\u6848\uff0c\u8981\u6c42\uff1a\u6210\u719f\uff0c\u7a33\u91cd\uff0c\u7b26\u5408\u8001\u5e74\u5e02\u573a\u7684\u98ce\u683c\u3002\n    \u7528\u6237\u8f93\u5165\u4e3a\uff1a{ad_words}\u3002\n    \u8425\u9500\u6587\u6848\u4e3a\uff1a\n&quot;&quot;&quot;)\nmessages = [sys_msg, user_msg]\nprompt = ChatPromptTemplate.from_messages(messages=messages)                \n\n# \u4f7f\u7528\u7ba1\u9053\u7b26 | \u8fde\u63a5\u591a\u4e2a\u6a21\u578b\uff0c\u6784\u5efachain\u94fe\nchain = prompt | chat | StrOutputParser()\nchain.invoke(input={&quot;ad_words&quot;: &quot;\u52a9\u542c\u5668\uff0c\u6e05\u6670\uff0c\u65b9\u4fbf\uff0c\u4fbf\u5b9c\uff0c\u8046\u542c\u4e16\u754c\u3002&quot;})<\/code><\/pre>\n<ul>\n<li>\n<p><strong>\u7b2c\u4e00\u6b65<\/strong>\uff1a\u521b\u5efa<code>SystemMessagePromptTemplate<\/code>\u7684\u5185\u5bb9\uff0c\u4f8b\u5982\uff1a&quot;\u8fd9\u662f\u4e00\u4e2a\u521b\u610f\u6587\u6848\u751f\u6210\u4e13\u5bb6\u3002&quot;<\/p>\n<\/li>\n<li>\n<p><strong>\u7b2c\u4e8c\u6b65<\/strong>\uff1a\u521b\u5efa<code>HumanMessagePromptTemplate<\/code>\u7684\u5185\u5bb9\uff0c\u4f8b\u5982\uff1a&quot;\u7528\u6237\u5c06\u8f93\u5165\u51e0\u4e2a\u4ea7\u54c1\u7684\u5173\u952e\u5b57\uff0c\u8bf7\u6839\u636e\u5173\u952e\u8bcd\u751f\u6210\u4e00\u6bb5\u9002\u5408\u8001\u5e74\u5e02\u573a\u7684\u6587\u6848\uff0c\u8981\u6c42\uff1a\u6210\u719f\uff0c\u7a33\u91cd\uff0c\u7b26\u5408\u8001\u5e74\u5e02\u573a\u7684\u98ce\u683c\u3002&quot;<\/p>\n<\/li>\n<li>\n<p><strong>\u7b2c\u4e09\u6b65<\/strong>\uff1a\u4f7f\u7528<code>ChatPromptTemplate<\/code>\u5c06\u7cfb\u7edf\u6d88\u606f\u548c\u7528\u6237\u6d88\u606f\u8fdb\u884c\u62fc\u63a5\uff0c\u5f97\u5230\u6700\u7ec8\u7684Prompt\u6a21\u677f\u3002<\/p>\n<blockquote>\n<p>Prompt\u7684\u6838\u5fc3\u7528\u6237\u53d1\uff1a\u53c2\u6570\u5316<\/p>\n<ul>\n<li>\u4e0a\u4f8b\u4e2d\u7684<code class=\"kb-btn\">ad_words<\/code>\u5373\u4e3a\u53c2\u6570\u5316\u7684\u5185\u5bb9\uff0c\u53ef\u4ee5\u901a\u8fc7\u7528\u6237\u8f93\u5165\u6765\u586b\u5145\u3002<\/li>\n<li>\u4e0b\u9762\u793a\u4f8b\u4e2dPrompt\u4e5f\u662f\u53ef\u4ee5\u5e26\u591a\u4e2a\u53c2\u6570\u7684\u3002\n<pre><code class=\"language-python\">prompt = PromptTemplate.from_template(template=&quot;\u8bf7\u5217\u51fa{num}\u79cd{location}\u7f8e\u98df\uff01&quot;)<\/code><\/pre>\n<p>num\u548clocation\u53ef\u4ee5\u4f5c\u4e3a\u53c2\u6570\uff0c\u5728\u540e\u7eed\u7684chain.invoke\u8c03\u7528\u65f6\u4f20\u5165<\/p>\n<\/li>\n<\/ul>\n<\/blockquote>\n<\/li>\n<li>\n<p><strong>\u7b2c\u56db\u6b65<\/strong>\uff1a\u4f7f\u7528\u7ba1\u9053\u7b26|\uff0c\u5c06<code>prompt<\/code>\u3001<code>chat\u6a21\u578b<\/code>\u548c<code>\u8f93\u51fa\u89e3\u6790\u5668<\/code>\u8fde\u63a5\u8d77\u6765\uff0c\u6784\u5efachain\u94fe\u3002<\/p>\n<\/li>\n<li>\n<p><strong>\u7b2c\u4e94\u6b65<\/strong>\uff1a\u8c03\u7528<code>chain\u7684invoke<\/code>\u65b9\u6cd5\uff0c\u4f20\u5165\u5bf9\u5e94\u7684\u53d8\u91cf\u6570\u636e\uff0c\u6700\u7ec8\u8c03\u7528\u5927\u6a21\u578b\u5f97\u5230\u7ed3\u679c\u3002<\/p>\n<\/li>\n<\/ul>\n<h3><span class=\"ez-toc-section\" id=\"Prompt%E8%BF%9B%E9%98%B6%E7%94%A8%E6%B3%95\"><\/span>Prompt\u8fdb\u9636\u7528\u6cd5<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<h4><span class=\"ez-toc-section\" id=\"promptpartial%E7%94%A8%E6%B3%95\"><\/span>prompt.partial\u7528\u6cd5<span class=\"ez-toc-section-end\"><\/span><\/h4>\n<h5><span class=\"ez-toc-section\" id=\"%E4%BD%BF%E7%94%A8%E5%9C%BA%E6%99%AF\"><\/span>\u4f7f\u7528\u573a\u666f<span class=\"ez-toc-section-end\"><\/span><\/h5>\n<p>prompt.partial \u662f\u4e00\u79cd\u7528\u4e8e\u6784\u5efa\u548c\u7ba1\u7406\u63d0\u793a\uff08prompt\uff09\u7684\u65b9\u6cd5\uff0c\u5c24\u5176\u5728\u4e0e\u8bed\u8a00\u6a21\u578b\u4ea4\u4e92\u65f6\uff0c\u53ef\u4ee5\u5e2e\u52a9\u7528\u6237\u52a8\u6001\u751f\u6210\u548c\u8c03\u6574\u63d0\u793a\u5185\u5bb9\u3002<\/p>\n<h5><span class=\"ez-toc-section\" id=\"%E4%BD%BF%E7%94%A8%E6%96%B9%E6%B3%95\"><\/span>\u4f7f\u7528\u65b9\u6cd5<span class=\"ez-toc-section-end\"><\/span><\/h5>\n<pre><code class=\"language-python\"># \u6784\u5efaPrompt\nprompt = PromptTemplate.from_template(template=&quot;\u8bf7\u8bb2{num}\u4e2a\u5173\u4e8e{item}\u7684\u51b7\u7b11\u8bdd\uff01&quot;)\n\n# \u4f7f\u7528partial\u65b9\u6cd5\u52a8\u6001\u63d2\u5165\u53c2\u6570\nprompt = prompt.partial(item=&quot;\u6c7d\u8f66&quot;)\n\nchain = prompt | llm\n\nchain.invoke(input=dict(num=5))<\/code><\/pre>\n<p>\u8fd0\u884c\u7ed3\u679c\uff1a<\/p>\n<pre><code class=\"language-python\"># &#039;1. \u4e3a\u4ec0\u4e48\u6c7d\u8f66\u603b\u662f\u5bf9\u52a0\u6cb9\u7ad9\u7279\u522b\u5fe0\u8bda\uff1f\u56e0\u4e3a\u5b83\u4eec\u77e5\u9053\uff0c\u6ca1\u6709\u201c\u6cb9\u201d\u670b\u53cb\uff0c\u5c31\u8d70\u4e0d\u4e86\u591a\u8fdc\uff01\\n\\n\n# 2. \u4e24\u8f86\u8f66\u5728\u7ea2\u7eff\u706f\u524d\u76f8\u9047\uff0c\u4e00\u8f86\u8f66\u5bf9\u53e6\u4e00\u8f86\u8bf4\uff1a\u201c\u563f\uff0c\u4f60\u7684\u5c3e\u6c14\u597d\u91cd\u554a\uff01\u201d\u53e6\u4e00\u8f86\u56de\u7b54\uff1a\u201c\u62b1\u6b49\uff0c\u6211\u521a\u5403\u5b8c\u4e86\u4e00\u5bb6\u6cb9\u70b8\u5708\u997c\u5e97\u3002\u201d\\n\\n\n# 3. \u77e5\u9053\u6c7d\u8f66\u6700\u6015\u4ec0\u4e48\u79d1\u76ee\u5417\uff1f\u2014\u2014\u4e0d\u662f\u7269\u7406\uff0c\u662f\u201c\u505c\u8f66\u201d\u8003\u8bd5\uff01\\n\\n\n# 4. \u6709\u4e00\u5929\uff0c\u4e00\u8f86\u8f66\u8d70\u8fdb\u4e86\u9152\u5427\uff0c\u5427\u53f0\u670d\u52a1\u5458\u95ee\uff1a\u201c\u4f60\u4e3a\u4ec0\u4e48\u770b\u8d77\u6765\u8fd9\u4e48\u7d2f\uff1f\u201d\u8f66\u56de\u7b54\uff1a\u201c\u54ce\uff0c\u4e00\u6574\u5929\u90fd\u5728\u8dd1\u5708\u5b50\uff0c\u8fd8\u8001\u662f\u88ab\u5bfc\u822a\u8bef\u5bfc\u3002\u201d\\n\\n\n# 5. \u4e3a\u4ec0\u4e48\u667a\u80fd\u6c7d\u8f66\u6c38\u8fdc\u4e0d\u4f1a\u611f\u5230\u5b64\u72ec\uff1f\u56e0\u4e3a\u5b83\u4eec\u603b\u662f\u5728\u548c\u201c\u8f66\u8054\u7f51\u201d\u804a\u5929\uff01&#039;<\/code><\/pre>\n<h4><span class=\"ez-toc-section\" id=\"FewShotPromptTemplate%E7%94%A8%E6%B3%95\"><\/span>FewShotPromptTemplate\u7528\u6cd5<span class=\"ez-toc-section-end\"><\/span><\/h4>\n<h5><span class=\"ez-toc-section\" id=\"%E4%BD%BF%E7%94%A8%E5%9C%BA%E6%99%AF-2\"><\/span>\u4f7f\u7528\u573a\u666f<span class=\"ez-toc-section-end\"><\/span><\/h5>\n<p>FewShotPromptTemplate \u662f\u4e00\u79cd\u7528\u4e8e\u6784\u5efa\u63d0\u793a\u7684\u6a21\u677f\uff0c\u7279\u522b\u9002\u7528\u4e8e\u5c11\u91cf\u793a\u4f8b\u5b66\u4e60\uff08Few-Shot Learning\uff09\u573a\u666f\u3002\u5b83\u5141\u8bb8\u7528\u6237\u5728\u63d0\u793a\u4e2d\u5305\u542b\u51e0\u4e2a\u793a\u4f8b\uff0c\u4ee5\u5e2e\u52a9\u6a21\u578b\u66f4\u597d\u5730\u7406\u89e3\u4efb\u52a1\u548c\u9884\u671f\u8f93\u51fa\u3002<\/p>\n<h5><span class=\"ez-toc-section\" id=\"%E4%BD%BF%E7%94%A8%E6%96%B9%E6%B3%95-2\"><\/span>\u4f7f\u7528\u65b9\u6cd5<span class=\"ez-toc-section-end\"><\/span><\/h5>\n<pre><code class=\"language-python\">from langchain_core.prompts import PromptTemplate\nfrom langchain_core.prompts import FewShotPromptTemplate\n\n# \u5b9a\u4e49\u4e00\u4e2a\u6837\u4f8b\u7684\u6a21\u677f\nexample_prompt = PromptTemplate.from_template(template=&quot;\u8f93\u5165\uff1a{in}\\n\u8f93\u51fa\uff1a{out}&quot;)\n\n# \u5b9a\u4e49\u6837\u4f8b\nexamples = [\n    {&quot;in&quot;: &quot;\u6df1\u5733&quot;, &quot;out&quot;:&quot;\u534e\u5357&quot;},\n    {&quot;in&quot;: &quot;\u9633\u6cc9&quot;, &quot;out&quot;:&quot;\u534e\u5317&quot;},\n    {&quot;in&quot;: &quot;\u9526\u5dde&quot;, &quot;out&quot;:&quot;\u4e1c\u5317&quot;},\n    {&quot;in&quot;: &quot;\u9152\u6cc9&quot;, &quot;out&quot;:&quot;\u897f\u5317&quot;}\n]\n\n# \u6784\u5efa FewShotPromptTemplate\nfew_shot_prompt = FewShotPromptTemplate(\n    example_prompt=example_prompt, \n    examples=examples,\n    prefix=&#039;\u8bf7\u5b66\u4e60\u6211\u7ed9\u5b9a\u7684\u6837\u4f8b\uff0c\u5e76\u636e\u6b64\u56de\u7b54\u6211\u63d0\u51fa\u7684\u95ee\u9898\uff1a\\n&quot;&quot;&quot;&#039;,\n    suffix=&#039;&quot;&quot;&quot;\\n\u8f93\u5165\uff1a{input}\\n\u8f93\u51fa\uff1a&#039;)\n\nchain = few_shot_prompt | llm\n\nchain.invoke(input={&quot;input&quot;: &quot;\u7ecd\u5174&quot;})\n<\/code><\/pre>\n<p>\u8fd0\u884c\u7ed3\u679c\uff1a<\/p>\n<pre><code class=\"language-python\"># &#039;\u534e\u4e1c&#039;<\/code><\/pre>\n<h4><span class=\"ez-toc-section\" id=\"PipelinePromptTemplate%E7%94%A8%E6%B3%95\"><\/span>PipelinePromptTemplate\u7528\u6cd5<span class=\"ez-toc-section-end\"><\/span><\/h4>\n<h5><span class=\"ez-toc-section\" id=\"%E4%BD%BF%E7%94%A8%E5%9C%BA%E6%99%AF-3\"><\/span>\u4f7f\u7528\u573a\u666f<span class=\"ez-toc-section-end\"><\/span><\/h5>\n<p>PipelinePrompt \u662f\u4e00\u79cd\u7528\u4e8e\u6784\u5efa\u590d\u6742\u63d0\u793a\u7684\u5de5\u5177\uff0c\u5141\u8bb8\u5c06\u591a\u4e2a\u6b65\u9aa4\u6216\u7ec4\u4ef6\u7ec4\u5408\u5728\u4e00\u8d77\uff0c\u4ee5\u5b9e\u73b0\u66f4\u590d\u6742\u7684\u4efb\u52a1\u3002\u5b83\u7279\u522b\u9002\u7528\u4e8e\u9700\u8981\u591a\u4e2a\u9636\u6bb5\u5904\u7406\u7684\u573a\u666f\uff0c\u6bd4\u5982\u6570\u636e\u9884\u5904\u7406\u3001\u6a21\u578b\u63a8\u7406\u548c\u540e\u5904\u7406\u3002<\/p>\n<h5><span class=\"ez-toc-section\" id=\"%E4%BD%BF%E7%94%A8%E6%96%B9%E6%B3%95-3\"><\/span>\u4f7f\u7528\u65b9\u6cd5<span class=\"ez-toc-section-end\"><\/span><\/h5>\n<pre><code class=\"language-python\">from langchain_core.prompts import PromptTemplate\nfrom langchain_core.prompts import PipelinePromptTemplate\n\n# \u5b9a\u4e49\u4e00\u4e2a\u5b8c\u6574\u7684\u6a21\u677f\nfull_template = &#039;&#039;&#039;\n{expect}\n{example}\n{question}\n&#039;&#039;&#039;\nfull_prompt = PromptTemplate.from_template(template=full_template)\n\n# \u5b9a\u4e49expect\u90e8\u5206\nexpect_prompt = PromptTemplate.from_template(template=&#039;\u8bf7\u5b66\u4e60\u6211\u7ed9\u5b9a\u7684\u6837\u4f8b\uff0c\u5e76\u636e\u6b64\u56de\u7b54\u6211\u63d0\u51fa\u7684\u95ee\u9898\uff1a\\n&quot;&quot;&quot;&#039;)\n\n# \u5b9a\u4e49example\u6837\u4f8b\u90e8\u5206\nexample_prompt = PromptTemplate.from_template(template=&quot;&quot;&quot;\n\u8f93\u5165\uff1a\u6df1\u5733\n\u8f93\u51fa\uff1a\u534e\u5357\n\n\u8f93\u5165\uff1a\u9633\u6cc9\n\u8f93\u51fa\uff1a\u534e\u5317\n\n\u8f93\u5165\uff1a\u9526\u5dde\n\u8f93\u51fa\uff1a\u4e1c\u5317\n\n\u8f93\u5165\uff1a\u9152\u6cc9\n\u8f93\u51fa\uff1a\u897f\u5317\n&quot;&quot;&quot;)\n\n# \u5b9a\u4e49question\u90e8\u5206\nquestion_prompt = PromptTemplate.from_template(template=&#039;&quot;&quot;&quot;\\n\u8f93\u5165\uff1a{in}\\n\u8f93\u51fa\uff1a&#039;)\n\n# \u4f7f\u7528pipline\u5c06\u591a\u4e2aprompt\u7ec4\u5408\u5728\u4e00\u8d77\npipeline_prompts = [(&quot;expect&quot;, expect_prompt), \n                    (&quot;example&quot;, example_prompt),\n                    (&quot;question&quot;, question_prompt)]\n\n# \u6784\u5efaPrompt\nprompt = PipelinePromptTemplate(final_prompt=full_prompt,\n                      pipeline_prompts=pipeline_prompts)\n\nchain = prompt | llm\n\nchain.invoke(input={&quot;in&quot;: &quot;\u4e09\u4e9a&quot;})<\/code><\/pre>\n<p>\u8fd0\u884c\u7ed3\u679c\uff1a<\/p>\n<pre><code class=\"language-python\"># &#039;\u534e\u5357&#039;<\/code><\/pre>\n<h4><span class=\"ez-toc-section\" id=\"FewShotChatMessagePromptTemplate%E7%9A%84%E4%BD%BF%E7%94%A8\"><\/span>FewShotChatMessagePromptTemplate\u7684\u4f7f\u7528<span class=\"ez-toc-section-end\"><\/span><\/h4>\n<h5><span class=\"ez-toc-section\" id=\"%E4%BD%BF%E7%94%A8%E5%9C%BA%E6%99%AF-4\"><\/span>\u4f7f\u7528\u573a\u666f<span class=\"ez-toc-section-end\"><\/span><\/h5>\n<p>FewShotChatMessagePromptTemplate \u662f\u4e00\u79cdChat\u4ea4\u4e92\u4e2d\uff0c\u7528\u4e8e\u5c11\u6837\u672c\u5b66\u4e60\uff08Few-Shot Learning\uff09\u573a\u666f\u7684\u63d0\u793a\u6a21\u677f\uff0c\u9002\u7528\u4e8e\u9700\u8981\u63d0\u4f9b\u793a\u4f8b\u4ee5\u5e2e\u52a9\u6a21\u578b\u7406\u89e3\u4efb\u52a1\u7684\u60c5\u51b5\u3002<\/p>\n<h5><span class=\"ez-toc-section\" id=\"%E4%BD%BF%E7%94%A8%E6%96%B9%E6%B3%95-4\"><\/span>\u4f7f\u7528\u65b9\u6cd5<span class=\"ez-toc-section-end\"><\/span><\/h5>\n<pre><code class=\"language-python\">from langchain_core.prompts import ChatPromptTemplate\nfrom langchain_core.prompts import FewShotChatMessagePromptTemplate\n\n# \u5b9a\u4e49\u6837\u4f8b(\u6837\u4f8b\u5b9e\u9645\u662f\u52a0\u6cd5\u6848\u4f8b)\nexamples = [\n    {&quot;in&quot;: &quot;1 * 1&quot;, &quot;out&quot;: &quot;2&quot;},\n    {&quot;in&quot;: &quot;2 * 3&quot;, &quot;out&quot;: &quot;5&quot;},\n    {&quot;in&quot;: &quot;5 * 4&quot;, &quot;out&quot;: &quot;9&quot;},\n    {&quot;in&quot;: &quot;7 * 2&quot;, &quot;out&quot;: &quot;9&quot;},\n    {&quot;in&quot;: &quot;4 * 2&quot;, &quot;out&quot;: &quot;6&quot;},\n    {&quot;in&quot;: &quot;3 * 2&quot;, &quot;out&quot;: &quot;5&quot;}\n]\n\n# \u5b9a\u4e49\u6837\u4f8b\u7684prompt\nexample_prompt = ChatPromptTemplate.from_messages(\n    messages=[\n        (&quot;human&quot;, &quot;{in}&quot;),\n        (&quot;ai&quot;, &quot;{out}&quot;)\n    ]\n)\n\n# \u6784\u5efaFewShotChatMessagePromptTemplate\nfew_shot_prompt = FewShotChatMessagePromptTemplate(examples=examples, \n                                             example_prompt=example_prompt)\n\n# \u5b9a\u4e49\u6700\u7ec8\u7684prompt\nfinal_prompt = ChatPromptTemplate.from_messages(\n            [\n                (&#039;system&#039;, &#039;\u8bf7\u5b66\u4e60\u6211\u7ed9\u5b9a\u7684\u6837\u4f8b\uff0c\u5e76\u636e\u6b64\u56de\u7b54\u6211\u63d0\u51fa\u7684\u95ee\u9898\uff1a\\n&quot;&quot;&quot;&#039;),\n                few_shot_prompt,\n                (&#039;human&#039;, &#039;&quot;&quot;&quot;\\n{input}&#039;),\n            ]\n        )\n\nchain = final_prompt | chat\n\nchain.invoke(input={&quot;input&quot;:&quot;4 * 5&quot;})<\/code><\/pre>\n<p>\u8fd0\u884c\u7ed3\u679c\uff1a<\/p>\n<pre><code class=\"language-python\"># AIMessage(content=&#039;11&#039;, \n# response_metadata={&#039;model_name&#039;: &#039;qwen-max&#039;, &#039;finish_reason&#039;: &#039;stop&#039;, &#039;request_id&#039;: &#039;270e47c6-270c-91e3-8de5-035e55719423&#039;, \n# &#039;token_usage&#039;: {&#039;input_tokens&#039;: 124, &#039;output_tokens&#039;: 2, &#039;total_tokens&#039;: 126}}, id=&#039;run-39d1e6ce-2679-40b7-968b-92f67d645c72-0&#039;)<\/code><\/pre>\n<h5><span class=\"ez-toc-section\" id=\"%E7%9B%B8%E6%AF%94_FewShotPromptTemplate_%E7%9A%84%E5%8C%BA%E5%88%AB\"><\/span>\u76f8\u6bd4 FewShotPromptTemplate \u7684\u533a\u522b<span class=\"ez-toc-section-end\"><\/span><\/h5>\n<p>FewShotPromptTemplate \u548c FewShotChatMessagePromptTemplate \u90fd\u662f\u7528\u4e8e\u5c11\u6837\u672c\u5b66\u4e60\uff08Few-Shot Learning\uff09\u7684\u63d0\u793a\u6a21\u677f\u3002<br \/>\n<strong>\u9002\u7528\u573a\u666f<\/strong>\uff1a<\/p>\n<ul>\n<li>FewShotPromptTemplate\uff1a\u901a\u5e38\u7528\u4e8e\u66f4\u901a\u7528\u7684\u6587\u672c\u751f\u6210\u4efb\u52a1\uff0c\u9002\u5408\u5904\u7406\u4f20\u7edf\u7684\u6587\u672c\u8f93\u5165\u548c\u8f93\u51fa\uff0c\u4e0d\u9650\u4e8e\u5bf9\u8bdd\u573a\u666f\u3002<\/li>\n<li>FewShotChatMessagePromptTemplate\uff1a\u4e13\u95e8\u8bbe\u8ba1\u7528\u4e8e\u804a\u5929\u548c\u5bf9\u8bdd\u7cfb\u7edf\uff0c\u9002\u5408\u5904\u7406\u4eba\u7c7b\u4e0eAI\u4e4b\u95f4\u7684\u4ea4\u4e92\u3002<\/li>\n<\/ul>\n<p><strong>\u6d88\u606f\u7ed3\u6784<\/strong>\uff1a<\/p>\n<ul>\n<li>FewShotPromptTemplate\uff1a\u901a\u5e38\u4e0d\u533a\u5206\u6d88\u606f\u7684\u89d2\u8272\uff0c\u53ef\u80fd\u53ea\u5173\u6ce8\u8f93\u5165\u6587\u672c\u548c\u671f\u671b\u7684\u8f93\u51fa\u3002<\/li>\n<li>FewShotChatMessagePromptTemplate\uff1a\u660e\u786e\u533a\u5206\u4eba\u7c7b\u6d88\u606f\uff08\u5982\u7528\u6237\u8f93\u5165\uff09\u548cAI\u6d88\u606f\uff08\u5982\u6a21\u578b\u54cd\u5e94\uff09\uff0c\u66f4\u7b26\u5408\u5bf9\u8bdd\u7684\u7ed3\u6784\u3002<\/li>\n<\/ul>\n<p><strong>\u793a\u4f8b\u683c\u5f0f<\/strong>\uff1a<\/p>\n<ul>\n<li>FewShotPromptTemplate\uff1a\u793a\u4f8b\u901a\u5e38\u662f\u8f93\u5165-\u8f93\u51fa\u5bf9\uff0c\u683c\u5f0f\u8f83\u4e3a\u7075\u6d3b\u3002<\/li>\n<li>FewShotChatMessagePromptTemplate\uff1a\u793a\u4f8b\u4ee5\u6d88\u606f\u5bf9\u7684\u5f62\u5f0f\u7ec4\u7ec7\uff0c\u5f3a\u8c03\u5bf9\u8bdd\u7684\u81ea\u7136\u6d41\u7545\u6027\u3002<\/li>\n<\/ul>\n<h4><span class=\"ez-toc-section\" id=\"MessagePlaceholder%E6%B6%88%E6%81%AF%E5%8D%A0%E4%BD%8D%E7%AC%A6%E7%94%A8%E6%B3%95\"><\/span>MessagePlaceholder(\u6d88\u606f\u5360\u4f4d\u7b26)\u7528\u6cd5<span class=\"ez-toc-section-end\"><\/span><\/h4>\n<h5><span class=\"ez-toc-section\" id=\"%E4%BD%BF%E7%94%A8%E5%9C%BA%E6%99%AF-5\"><\/span>\u4f7f\u7528\u573a\u666f<span class=\"ez-toc-section-end\"><\/span><\/h5>\n<p>MessagePlaceholder\uff08\u6d88\u606f\u5360\u4f4d\u7b26\uff09\u662f\u4e00\u79cd\u7528\u4e8e\u5728\u5bf9\u8bdd\u7cfb\u7edf\u6216\u804a\u5929\u673a\u5668\u4eba\u4e2d\u52a8\u6001\u63d2\u5165\u6d88\u606f\u5185\u5bb9\u7684\u5de5\u5177\u3002\u5b83\u5141\u8bb8\u5f00\u53d1\u8005\u5728\u6784\u5efa\u63d0\u793a\u65f6\u9884\u7559\u4f4d\u7f6e\uff0c\u4ee5\u4fbf\u5728\u8fd0\u884c\u65f6\u586b\u5145\u5177\u4f53\u7684\u6d88\u606f\u5185\u5bb9\u3002<\/p>\n<h5><span class=\"ez-toc-section\" id=\"%E4%BD%BF%E7%94%A8%E6%96%B9%E6%B3%95-5\"><\/span>\u4f7f\u7528\u65b9\u6cd5<span class=\"ez-toc-section-end\"><\/span><\/h5>\n<pre><code class=\"language-python\">from utils import get_qwen_models\nfrom langchain_core.prompts import ChatPromptTemplate\nfrom langchain_core.prompts import SystemMessagePromptTemplate\nfrom langchain_core.prompts import HumanMessagePromptTemplate\nfrom langchain_core.prompts import MessagesPlaceholder\n\nfrom langchain_core.messages import SystemMessage\nfrom langchain_core.messages import HumanMessage\nfrom langchain_core.messages import AIMessage\n\nllm, chat, embed = get_qwen_models()\n\n# \u5b9a\u4e49\u603b\u7ed3\u6d88\u606f\u7684\u6a21\u677f\nmessages = [\n    SystemMessagePromptTemplate.from_template(template=&quot;\u4f60\u662f\u4e00\u4e2a\u6587\u672c\u6458\u8981\u673a\u5668\u4eba\uff0c\u8bf7\u4f7f\u7528\u4e0d\u8d85\u8fc7{num}\u4e2a\u5b57\u7684\u7bc7\u5e45\u6765\u603b\u7ed3\u4ee5\u4e0b\u7684\u5bf9\u8bdd\uff01&quot;),\n    # \u6d88\u606f\u5360\u4f4d\u7b26\uff0c\u7528\u4e8e\u52a8\u6001\u63d2\u5165\u4e0a\u4e0b\u6587\u5bf9\u8bdd\n    MessagesPlaceholder(variable_name=&quot;context&quot;),\n    HumanMessagePromptTemplate.from_template(template=&quot;###\u8bf7\u5f00\u59cb\u603b\u7ed3\u4e0a\u9762\u7684\u5bf9\u8bdd&quot;)  \n]\n\n# \u6784\u5efaPrompt\nprompt = ChatPromptTemplate.from_messages(messages=messages)\n\nuser_msg = HumanMessage(content=&quot;\u5982\u4f55\u5b66\u4f1a\u5f00\u8f66\uff1f&quot;)\n\n# \u4f7f\u7528\u804a\u5929\u6a21\u578b\u751f\u6210AI\u7684\u54cd\u5e94\nai_msg= chat.invoke(input=[user_msg])\n\nprint(ai_msg.content)\n\n# \u5c06\u7528\u6237\u6d88\u606f\u548cAI\u6d88\u606f\u7ec4\u5408\u6210\u4e00\u4e2a\u6d88\u606f\u5217\u8868\nmsgs = [user_msg, ai_msg]\n\n# \u6784\u5efa\u94fe\nchain = prompt | chat\n\n# \u8c03\u7528\u94fe\uff0c\u4f20\u5165\u53c2\u6570num\u548c\u4e0a\u4e0b\u6587\u6d88\u606f\uff0c\u751f\u6210\u603b\u7ed3\nresult = chain.invoke(input={&quot;num&quot;: 100, &quot;context&quot;: [user_msg, ai_msg]})\n\nprint(result.content)\n<\/code><\/pre>\n<p>\u8fd0\u884c\u7ed3\u679c\uff1a<\/p>\n<pre><code class=\"language-python\"># ai_msg.content\uff1a\n\n# \u5b66\u4e60\u5f00\u8f66\u9700\u8981\u8010\u5fc3\u3001\u7ec6\u5fc3\u548c\u7cfb\u7edf\u7684\u5b66\u4e60\u65b9\u6cd5\uff0c\u4ee5\u4e0b\u662f\u4e00\u4e9b\u57fa\u672c\u6b65\u9aa4\u548c\u5efa\u8bae\uff0c\u5e2e\u52a9\u4f60\u5f00\u59cb\u5b66\u4e60\u8fc7\u7a0b\uff1a\n\n# 1. **\u7406\u8bba\u5b66\u4e60**\uff1a\n#    - **\u4e86\u89e3\u4ea4\u901a\u89c4\u5219**\uff1a\u9996\u5148\uff0c\u719f\u6089\u5f53\u5730\u7684\u4ea4\u901a\u6cd5\u89c4\uff0c\u53ef\u4ee5\u901a\u8fc7\u9605\u8bfb\u9a7e\u9a76\u624b\u518c\u6216\u53c2\u52a0\u5728\u7ebf\u8bfe\u7a0b\u6765\u5b8c\u6210\u3002\u4e86\u89e3\u4ea4\u901a\u6807\u5fd7\u3001\u4fe1\u53f7\u3001\u9a7e\u9a76\u793c\u4eea\u548c\u5b89\u5168\u77e5\u8bc6\u3002\n#    - **\u5b66\u4e60\u6c7d\u8f66\u57fa\u7840\u77e5\u8bc6**\uff1a\u4e86\u89e3\u6c7d\u8f66\u7684\u57fa\u672c\u6784\u9020\u548c\u5404\u4e2a\u90e8\u4ef6\u7684\u529f\u80fd\uff0c\u6bd4\u5982\u65b9\u5411\u76d8\u3001\u5239\u8f66\u3001\u6cb9\u95e8\u3001\u79bb\u5408\u5668\uff08\u624b\u52a8\u6321\u8f66\u8f86\uff09\u3001\u6863\u4f4d\u3001\u540e\u89c6\u955c\u7b49\u3002\n\n# 2. **\u6a21\u62df\u7ec3\u4e60**\uff1a\n#    - \u5728\u6b63\u5f0f\u4e0a\u8def\u4e4b\u524d\uff0c\u53ef\u4ee5\u4f7f\u7528\u9a7e\u9a76\u6a21\u62df\u8f6f\u4ef6\u8fdb\u884c\u521d\u6b65\u7ec3\u4e60\uff0c\u8fd9\u6709\u52a9\u4e8e\u4f60\u719f\u6089\u9a7e\u9a76\u64cd\u4f5c\u548c\u5e94\u5bf9\u5404\u79cd\u9053\u8def\u60c5\u51b5\u7684\u53cd\u5e94\u3002\n\n# 3. **\u627e\u4e00\u4f4d\u597d\u6559\u7ec3**\uff1a\n#    - \u9009\u62e9\u4e00\u4f4d\u6709\u7ecf\u9a8c\u3001\u8010\u5fc3\u4e14\u6301\u6709\u5408\u6cd5\u6559\u7ec3\u8d44\u683c\u7684\u9a7e\u9a76\u6559\u7ec3\u3002\u4e13\u4e1a\u7684\u6307\u5bfc\u80fd\u5e2e\u52a9\u4f60\u66f4\u5feb\u638c\u63e1\u6280\u5de7\uff0c\u540c\u65f6\u4fdd\u8bc1\u5b66\u4e60\u8fc7\u7a0b\u4e2d\u7684\u5b89\u5168\u3002\n\n# 4. **\u5b9e\u9645\u64cd\u4f5c\u7ec3\u4e60**\uff1a\n#    - **\u57fa\u7840\u64cd\u4f5c**\uff1a\u5728\u7a7a\u65f7\u7684\u505c\u8f66\u573a\u6216\u9a7e\u6821\u7ec3\u4e60\u573a\u5f00\u59cb\uff0c\u5b66\u4e60\u5982\u4f55\u542f\u52a8\u3001\u52a0\u901f\u3001\u51cf\u901f\u3001\u505c\u8f66\u3001\u8f6c\u5f2f\u4ee5\u53ca\u5012\u8f66\u7b49\u57fa\u672c\u64cd\u4f5c\u3002\n#    - **\u9010\u6e10\u8fdb\u9636**\uff1a\u968f\u7740\u6280\u80fd\u7684\u63d0\u5347\uff0c\u53ef\u4ee5\u5728\u6559\u7ec3\u7684\u966a\u540c\u4e0b\u5c1d\u8bd5\u66f4\u590d\u6742\u7684\u8def\u51b5\uff0c\u5982\u57ce\u5e02\u9053\u8def\u3001\u9ad8\u901f\u516c\u8def\u3001\u591c\u95f4\u9a7e\u9a76\u7b49\u3002\n#    - **\u5e94\u6025\u5904\u7406**\uff1a\u5b66\u4e60\u5982\u4f55\u5904\u7406\u7a81\u53d1\u72b6\u51b5\uff0c\u5982\u7d27\u6025\u5239\u8f66\u3001\u907f\u8ba9\u969c\u788d\u7269\u7b49\u3002\n\n# 5. **\u6301\u7eed\u7ec3\u4e60\u4e0e\u53cd\u9988**\uff1a\n#    - \u7ec3\u4e60\u662f\u5173\u952e\u3002\u5c3d\u91cf\u591a\u5b89\u6392\u7ec3\u4e60\u65f6\u95f4\uff0c\u6bcf\u6b21\u7ec3\u4e60\u540e\u56de\u987e\u5e76\u603b\u7ed3\u7ecf\u9a8c\u6559\u8bad\u3002\n#    - \u4e3b\u52a8\u5bfb\u6c42\u6559\u7ec3\u6216\u6709\u7ecf\u9a8c\u7684\u9a7e\u9a76\u5458\u7684\u53cd\u9988\uff0c\u4e86\u89e3\u81ea\u5df1\u7684\u4e0d\u8db3\u5e76\u52a0\u4ee5\u6539\u8fdb\u3002\n\n# 6. **\u5fc3\u7406\u51c6\u5907**\uff1a\n#    - \u5efa\u7acb\u81ea\u4fe1\uff0c\u4f46\u4e5f\u8981\u4fdd\u6301\u8c26\u865a\u548c\u8c28\u614e\u3002\u5f00\u8f66\u65f6\u4fdd\u6301\u51b7\u9759\uff0c\u4e0d\u8981\u614c\u5f20\u3002\n#    - \u5b66\u4f1a\u538b\u529b\u7ba1\u7406\uff0c\u9047\u5230\u56f0\u96be\u65f6\u6df1\u547c\u5438\uff0c\u4fdd\u6301\u51b7\u9759\u5206\u6790\u95ee\u9898\u3002\n# ...\n#    - \u5f53\u4f60\u89c9\u5f97\u51c6\u5907\u5145\u5206\u540e\uff0c\u53ef\u4ee5\u62a5\u540d\u53c2\u52a0\u9a7e\u9a76\u7406\u8bba\u8003\u8bd5\u548c\u5b9e\u8df5\u8003\u8bd5\u3002\u901a\u8fc7\u8003\u8bd5\u540e\uff0c\u4f60\u5c06\u83b7\u5f97\u9a7e\u7167\uff0c\u6210\u4e3a\u5408\u6cd5\u7684\u9a7e\u9a76\u5458\u3002\n\n# result.content\uff1a\n# \u5b66\u4e60\u5f00\u8f66\u9700\u5faa\u5e8f\u6e10\u8fdb\uff1a\u5148\u7406\u8bba\u5b66\u4e60\u4ea4\u901a\u89c4\u5219\u4e0e\u6c7d\u8f66\u57fa\u7840\uff1b\u518d\u5229\u7528\u6a21\u62df\u8f6f\u4ef6\u9884\u7ec3\u3002\n# \u63a5\u7740\uff0c\u627e\u4e13\u4e1a\u6559\u7ec3\u8fdb\u884c\u5b9e\u64cd\uff0c\u4ece\u7a7a\u65f7\u533a\u57df\u7684\u57fa\u7840\u64cd\u4f5c\u5230\u590d\u6742\u8def\u51b5\u6f14\u7ec3\uff0c\u91cd\u89c6\u5e94\u6025\u5904\u7406\u80fd\u529b\u57f9\u517b\u3002\n# \u8fc7\u7a0b\u4e2d\uff0c\u6301\u7eed\u7ec3\u4e60\uff0c\u79ef\u6781\u6c42\u53cd\u9988\uff0c\u4fdd\u6301\u5fc3\u6001\u5e73\u548c\uff0c\u6700\u7ec8\u901a\u8fc7\u8003\u8bd5\uff0c\u5b89\u5168\u9a7e\u9a76\uff0c\u517b\u6210\u826f\u597d\u4e60\u60ef\u3002\n<\/code><\/pre>\n<h3><span class=\"ez-toc-section\" id=\"OutputParser%E8%BE%93%E5%87%BA%E8%A7%A3%E6%9E%90%E5%99%A8%E8%BF%9B%E9%98%B6%E7%94%A8%E6%B3%95\"><\/span>OutputParser\u8f93\u51fa\u89e3\u6790\u5668\u8fdb\u9636\u7528\u6cd5<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<h4><span class=\"ez-toc-section\" id=\"CommaSeparatedListOutputParser%E7%9A%84%E4%BD%BF%E7%94%A8\"><\/span>CommaSeparatedListOutputParser\u7684\u4f7f\u7528<span class=\"ez-toc-section-end\"><\/span><\/h4>\n<h5><span class=\"ez-toc-section\" id=\"%E4%BD%BF%E7%94%A8%E5%9C%BA%E6%99%AF-6\"><\/span>\u4f7f\u7528\u573a\u666f<span class=\"ez-toc-section-end\"><\/span><\/h5>\n<p><code>CommaSeparatedListOutputParser<\/code> \u7684\u4f7f\u7528\u573a\u666f\u4e3b\u8981\u96c6\u4e2d\u5728\u9700\u8981\u5c06\u6587\u672c\u8f93\u51fa\u89e3\u6790\u4e3a\u9017\u53f7\u5206\u9694\u5217\u8868\u7684\u4efb\u52a1\u3002<\/p>\n<h5><span class=\"ez-toc-section\" id=\"%E4%BD%BF%E7%94%A8%E6%96%B9%E6%B3%95-6\"><\/span>\u4f7f\u7528\u65b9\u6cd5<span class=\"ez-toc-section-end\"><\/span><\/h5>\n<p>\u901a\u8fc7<code>output_parser.get_format_instructions()<\/code>\u5728Prompt\u7684\u62fc\u63a5\uff0c\u53ef\u4ee5\u8ba9\u8fd4\u56de\u7684\u7ed3\u679c\u5f62\u6210\u6307\u5b9a\u683c\u5f0f\u3002<\/p>\n<pre><code class=\"language-python\">from dotenv import load_dotenv\nfrom utils import get_ernie_models\nfrom langchain_core.prompts import PromptTemplate\nfrom langchain_core.output_parsers import CommaSeparatedListOutputParser\n\noutput_parser = CommaSeparatedListOutputParser()\n\n# \u8fde\u63a5\u5927\u6a21\u578b\nllm, chat, embed = get_ernie_models()\n\n# \u6784\u5efaPrompt\nprompt = PromptTemplate.from_template(template=&quot;\u8bf7\u5217\u51fa{num}\u79cd{location}\u7f8e\u98df\uff01\u4f7f\u7528\u4e2d\u6587\u8f93\u51fa\uff01\\n{output_parser}&quot;,\n                                     partial_variables={&quot;output_parser&quot;: output_parser.get_format_instructions()})\n\nchain = prompt | llm\n\nresult = chain.invoke(input=dict(num=5, location=&quot;\u5c71\u897f&quot;))\nresult = output_parser.parse(result)\nprint(result)\n<\/code><\/pre>\n<p>\u8bf4\u660e\uff1a<\/p>\n<ul>\n<li><code>output_parser.get_format_instructions()<\/code> \u7684\u5185\u5bb9\u5bf9\u5e94\u662f\uff1a\n<pre><code class=\"language-python\">Your response should be a list of comma separated values, eg: `foo, bar, baz` or `foo,bar,baz`<\/code><\/pre>\n<p>\u8fd0\u884c\u7ed3\u679c\uff1a<\/p>\n<\/li>\n<\/ul>\n<pre><code class=\"language-python\"># [&#039;\u5c71\u897f\u7f8e\u98df\u6709\uff1a\\n\\n1. \u5200\u524a\u9762\\n2. \u5c71\u897f\u8fc7\u6cb9\u8089\\n3. \u6d51\u6e90\u51c9\u7c89\\n4. \u664b\u4e2d\u8638\u7247\u5b50\\n5. \u8001\u9648\u918b\u6e9c\u767d\u83dc&#039;]<\/code><\/pre>\n<p>\u56e0\u4e3a\u4e0a\u8ff0\u8fd4\u56de\u7684\u7ed3\u679c\u5e76\u4e0d\u662f\u4ee5\u82f1\u6587\uff0c\u5206\u5272\uff0c\u6240\u4ee5\u6211\u4eec\u53ef\u4ee5\u5c06<code>output_parser.get_format_instructions()<\/code>\u6539\u4e3a\u81ea\u5b9a\u4e49PromptTemplate\uff0c\u4f8b\u5982\uff1a<\/p>\n<pre><code class=\"language-python\">prompt = PromptTemplate.from_template(template=&quot;\u8bf7\u5217\u51fa{num}\u79cd{location}\u7f8e\u98df\u540d\u79f0\uff01\\n\u8bf7\u4f7f\u7528\u4e2d\u6587\u8f93\u51fa\u540d\u79f0\uff0c\u8f93\u51fa\u7684\u7ed3\u679c\u5fc5\u987b\u662f\u7528\u82f1\u6587\u9017\u53f7\u5206\u5f00\u7684\u4e00\u7cfb\u5217\u7684\u503c\uff0c\u6bd4\u5982\uff1a `\u82f9\u679c, \u6843, \u68a8` \u6216\u8005 `\u82f9\u679c,\u6843,\u68a8`&quot;)\n# <\/code><\/pre>\n<p>\u8fd0\u884c\u7ed3\u679c\uff1a<\/p>\n<pre><code class=\"language-python\"># [&#039;\u5200\u524a\u9762&#039;, &#039;\u7f8a\u6742\u5272&#039;, &#039;\u8fc7\u6cb9\u8089&#039;, &#039;\u90dd\u521a\u521a\u7f8a\u6c64&#039;, &#039;\u5e73\u9065\u725b\u8089&#039;]<\/code><\/pre>\n<p>\u53ef\u4ee5\u770b\u5230<code>output_parser.parse<\/code>\u53ef\u4ee5\u5c06\u8fd4\u56de\u7ed3\u679c\u4ece<code>&#039;\u5200\u524a\u9762, \u7f8a\u6742\u5272, \u8fc7\u6cb9\u8089, \u90dd\u521a\u521a\u7f8a\u6c64, \u5e73\u9065\u725b\u8089&#039;<\/code>\u53d8\u4e3a\u5217\u8868<code>[&#039;\u5200\u524a\u9762&#039;, &#039;\u7f8a\u6742\u5272&#039;, &#039;\u8fc7\u6cb9\u8089&#039;, &#039;\u90dd\u521a\u521a\u7f8a\u6c64&#039;, &#039;\u5e73\u9065\u725b\u8089&#039;]<\/code>\u3002<\/p>\n<h4><span class=\"ez-toc-section\" id=\"DatetimeOutputParser%E7%9A%84%E4%BD%BF%E7%94%A8\"><\/span>DatetimeOutputParser\u7684\u4f7f\u7528<span class=\"ez-toc-section-end\"><\/span><\/h4>\n<h5><span class=\"ez-toc-section\" id=\"%E4%BD%BF%E7%94%A8%E5%9C%BA%E6%99%AF-7\"><\/span>\u4f7f\u7528\u573a\u666f<span class=\"ez-toc-section-end\"><\/span><\/h5>\n<p>DatetimeOutputParser \u662f\u4e00\u79cd\u4e13\u95e8\u7528\u4e8e\u89e3\u6790\u65e5\u671f\u548c\u65f6\u95f4\u683c\u5f0f\u7684\u5de5\u5177\uff0c\u9002\u7528\u4e8e\u9700\u8981\u5904\u7406\u548c\u63d0\u53d6\u65e5\u671f\u65f6\u95f4\u4fe1\u606f\u7684\u573a\u666f\u3002<\/p>\n<h5><span class=\"ez-toc-section\" id=\"%E4%BD%BF%E7%94%A8%E6%96%B9%E6%B3%95-7\"><\/span>\u4f7f\u7528\u65b9\u6cd5<span class=\"ez-toc-section-end\"><\/span><\/h5>\n<pre><code class=\"language-python\">from langchain_core.prompts import PromptTemplate\nfrom langchain.output_parsers import DatetimeOutputParser\n\nparser = DatetimeOutputParser(format=&#039;%Y-%m-%d %H:%M:%S&#039;)\n\nprompt = PromptTemplate.from_template(template=&quot;{question}\\n{format}&quot;,\n                                      partial_variables={&quot;format&quot;: parser.get_format_instructions()})\n\nprint(parser.get_format_instructions())\n\nchain = prompt | llm\n\nresult = chain.invoke(input={&quot;question&quot;: &quot;\u65b0\u4e2d\u56fd\u6210\u7acb\u662f\u4ec0\u4e48\u65f6\u95f4\uff1f&quot;})\nresult<\/code><\/pre>\n<p>\u8fd0\u884c\u7ed3\u679c\uff1a<\/p>\n<pre><code class=\"language-python\"># Write a datetime string that matches the following pattern: &#039;%Y-%m-%d %H:%M:%S&#039;.\n\n# Examples: 0761-02-07 22:24:48, 0645-12-11 13:40:32, 1559-09-11 04:44:28\n\n# Return ONLY this string, no other words!\n# &#039;1949-10-01 00:00:00&#039;<\/code><\/pre>\n<h4><span class=\"ez-toc-section\" id=\"EnumOutputParser%E7%9A%84%E4%BD%BF%E7%94%A8\"><\/span>EnumOutputParser\u7684\u4f7f\u7528<span class=\"ez-toc-section-end\"><\/span><\/h4>\n<h5><span class=\"ez-toc-section\" id=\"%E4%BD%BF%E7%94%A8%E5%9C%BA%E6%99%AF-8\"><\/span>\u4f7f\u7528\u573a\u666f<span class=\"ez-toc-section-end\"><\/span><\/h5>\n<p>EnumOutputParser \u662f\u4e00\u79cd\u7528\u4e8e\u89e3\u6790\u679a\u4e3e\u7c7b\u578b\u8f93\u51fa\u7684\u5de5\u5177\uff0c\u9002\u7528\u4e8e\u9700\u8981\u4ece\u6a21\u578b\u751f\u6210\u7684\u6587\u672c\u4e2d\u63d0\u53d6\u7279\u5b9a\u679a\u4e3e\u503c\u7684\u573a\u666f\u3002<\/p>\n<h5><span class=\"ez-toc-section\" id=\"%E4%BD%BF%E7%94%A8%E6%96%B9%E6%B3%95-8\"><\/span>\u4f7f\u7528\u65b9\u6cd5<span class=\"ez-toc-section-end\"><\/span><\/h5>\n<pre><code class=\"language-python\">from langchain.output_parsers import EnumOutputParser\n\nfrom enum import Enum\n\nclass Color(Enum):\n    BLUE = &quot;blue&quot;\n    RED = &quot;red&quot;\n    GREEN = &quot;green&quot;\n\nparser = EnumOutputParser(enum=Color)\n\nprompt = PromptTemplate.from_template(template=&quot;{item}\u662f\u4ec0\u4e48\u989c\u8272\u7684\uff1f\\n{format}\uff01Return ONLY your option, no other words!&quot;,\n                                    partial_variables={&quot;format&quot;: parser.get_format_instructions()})\n\nprint(parser.get_format_instructions())\n\nchain = prompt | llm\n\nresult= chain.invoke(input={&quot;item&quot;:&quot;\u4e2d\u56fd\u56fd\u65d7&quot;})\nprint(result)<\/code><\/pre>\n<p>\u8fd0\u884c\u7ed3\u679c\uff1a<\/p>\n<pre><code class=\"language-python\"># Select one of the following options: blue, red, green\n# red<\/code><\/pre>\n<h4><span class=\"ez-toc-section\" id=\"StructuredOutputParser%E7%9A%84%E4%BD%BF%E7%94%A8\"><\/span>StructuredOutputParser\u7684\u4f7f\u7528<span class=\"ez-toc-section-end\"><\/span><\/h4>\n<h5><span class=\"ez-toc-section\" id=\"%E4%BD%BF%E7%94%A8%E5%9C%BA%E6%99%AF-9\"><\/span>\u4f7f\u7528\u573a\u666f<span class=\"ez-toc-section-end\"><\/span><\/h5>\n<p>StructuredOutputParser \u662f\u4e00\u4e2a\u5f3a\u5927\u7684\u5de5\u5177\uff0c\u9002\u7528\u4e8e\u591a\u79cd\u9700\u8981\u5c06\u6587\u672c\u8f93\u51fa\u8f6c\u6362\u4e3a\u7ed3\u6784\u5316\u683c\u5f0f\u7684\u573a\u666f\u3002<\/p>\n<h5><span class=\"ez-toc-section\" id=\"%E4%BD%BF%E7%94%A8%E6%96%B9%E6%B3%95-9\"><\/span>\u4f7f\u7528\u65b9\u6cd5<span class=\"ez-toc-section-end\"><\/span><\/h5>\n<pre><code class=\"language-python\">from langchain.output_parsers import StructuredOutputParser\nfrom langchain_core.prompts import PromptTemplate\nfrom langchain.output_parsers import ResponseSchema\n\nresponse_schemas = [\n    ResponseSchema(name=&quot;country&quot;, description=&quot;\u56fd\u5bb6&quot;),\n    ResponseSchema(name=&quot;population&quot;, description=&quot;\u8fd9\u4e2a\u56fd\u5bb6\u5bf9\u5e94\u7684\u4eba\u53e3\u6570\u91cf&quot;)\n]\n\nparser = StructuredOutputParser(response_schemas=response_schemas)\n\nformat = &#039;&#039;&#039;\u8f93\u51fa\u5fc5\u987b\u662fJSON\u5bf9\u8c61\u5217\u8868,\u683c\u5f0f\u8bf7\u53c2\u8003\u5982\u4e0b\u793a\u4f8b:\n[{\n    &quot;Country&quot;: string  \/\/ \u56fd\u5bb6\n    &quot;GDP&quot;: string  \/\/ \u8fd9\u4e2a\u56fd\u5bb6\u5bf9\u5e94\u7684\u4eba\u53e3\u6570\u91cf\n}]\n\u8bf7\u6ce8\u610f\uff1a\u8f93\u51fa\u7ed3\u679c\u8981\u7b26\u5408JSON\u683c\u5f0f\uff0c\u4e0d\u8981\u5e26\u6709```json\u7b49\u5b57\u6bb5\u3002\u5185\u5bb9\u8bf7\u7528\u4e2d\u6587\uff01\n&#039;&#039;&#039;\n\nprompt = PromptTemplate.from_template(template=&quot;\u8bf7\u5217\u51fa\u4e16\u754c\u4e0aGPD\u6392\u540d\u524d{num}\u7684\u56fd\u5bb6\u53ca\u5176GDP\u3002\\n{format}&quot;,\n                                     partial_variables={&quot;format&quot;: format})\n\nchain = prompt | llm\n\nresult = chain.invoke(input=dict(num=5))\n\nimport json\njson.loads(s=result)<\/code><\/pre>\n<p>\u8fd0\u884c\u7ed3\u679c\uff1a<\/p>\n<pre><code class=\"language-python\"># [{&#039;Country&#039;: &#039;\u7f8e\u56fd&#039;, &#039;GDP&#039;: &#039;21.44\u4e07\u4ebf\u7f8e\u5143&#039;},\n#  {&#039;Country&#039;: &#039;\u4e2d\u56fd&#039;, &#039;GDP&#039;: &#039;14.14\u4e07\u4ebf\u7f8e\u5143&#039;},\n#  {&#039;Country&#039;: &#039;\u65e5\u672c&#039;, &#039;GDP&#039;: &#039;5.15\u4e07\u4ebf\u7f8e\u5143&#039;},\n#  {&#039;Country&#039;: &#039;\u5fb7\u56fd&#039;, &#039;GDP&#039;: &#039;4.17\u4e07\u4ebf\u7f8e\u5143&#039;},\n#  {&#039;Country&#039;: &#039;\u5370\u5ea6&#039;, &#039;GDP&#039;: &#039;3.05\u4e07\u4ebf\u7f8e\u5143&#039;}]<\/code><\/pre>\n<h4><span class=\"ez-toc-section\" id=\"PydanticOutputParser%E7%9A%84%E4%BD%BF%E7%94%A8\"><\/span>PydanticOutputParser\u7684\u4f7f\u7528<span class=\"ez-toc-section-end\"><\/span><\/h4>\n<h5><span class=\"ez-toc-section\" id=\"%E4%BD%BF%E7%94%A8%E5%9C%BA%E6%99%AF-10\"><\/span>\u4f7f\u7528\u573a\u666f<span class=\"ez-toc-section-end\"><\/span><\/h5>\n<p>PydanticOutputParser \u662f\u4e00\u79cd\u7c7b\u4f3c\u4e8eJavascript\u4e2d\u7684 TypeScript\uff0c\u7528\u4e8e\u89e3\u6790\u548c\u9a8c\u8bc1\u8f93\u51fa\u6570\u636e\u7684\u5de5\u5177\uff0c\u53ef\u4ee5\u5bf9\u52a8\u6001\u8bed\u8a00\u4e2d\u7684\u6570\u636e\u7c7b\u578b\uff0c\u8fdb\u884c\u7ea6\u675f\uff1b\u589e\u5f3a\u4ee3\u7801\u7684\u9c81\u68d2\u6027\uff0c\u628a\u95ee\u9898\u53d1\u73b0\u5728\u5f00\u53d1\u9636\u6bb5\uff0c\u800c\u4e0d\u662f\u5728\u8fd0\u884c\u9636\u6bb5\u3002<\/p>\n<h5><span class=\"ez-toc-section\" id=\"%E4%BD%BF%E7%94%A8%E6%96%B9%E6%B3%95-10\"><\/span>\u4f7f\u7528\u65b9\u6cd5<span class=\"ez-toc-section-end\"><\/span><\/h5>\n<pre><code class=\"language-python\">from langchain.output_parsers import PydanticOutputParser\nfrom langchain.pydantic_v1 import BaseModel, Field\nimport json\n\n# \u628a\u5c5e\u6027\u5b9a\u4e49\u4e3a\u7c7b\u53d8\u91cf\nclass ResultEntity(BaseModel):\n    &quot;&quot;&quot;\n    \u81ea\u5b9a\u4e49\u7ed3\u679c\u8f93\u51fa\n    &quot;&quot;&quot;\n    country: str | list  = Field(description=&quot;\u8fd9\u4e2a\u56fd\u5bb6\u7684\u540d\u5b57&quot;)\n    population: str | list = Field(description=&quot; \u8fd9\u4e2a\u56fd\u5bb6\u5bf9\u5e94\u7684\u4eba\u53e3&quot;)\n\nparser = PydanticOutputParser(pydantic_object=ResultEntity)\n\nprint(parser.get_format_instructions())\n\nformat_instructions = parser.get_format_instructions()\n\nprompt = PromptTemplate.from_template(template=&quot;\u8bf7\u5217\u51fa\u4e16\u754c\u4e0a\u4eba\u53e3\u6570\u91cf\u6392\u540d\u524d5\u7684\u56fd\u5bb6\u53ca\u5176\u4eba\u53e3\u3002\\n{format}&quot;,\n                                     partial_variables={&quot;format&quot;: format_instructions})\nchain = prompt | llm\n\nresult = chain.invoke(input={})\nresult\n\n# \u53bb\u6389 ```json``` \u548c ``` \u6807\u8bb0\ncleaned_result = result.strip(&#039;```json\\n&#039;).strip(&#039;```&#039;)\n\nparsed_result = json.loads(cleaned_result)\n\n# \u6253\u5370\u89e3\u6790\u540e\u7684\u7ed3\u679c\nprint(parsed_result)<\/code><\/pre>\n<p>\u8fd0\u884c\u7ed3\u679c\uff1a<\/p>\n<pre><code class=\"language-python\">{&#039;country&#039;: [&#039;China&#039;, &#039;India&#039;, &#039;United States&#039;, &#039;Indonesia&#039;, &#039;Pakistan&#039;], \n&#039;population&#039;: [&#039;1,439,323,776&#039;, &#039;1,380,004,385&#039;, &#039;331,002,651&#039;, &#039;273,523,615&#039;, &#039;220,892,340&#039;]}<\/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><code>LangChain<\/code> \u7684\u6574\u4f53\u67b6\u6784\u7531<code>LangSmith<\/code>\u3001<code>LangServe<\/code>\u3001<code>Templates<\/code>\u3001<code>LangChain-Community<\/code> \u548c <code>LangChain-Core<\/code>\u6784\u6210\u3002<\/li>\n<li><code>LangChain-Core<\/code> \u662f <code>LangChain<\/code> \u7684\u6838\u5fc3\u5e93\uff0c\u63d0\u4f9b\u4e86\u57fa\u672c\u7684\u529f\u80fd\u548c\u6a21\u5757\uff0c\u652f\u6301\u6784\u5efa\u548c\u7ba1\u7406\u94fe\u5f0f\u5e94\u7528\u7a0b\u5e8f\u3002<\/li>\n<li><code>LangChain-Community<\/code> \u662f\u4e00\u4e2a\u793e\u533a\u9a71\u52a8\u7684\u90e8\u5206\u3002\u901a\u8fc7\u4f7f\u7528 <code>LangChain-community<\/code> \u4e2d\u7684 \u63d2\u4ef6\u5e93(\u4f8b\u5982\uff1aTongyi)\uff0c\u53ef\u4ee5\u5feb\u901f\u8fde\u63a5\u5bf9\u5e94\u7684\u5927\u6a21\u578b(\u4f8b\u5982\uff1a\u963f\u91cc\u7684\u901a\u4e49\u5343\u95ee\u5927\u6a21\u578b)\u3002<\/li>\n<li><code>LangServe<\/code> \u662f\u4e00\u4e2a\u670d\u52a1\u6846\u67b6\uff0c\u7528\u4e8e\u5c06 <code>LangChain<\/code> \u5e94\u7528\u90e8\u7f72\u4e3a\u53ef\u8bbf\u95ee\u7684 API\u3002<\/li>\n<li><code>LangSmith<\/code> \u662f\u4e00\u4e2a\u5de5\u5177\uff0c\u65e8\u5728\u5e2e\u52a9\u5f00\u53d1\u8005\u5728\u6784\u5efa\u548c\u8c03\u8bd5 <code>LangChain<\/code> \u5e94\u7528\u65f6\u8fdb\u884c\u66f4\u597d\u7684\u7ba1\u7406\u548c\u76d1\u63a7\u3002<\/li>\n<li><code>FewShotPromptTemplate<\/code> \u5141\u8bb8\u7528\u6237\u5728\u63d0\u793a\u4e2d\u5305\u542b\u51e0\u4e2a\u793a\u4f8b\uff0c\u4ee5\u5e2e\u52a9\u6a21\u578b\u66f4\u597d\u5730\u7406\u89e3\u4efb\u52a1\u548c\u9884\u671f\u8f93\u51fa\u3002<\/li>\n<li><code>PipelinePrompt<\/code> \u5141\u8bb8\u5c06\u591a\u4e2a\u6b65\u9aa4\u6216\u7ec4\u4ef6\u7ec4\u5408\u5728\u4e00\u8d77\uff0c\u4ee5\u5b9e\u73b0\u66f4\u590d\u6742\u7684\u4efb\u52a1\u3002<\/li>\n<li><code>MessagePlaceholder\uff08\u6d88\u606f\u5360\u4f4d\u7b26\uff09<\/code>\u5141\u8bb8\u5f00\u53d1\u8005\u5728\u6784\u5efa\u63d0\u793a\u65f6\u9884\u7559\u4f4d\u7f6e\uff0c\u4ee5\u4fbf\u5728\u8fd0\u884c\u65f6\u586b\u5145\u5177\u4f53\u7684\u6d88\u606f\u5185\u5bb9\u3002<\/li>\n<li><code>CommaSeparatedListOutputParser<\/code> \u53ef\u4ee5\u5c06\u6587\u672c\u8f93\u51fa\u89e3\u6790\u4e3a\u9017\u53f7\u5206\u9694\u5217\u8868\u7684\u4efb\u52a1\uff0c\u6709\u65f6\u4e0d\u7075\u7684\u65f6\u5019\u53ef\u80fd\u9700\u8981\u6211\u4eec\u91cd\u5199\u63d0\u793a\u5185\u5bb9\u3002<\/li>\n<li><code>StructuredOutputParser<\/code> \u53ef\u4ee5\u5c06\u6570\u636e\u6309\u7167\u6307\u5b9a\u683c\u5f0f\u8f93\u51fa\uff0c\u7279\u522b\u662f\u5728Json\u683c\u5f0f\u4e2d\uff0c\u53ef\u4ee5\u66f4\u65b9\u4fbf\u7684\u89e3\u6790\u6570\u636e\u3002<\/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>\u6682\u65e0<\/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 \u5728\u4e0a\u4e00\u7ae0\u3010\u8bfe\u7a0b\u603b\u7ed3\u3011day25\uff1a\u5927 [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":14655,"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":[68],"class_list":["post-15352","post","type-post","status-publish","format-aside","has-post-thumbnail","hentry","category-blog","tag-68","post_format-post-format-aside"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v26.4 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>\u3010\u8bfe\u7a0b\u603b\u7ed3\u3011day26\uff1a\u5927\u6a21\u578b\u5e94\u7528\u5f00\u53d1\u4e4bPrompt\u8fdb\u9636\u4f7f\u7528 - \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=15352\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/17aitech.com\/?p=15352\",\"url\":\"https:\/\/17aitech.com\/?p=15352\",\"name\":\"\u3010\u8bfe\u7a0b\u603b\u7ed3\u3011day26\uff1a\u5927\u6a21\u578b\u5e94\u7528\u5f00\u53d1\u4e4bPrompt\u8fdb\u9636\u4f7f\u7528 - \u4e00\u8d77AI\u6280\u672f\",\"isPartOf\":{\"@id\":\"https:\/\/17aitech.com\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/17aitech.com\/?p=15352#primaryimage\"},\"image\":{\"@id\":\"https:\/\/17aitech.com\/?p=15352#primaryimage\"},\"thumbnailUrl\":\"https:\/\/17aitech.com\/wp-content\/uploads\/2024\/08\/\u5c01\u9762-1.png\",\"datePublished\":\"2024-08-19T18:04:31+00:00\",\"dateModified\":\"2024-10-08T07:09:27+00:00\",\"author\":{\"@id\":\"https:\/\/17aitech.com\/#\/schema\/person\/3d23bb6f7f115fcefc9ae7803a691739\"},\"breadcrumb\":{\"@id\":\"https:\/\/17aitech.com\/?p=15352#breadcrumb\"},\"inLanguage\":\"zh-Hans\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/17aitech.com\/?p=15352\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"zh-Hans\",\"@id\":\"https:\/\/17aitech.com\/?p=15352#primaryimage\",\"url\":\"https:\/\/17aitech.com\/wp-content\/uploads\/2024\/08\/\u5c01\u9762-1.png\",\"contentUrl\":\"https:\/\/17aitech.com\/wp-content\/uploads\/2024\/08\/\u5c01\u9762-1.png\",\"width\":1782,\"height\":752},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/17aitech.com\/?p=15352#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"\u9996\u9875\",\"item\":\"https:\/\/17aitech.com\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"\u3010\u8bfe\u7a0b\u603b\u7ed3\u3011day26\uff1a\u5927\u6a21\u578b\u5e94\u7528\u5f00\u53d1\u4e4bPrompt\u8fdb\u9636\u4f7f\u7528\"}]},{\"@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\":\"https:\/\/17aitech.com\/#\/schema\/person\/image\/\",\"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\u3011day26\uff1a\u5927\u6a21\u578b\u5e94\u7528\u5f00\u53d1\u4e4bPrompt\u8fdb\u9636\u4f7f\u7528 - \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=15352","schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/17aitech.com\/?p=15352","url":"https:\/\/17aitech.com\/?p=15352","name":"\u3010\u8bfe\u7a0b\u603b\u7ed3\u3011day26\uff1a\u5927\u6a21\u578b\u5e94\u7528\u5f00\u53d1\u4e4bPrompt\u8fdb\u9636\u4f7f\u7528 - \u4e00\u8d77AI\u6280\u672f","isPartOf":{"@id":"https:\/\/17aitech.com\/#website"},"primaryImageOfPage":{"@id":"https:\/\/17aitech.com\/?p=15352#primaryimage"},"image":{"@id":"https:\/\/17aitech.com\/?p=15352#primaryimage"},"thumbnailUrl":"https:\/\/17aitech.com\/wp-content\/uploads\/2024\/08\/\u5c01\u9762-1.png","datePublished":"2024-08-19T18:04:31+00:00","dateModified":"2024-10-08T07:09:27+00:00","author":{"@id":"https:\/\/17aitech.com\/#\/schema\/person\/3d23bb6f7f115fcefc9ae7803a691739"},"breadcrumb":{"@id":"https:\/\/17aitech.com\/?p=15352#breadcrumb"},"inLanguage":"zh-Hans","potentialAction":[{"@type":"ReadAction","target":["https:\/\/17aitech.com\/?p=15352"]}]},{"@type":"ImageObject","inLanguage":"zh-Hans","@id":"https:\/\/17aitech.com\/?p=15352#primaryimage","url":"https:\/\/17aitech.com\/wp-content\/uploads\/2024\/08\/\u5c01\u9762-1.png","contentUrl":"https:\/\/17aitech.com\/wp-content\/uploads\/2024\/08\/\u5c01\u9762-1.png","width":1782,"height":752},{"@type":"BreadcrumbList","@id":"https:\/\/17aitech.com\/?p=15352#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"\u9996\u9875","item":"https:\/\/17aitech.com\/"},{"@type":"ListItem","position":2,"name":"\u3010\u8bfe\u7a0b\u603b\u7ed3\u3011day26\uff1a\u5927\u6a21\u578b\u5e94\u7528\u5f00\u53d1\u4e4bPrompt\u8fdb\u9636\u4f7f\u7528"}]},{"@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":"https:\/\/17aitech.com\/#\/schema\/person\/image\/","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\/15352","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=15352"}],"version-history":[{"count":2,"href":"https:\/\/17aitech.com\/index.php?rest_route=\/wp\/v2\/posts\/15352\/revisions"}],"predecessor-version":[{"id":33218,"href":"https:\/\/17aitech.com\/index.php?rest_route=\/wp\/v2\/posts\/15352\/revisions\/33218"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/17aitech.com\/index.php?rest_route=\/wp\/v2\/media\/14655"}],"wp:attachment":[{"href":"https:\/\/17aitech.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=15352"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/17aitech.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=15352"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/17aitech.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=15352"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}