PageSourceSearch

https://prompt-engineering-pink.vercel.app/_next/static/chunks/pag…/function_calling.zh-ab7dd26780f5ea6b.js

js prompt-engineering-pink.vercel.app collected 2026-10-03 07:34:02 UTC 44,875 bytes, 1 lines download raw bytes

1(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[29262],{84047:function(e,n,s){(window.__NEXT_P=window.__NEXT_P||[]).push(["/applications/function_calling.zh",function(){return s(19981)}])},19981:function(e,n,s){"use strict";s.r(n),s.d(n,{__toc:function(){return l}});var o=s(11527),i=s(77154),t=s(51592),a=s(52243);s(44064),s(76948);var r=s(5424);let l=[{depth:2,value:"调用函数",id:"调用函数"},{depth:2,value:"使用GPT-4进行函数调用",id:"使用gpt-4进行函数调用"},{depth:2,value:"使用开源LLM进行函数调用",id:"使用开源llm进行函数调用"},{depth:2,value:"函数调用用例",id:"函数调用用例"}];function _createMdxContent(e){let n=Object.assign({h1:"h1",h2:"h2",p:"p",ul:"ul",li:"li",code:"code",pre:"pre",span:"span",a:"a"},(0,r.a)(),e.components);return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(n.h1,{children:"在LLM中调用函数"}),"\n",(0,o.jsx)(n.h2,{id:"调用函数",children:"调用函数"}),"\n",(0,o.jsx)(n.p,{children:"函数调用是指可靠地连接LLM与外部工具的能力。让用户能够使用高效的外部工具、与外部API进行交互。"}),"\n",(0,o.jsx)(n.p,{children:"GPT-4和GPT-3.5是经过微调的LLM,能够检测函数是否被调用,随后输出包含调用函数参数的JSON。通过这一过程被调用的函数能够作为工具添加到您的AI应用中,并且您可以在单个请求中定义多个函数。"}),"\n",(0,o.jsx)(n.p,{children:"函数调用是一项重要能力。它对于构建LLM驱动的聊天机器人或代理至关重要。这些聊天机器人或代理需要为LLM检索上下文。它们还与外部工具交互。这种交互是通过将自然语言转换为API调用来完成的。"}),"\n",(0,o.jsx)(n.p,{children:"函数调用使开发者能够创建:"}),"\n",(0,o.jsxs)(n.ul,{children:["\n",(0,o.jsxs)(n.li,{children:["能够高效使用外部工具回答问题的对话代理。例如,查询“伯利兹的天气如何?”将被转换为类似",(0,o.jsx)(n.code,{children:"get_current_weather(location: string, unit: 'celsius' | 'fahrenheit')"}),"的函数调用"]}),"\n",(0,o.jsx)(n.li,{children:"用于提取和标记数据的LLM驱动解决方案(例如,从维基百科文章中提取人名)"}),"\n",(0,o.jsx)(n.li,{children:"可以帮助将自然语言转换为API调用或有效数据库查询的应用程序"}),"\n",(0,o.jsx)(n.li,{children:"能够与知识库交互的对话式知识检索引擎"}),"\n"]}),"\n",(0,o.jsx)(n.p,{children:"在这份指南中,我们展示了如何针对GPT-4和其他开源模型给出提示,以执行不同的函数调用。"}),"\n",(0,o.jsx)(n.h2,{id:"使用gpt-4进行函数调用",children:"使用GPT-4进行函数调用"}),"\n",(0,o.jsx)(n.p,{children:"作为一个基本示例,假设我们要求模型检查特定地点的天气。"}),"\n",(0,o.jsx)(n.p,{children:"LLM本身无法响应此请求。因为它所使用的训练数据集截止至之前的某个日期。解决这个问题的方法是将LLM与外部工具结合起来。您可以利用模型的函数调用能力来确定要调用的外部函数及其参数,然后让它返回最终回复结果。以下是一个简单的示例,展示了如何使用OpenAI API实现这一点。"}
1),"\n",(0,o.jsx)(n.p,{children:"假设一个用户向模型提出以下问题:"}),"\n",(0,o.jsx)(n.pre,{"data-language":"text","data-theme":"default",children:(0,o.jsx)(n.code,{"data-language":"text","data-theme":"default",children:(0,o.jsx)(n.span,{className:"line",children:(0,o.jsx)(n.span,{style:{color:"var(--shiki-color-text)"},children:"伦敦的天气如何?"})})})}),"\n",(0,o.jsx)(n.p,{children:"要使用函数调用处理此请求,第一步是定义一个或一组天气函数。您将作为OpenAI API请求的一部分传递这些函数:"}),"\n",(0,o.jsx)(n.pre,{"data-language":"python","data-theme":"default",children:(0,o.jsxs)(n.code,{"data-language":"python","data-theme":"default",children:[(0,o.jsxs)(n.span,{className:"line",children:[(0,o.jsx)(n.span,{style:{color:"var(--shiki-color-text)"},children:"tools "}),(0,o.jsx)(n.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,o.jsx)(n.span,{style:{color:"var(--shiki-color-text)"},children:" ["})]}),"\n",(0,o.jsxs)(n.span,{className:"line",children:[(0,o.jsx)(n.span,{style:{color:"var(--shiki-color-text)"},children:"    "}),(0,o.jsx)(n.span,{style:{color:"var(--shiki-token-punctuation)"},children:"{"})]}),"\n",(0,o.jsxs)(n.span,{className:"line",children:[(0,o.jsx)(n.span,{style:{color:"var(--shiki-color-text)"},children:"        "}),(0,o.jsx)(n.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"type"'}),(0,o.jsx)(n.span,{style:{color:"var(--shiki-token-punctuation)"},children:":"}),(0,o.jsx)(n.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(n.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"function"'}),(0,o.jsx)(n.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,o.jsxs)(n.span,{className:"line",children:[(0,o.jsx)(n.span,{style:{color:"var(--shiki-color-text)"},children:"        "}),(0,o.jsx)(n.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"function"'}),(0,o.jsx)(n.span,{style:{color:"var(--shiki-token-punctuation)"},children:":"}),(0,o.jsx)(n.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(n.span,{style:{color:"var(--shiki-token-punctuation)"},children:"{"})]}),"\n",(0,o.jsxs)(n.span,{className:"line",children:[(0,o.jsx)(n.span,{style:{color:"var(--shiki-color-text)"},children:"            "}),(0,o.jsx)(n.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"name"'}),(0,o.jsx)(n.span,{style:{color:"var(--shiki-token-punctuation)"},children:":"}),(0,o.jsx)(n.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(n.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"get_current_weather"'}),(0,o.jsx)(n.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,o.jsxs)(n.span,{className:"line",children:[(0,o.jsx)(n.span,{style:{color:"var(--shiki-color-text)"},children:"            "}),(0,o.jsx)(n.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"description"'}),(0,o.jsx)(n.span,{style:{color:"var(--shiki-token-punctuation)"},children:":"}),(0,o.jsx)(n.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(n.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"Get the current weather in a given location"'}),(0,o.jsx)(n.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,o.jsxs)(n.span,{className:"line",children:[(0,o.jsx)(n.span,{style:{color:"var(--shiki-color-text)"},children:"            "}),(0,o.jsx)(n.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"parameters"'}),(0,o.jsx)(n.span,{style:{color:"var(--shiki-token-punctuation)"},children:":"}),(0,o.jsx)(n.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(n.span,{style:{color:"var(--shiki-token-punctuation)"},children:"{"})]}),"\n",(0,o.jsxs)(n.span,{className:"line",children:[(0,o.jsx)(n.span,{style:{color:"var(--shiki-color-text)"},children:"                "}),(0,o.jsx)(n.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"type"'}),(0,o.jsx)(n.span,{style:{color:"var(--shiki-token-punctuation)"},children:":"}),(0,o.jsx)(n.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(n.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"object"'}),(0,o.jsx)(n.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,o.jsxs)(n.span,{className:"line",children:[(0,o.jsx)(n.span,{style:{color:"var(--shiki-color-text)"},children:"                "}),(0,o.jsx)(n.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"properties"'}),(0,o.jsx)(n.span,{style:{color:"var(--shiki-token-punctuation)"},children:":"}),(0,o.jsx)(n.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(n.span,{style:{color:"var(--shiki-token-punctuation)"},children:"{"})]}),"\n",(0,o.jsxs)(n.span,{className:"line",children:[(0,o.jsx)(n.span,{style:{color:"var(--shiki-color-text)"},children:"                    "}),(0,o.jsx)(n.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"location"'}),(0,o.jsx)(n.span,{style:{color:"var(--shiki-token-punctuation)"},children:":"}),(0,o.jsx)(n.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(n.span,{style:{color:"var(--shiki-token-punctuation)"},children:"{"})]}),"\n",(0,o.jsxs)(n.span,{className:"line",children:[(0,o.jsx)(n.span,{style:{color:"var(--shiki-color-text)"},children:"                        "}),(0,o.jsx)(n.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"type"'}),(0,o.jsx)(n.span,{style:{color:"var(--shiki-token-punctuation)"},children:":"}),(0,o.jsx)(n.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(n.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"string"'}),(0,o.jsx)(n.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,o.jsxs)(n.span,{className:"line",children:[(0,o.jsx)(n.span,{style:{color:"var(--shiki-color-text)"},children:"                        "}),(0,o.jsx)(n.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"description"'}),(0,o.jsx)(n.span,{style:{color:"var(--shiki-token-punctuation)"},children:":"}),(0,o.jsx)(n.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(n.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"The city and state, e.g. San Francisco, CA"'}),(0,o.jsx)(n.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,o.jsxs)(n.span,{className:"line",children:[(0,o.jsx)(n.span,{style:{color:"var(--shiki-color-text)"},children:"                    "}),(0,o.jsx)(n.span,{style:{color:"var(--shiki-token-punctuation)"},children:"},"})]}),"\n",(0,o.jsxs)(n.span,{className:"line",children:[(0,o.jsx)(n.span,{style:{color:"var(--shiki-color-text)"},children:"                    "}),(0,o.jsx)(n.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"unit"'}),(0,o.jsx)(n.span,{style:{color:"var(--shiki-token-punctuation)"},children:":"}),(0,o.jsx)(n.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(n.span,{style:{color:"var(--shiki-token-punctuation)"},children:"{"})]}),"\n",(0,o.jsxs)(n.span,{className:"line",children:[(0,o.jsx)(n.span,{style:{color:"var(--shiki-color-text)"},children:"                        "}),(0,o.jsx)(n.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"type"'}),(0,o.jsx)(n.span,{style:{color:"var(--shiki-token-punctuation)"},children:":"}),(0,o.jsx)(n.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(n.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"string"'}),(0,o.jsx)(n.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(n.span,{style:{color:"var(--shiki-color-text)"},children:" "})]}),"\n",(0,o.jsxs)(n.span,{className:"line",children:[(0,o.jsx)(n.span,{style:{color:"var(--shiki-color-text)"},children:"                        "}),(0,o.jsx)(n.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"enum"'}),(0,o.jsx)(n.span,{style:{color:"var(--shiki-token-punctuation)"},children:":"}),(0,o.jsx)(n.span,{style:{color:"var(--shiki-color-text)"},children:" ["}),(0,o.jsx)(n.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"celsius"'}),(0,o.jsx)(n.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(n.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(n.span,{style:{color:"var(--shiki-token-string-expression)"}
1,children:'"fahrenheit"'}),(0,o.jsx)(n.span,{style:{color:"var(--shiki-color-text)"},children:"]"}),(0,o.jsx)(n.span,{style:{color:"var(--shiki-token-punctuation)"},children:"},"})]}),"\n",(0,o.jsxs)(n.span,{className:"line",children:[(0,o.jsx)(n.span,{style:{color:"var(--shiki-color-text)"},children:"                "}),(0,o.jsx)(n.span,{style:{color:"var(--shiki-token-punctuation)"},children:"},"})]}),"\n",(0,o.jsxs)(n.span,{className:"line",children:[(0,o.jsx)(n.span,{style:{color:"var(--shiki-color-text)"},children:"                "}),(0,o.jsx)(n.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"required"'}),(0,o.jsx)(n.span,{style:{color:"var(--shiki-token-punctuation)"},children:":"}),(0,o.jsx)(n.span,{style:{color:"var(--shiki-color-text)"},children:" ["}),(0,o.jsx)(n.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"location"'}),(0,o.jsx)(n.span,{style:{color:"var(--shiki-color-text)"},children:"]"}),(0,o.jsx)(n.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,o.jsxs)(n.span,{className:"line",children:[(0,o.jsx)(n.span,{style:{color:"var(--shiki-color-text)"},children:"            "}),(0,o.jsx)(n.span,{style:{color:"var(--shiki-token-punctuation)"},children:"},"})]}),"\n",(0,o.jsxs)(n.span,{className:"line",children:[(0,o.jsx)(n.span,{style:{color:"var(--shiki-color-text)"},children:"        "}),(0,o.jsx)(n.span,{style:{color:"var(--shiki-token-punctuation)"},children:"},"}),(0,o.jsx)(n.span,{style:{color:"var(--shiki-color-text)"},children:"   "})]}),"\n",(0,o.jsxs)(n.span,{className:"line",children:[(0,o.jsx)(n.span,{style:{color:"var(--shiki-color-text)"},children:"    "}),(0,o.jsx)(n.span,{style:{color:"var(--shiki-token-punctuation)"},children:"}"})]}),"\n",(0,o.jsx)(n.span,{className:"line",children:(0,o.jsx)(n.span,{style:{color:"var(--shiki-color-text)"},children:"]"})})]})}),"\n",(0,o.jsxs)(n.p,{children:[(0,o.jsx)(n.code,{children:"get_current_weather"}),"函数能够返回指定位置的天气情况。当您将这个函数定义作为请求的一部分传递时,它实际上并不执行函数,只是返回一个包含调用函数所需参数的JSON对象。以下是一些如何实现这一点的代码片段。"]}),"\n",(0,o.jsx)(n.p,{children:"您可以如下定义一个完整的函数:"}),"\n",(0,o.jsx)(n.pre,{"data-language":"python","data-theme":"default",children:(0,o.jsxs)(n.code,{"data-language":"python","data-theme":"default",children:[(0,o.jsxs)(n.span,{className:"line",children:[(0,o.jsx)(n.span,{style:{color:"var(--shiki-token-keyword)"},children:"def"}),(0,o.jsx)(n.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(n.span,{style:{color:"var(--shiki-token-function)"},children:"get_completion"}),(0,o.jsx)(n.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,o.jsx)(n.span,{style:{color:"var(--shiki-token-parameter)"},children:"messages"}),(0,o.jsx)(n.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(n.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(n.span,{style:{color:"var(--shiki-token-parameter)"},children:"model"}),(0,o.jsx)(n.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,o.jsx)(n.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"gpt-3.5-turbo-1106"'}),(0,o.jsx)(n.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(n.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(n.span,{style:{color:"var(--shiki-token-parameter)"},children:"temperature"}),(0,o.jsx)(n.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,o.jsx)(n.span,{style:{color:"var(--shiki-token-constant)"},children:"0"}),(0,o.jsx)(n.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(n.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(n.span,{style:{color:"var(--shiki-token-parameter)"},children:"max_tokens"}),(0,o.jsx)(n.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,o.jsx)(n.span,{style:{color:"var(--shiki-token-constant)"},children:"300"}),(0,o.jsx)(n.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,o.jsx)(n.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(n.span,{style:{color:"var(--shiki-token-parameter)"},children:"tools"}),(0,o.jsx)(n.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,o.jsx)(n.span,{style:{color:"var(--shiki-token-constant)"},children:"None"}),(0,o.jsx)(n.span,{style:{color:"var(--shiki-color-text)"},children:"):"})]}),"\n",(0,o.jsxs)(n.span,{className:"line",children:[(0,o.jsx)(n.span,{style:{color:"var(--shiki-color-text)"},children:"    response "}),(0,o.jsx)(n.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,o.jsx)(n.span,{style:{color:"var(--shiki-color-text)"},children:" openai"}),(0,o.jsx)(n.span,{style:{color:"var(--shiki-token-punctuation)"},children:"."}),(0,o.jsx)(n.span,{style:{color:"var(--shiki-color-text)"},children:"chat"}),(0,o.jsx)(n.span,{style:{color:"var(--shiki-token-punctuation)"},children:"."}),(0,o.jsx)(n.span,{style:{color:"var(--shiki-color-text)"},children:"completions"}),(0,o.jsx)(n.span,{style:{color:"var(--shiki-token-punctuation)"},children:"."}),(0,o.jsx)(n.span,{style:{color:"var(--shiki-token-function)"},children:"create"}),(0,o.jsx)(n.span,{style:{color:"var(--shiki-token-punctuation)"},children:"("})]}),"\n",(0,o.jsxs)(n.span,{className:"line",children:[(0,o.jsx)(n.span,{style:{color:"var(--shiki-token-punctuation)"},children:"        model"}),(0,o.jsx)(n.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,o.jsx)(n.span,{style:{color:"var(--shiki-token-punctuation)"},children:"model,"})]}),"\n",(0,o.jsxs)(n.span,{className:"line",children:[(0,o.jsx)(n.span,{style:{color:"var(--shiki-token-punctuation)"},children:"        messages"}),(0,o.jsx)(n.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,o.jsx)(n.span,{style:{color:"var(--shiki-token-punctuation)"},children:"messages,"})]}),"\n",(0,o.jsxs)(n.span,{className:"line",children:[(0,o.jsx)(n.span,{style:{color:"var(--shiki-token-punctuation)"},children:"        temperature"}),(0,o.jsx)(n.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,o.jsx)(n.span,{style:{color:"var(--shiki-token-punctuation)"},children:"temperature,"})]}),"\n",(0,o.jsxs)(n.span,{className:"line",children:[(0,o.jsx)(n.span,{style:{color:"var(--shiki-token-punctuation)"},children:"        max_tokens"}),(0,o.jsx)(n.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,o.jsx)(n.span,{style:{color:"var(--shiki-token-punctuation)"},children:"max_tokens,"})]}),"\n",(0,o.jsxs)(n.span,{className:"line",children:[(0,o.jsx)(n.span,{style:{color:"var(--shiki-token-punctuation)"},children:"        tools"}),(0,o.jsx)(n.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,o.jsx)(n.span,{style:{color:"var(--shiki-token-punctuation)"},children:"tools"})]}),"\n",(0,o.jsx)(n.span,{className:"line",children:(0,o.jsx)(n.span,{style:{color:"var(--shiki-token-punctuation)"},children:"    )"})}),"\n",(0,o.jsxs)(n.span,{className:"line",children:[(0,o.jsx)(n.span,{style:{color:"var(--shiki-color-text)"},children:"    "}),(0,o.jsx)(n.span,{style:{color:"var(--shiki-token-keyword)"},children:"return"}),(0,o.jsx)(n.span,{style:{color:"var(--shiki-color-text)"},children:" response"}),(0,o.jsx)(n.span,{style:{color:"var(--shiki-token-punctuation)"},children:"."}),(0,o.jsx)(n.span,{style:{color:"var(--shiki-color-text)"},children:"choices"}),(0,o.jsx)(n.span,{style:{color:"var(--shiki-token-punctuation)"},children:"["}),(0,o.jsx)(n.span,{style:{color:"var(--shiki-token-constant)"},children:"0"}),(0,o.jsx)(n.span,{style:{color:"var(--shiki-token-punctuation)"},children:"]."}),(0,o.jsx)(n.span,{style:{color:"var(--shiki-color-text)"},children:"message"})]})]})}),"\n",(0,o.jsx)(n.p,{children:"您可以像这样构造用户提问:"}),"\n",(0,o.jsx)(n.pre,{"data-language":"python","data-theme":"default",children:(0,o.jsxs)(n.code,{"data-language":"python","data-theme":"default",children:[(0,o.jsxs)(n.span,{className:"line",children:[(0,o.jsx)(n.span,{style:{color:"var(--shiki-color-text)"},children:"messages "}),(0,o.jsx)(n.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,o.jsx)(n.span,{style:{color:"var(--shiki-color-text)"},children:" ["})]}),"\n",(0,o.jsxs)(n.span,{className:"line",children:[(0,o.jsx)(n.span,{style:{color:"var(--shiki-color-text)"},children:"    "}),(0,o.jsx)(n.span,{style:{color:"var(--shiki-token-punctuation)"},children:"{"})]}),"\n",(0,o.jsxs)(n.span,{className:"line",children:[(0,o.jsx)(n.span,{style:{color:"var(--shiki-color-text)"},children:"        "}),(0,o.jsx)(n.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"role"'}),(0,o.jsx)(n.span,{style:{color:"var(--shiki-token-punctuation)"},children:":"}),(0,o.jsx)(n.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(n.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"user"'}),(0,o.jsx)(n.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,o.jsxs)(n.span,{className:"line",children:[(0,o.jsx)(n.span,{style:{color:"var(--shiki-color-text)"},children:"        "}),(0,o.jsx)(n.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"content"'}),(0,o.jsx)(n.span,{style:{color:"var(--shiki-token-punctuation)"},children:":"}),(0,o.jsx)(n.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(n.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"伦敦的天气如何?"'})]}),"\n",(0,o.jsxs)(n.span,{className:"line",children:[(0,o.jsx)(n.span,{style:{color:"var(--shiki-color-text)"},children:"    "}),(0,o.jsx)(n.span,{style:{color:"var(--shiki-token-punctuation)"},children:"}"})]}),"\n",(0,o.jsx)(n.span,{className:"line",children:(0,o.jsx)(n.span,{style:{color:"var(--shiki-color-text)"},children:"]"})})]})}),"\n",(0,o.jsxs)(n.p,{children:["最后,您可以调用",(0,o.jsx)(n.code,{children:"get_completion"}),"函数,将结果传递给",(0,o.jsx)(n.code,{children:"response"}),"中的",(0,o.jsx)(n.code,{children:"messages"}),"和",(0,o.jsx)(n.code,{children:"tools"}),":"]}),"\n",(0,o.jsx)(n.pre,{"data-language":"python","data-theme":"default",children:(0,o.jsx)(n.code,{"data-language":"python","data-theme":"default",children:(0,o.jsxs)(n.span,{className:"line",children:[(0,o.jsx)(n.span,{style:{color:"var(--shiki-color-text)"},children:"response "}),(0,o.jsx)(n.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,o.jsx)(n.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(n.span,{style:{color:"var(--shiki-token-function)"},children:"get_completion"}),(0,o.jsx)(n.span,{style:{color:"var(--shiki-token-punctuation)"},children:"(messages, tools"}),(0,o.jsx)(n.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,o.jsx)(n.span,{style:{color:"var(--shiki-token-punctuation)"},children:"tools)"})]})})}),"\n",(0,o.jsxs)(n.p,{children:[(0,o.jsx)(n.code,{children:"response"}),"的构造如下所示:"]}),"\n",(0,o.jsx)(n.pre,{"data-language":"python","data-theme":"default",children:(0,o.jsx)(n.code,{"data-language":"python","data-theme":"default",children:(0,o.jsxs)(n.span,{className:"line",children:[(0,o.jsx)(n.span,{style:{color:"var(--shiki-token-function)"},children:"ChatCompletionMessage"}),(0,o.jsx)(n.span,{style:{color:"var(--shiki-token-punctuation)"},children:"(content"}),(0,o.jsx)(n.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,o.jsx)(n.span,{style:{color:"var(--shiki-token-constant)"},children:"None"}),(0,o.jsx)(n.span,{style:{color:"var(--shiki-token-punctuation)"},children:", role"}),(0,o.jsx)(n.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,o.jsx)(n.span,{style:{color:"var(--shiki-token-string-expression)"},children:"'assistant'"}),(0,o.jsx)(n.span,{style:{color:"var(--shiki-token-punctuation)"},children:", function_call"}),(0,o.jsx)(n.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,o.jsx)(n.span,{style:{color:"var(--shiki-token-constant)"},children:"None"}),(0,o.jsx)(n.span,{style:{color:"var(--shiki-token-punctuation)"},children:", tool_calls"}),(0,o.jsx)(n.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,o.jsx)(n.span,{style:{color:"var(--shiki-token-punctuation)"},children:"["}),(0,o.jsx)(n.span,{style:{color:"var(--shiki-token-function)"},children:"ChatCompletionMessageToolCall"}),(0,o.jsx)(n.span,{style:{color:"var(--shiki-token-punctuation)"},children:"(id"}),(0,o.jsx)(n.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,o.jsx)(n.span,{style:{color:"var(--shiki-token-string-expression)"},children:"'...'"}),(0,o.jsx)(n.span,{style:{color:"var(--shiki-token-punctuation)"},children:", function"}),(0,o.jsx)(n.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,o.jsx)(n.span,{style:{color:"var(--shiki-token-function)"},children:"Function"}),(0,o.jsx)(n.span,{style:{color:"var(--shiki-token-punctuation)"},children:"(arguments"}),(0,o.jsx)(n.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,o.jsx)(n.span,{style:{color:"var(--shiki-token-string-expression)"},children:'\'{"location":"London","unit":"celsius"}\''}),(0,o.jsx)(n.span,{style:{color:"var(--shiki-token-punctuation)"},children:", name"}),(0,o.jsx)(n.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,o.jsx)(n.span,{style:{color:"var(--shiki-token-string-expression)"},children:"'get_current_weather'"}),(0,o.jsx)(n.span,{style:{color:"var(--shiki-token-punctuation)"},children:"), type"}),(0,o.jsx)(n.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,o.jsx)(n.span,{style:{color:"var(--shiki-token-string-expression)"},children:"'function'"}),(0,o.jsx)(n.span,{style:{color:"var(--shiki-token-punctuation)"},children:")])"})]})})}),"\n",(0,o.jsxs)(n.p,{children:["特别地,",(0,o.jsx)(n.code,{children:"arguments"})," 对象包含了模型提取的重要参数,这些参数将被用于完成请求。"]}
1),"\n",(0,o.jsx)(n.p,{children:"然后您可以调用一个外部天气API来获取实际的天气信息。一旦您有了天气信息,就可以将其传回模型,随后根据原始用户问题总结出最终回应。"}),"\n",(0,o.jsxs)(n.p,{children:["这里有一个",(0,o.jsx)(n.a,{href:"https://github.com/dair-ai/Prompt-Engineering-Guide/blob/main/notebooks/pe-function-calling.ipynb",children:"python notebook"}),",它提供了一个简单示例,展示了如何使用OpenAI API进行函数调用。"]}),"\n",(0,o.jsx)(n.h2,{id:"使用开源llm进行函数调用",children:"使用开源LLM进行函数调用"}),"\n",(0,o.jsx)(n.p,{children:"更多使用开源LLM进行函数调用的说明即将推出..."}),"\n",(0,o.jsx)(n.h2,{id:"函数调用用例",children:"函数调用用例"}),"\n",(0,o.jsx)(n.p,{children:"更多函数调用用例即将推出..."})]})}let c={MDXContent:function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},{wrapper:n}=Object.assign({},(0,r.a)(),e.components);return n?(0,o.jsx)(n,{...e,children:(0,o.jsx)(_createMdxContent,{...e})}):_createMdxContent(e)},pageOpts:{filePath:"pages/applications/function_calling.zh.mdx",route:"/applications/function_calling",pageMap:[{kind:"MdxPage",name:"about",route:"/about",locale:"zh"},{kind:"Folder",name:"applications",route:"/applications",children:[{kind:"Meta",locale:"zh",data:{generating:"生成数据",coding:"Generating Code",workplace_casestudy:"毕业生工作分类案例研究",pf:"提示函数"}},{kind:"MdxPage",name:"coding",route:"/applications/coding",locale:"zh"},{kind:"MdxPage",name:"function_calling",route:"/applications/function_calling",locale:"zh"},{kind:"MdxPage",name:"generating",route:"/applications/generating",locale:"zh"},{kind:"MdxPage",name:"pf",route:"/applications/pf",locale:"zh"},{kind:"MdxPage",name:"workplace_casestudy",route:"/applications/workplace_casestudy",locale:"zh"},{kind:"MdxPage",name:"generating_textbooks",route:"/applications/generating_textbooks",locale:"en"},{kind:"MdxPage",name:"synthetic_rag",route:"/applications/synthetic_rag",locale:"en"}]},{kind:"MdxPage",name:"applications",route:"/applications",locale:"zh"},{kind:"MdxPage",name:"course",route:"/course",locale:"zh"},{kind:"MdxPage",name:"datasets",route:"/datasets",locale:"zh"},{kind:"Folder",name:"introduction",route:"/introduction",children:[{kind:"MdxPage",name:"examples",route:"/introduction/examples",locale:"zh"},{kind:"Meta",locale:"en",data:{settings:"大语言模型设置",basics:"提示词基础",elements:"提示词要素",tips:"一般性建议",examples:"示例"}},{kind:"MdxPage",name:"basics",route:"/introduction/basics",locale:"en"},{kind:"MdxPage",name:"elements",route:"/introduction/elements",locale:"en"},{kind:"MdxPage",name:"settings",route:"/introduction/settings",locale:"en"},{kind:"MdxPage",name:"tips",route:"/introduction/tips",locale:"en"}]},{kind:"Folder",name:"models",route:"/models",children:[{kind:"Meta",locale:"zh",data:{flan:"Flan",chatgpt:"ChatGPT",llama:"LLaMA","gpt-4":"GPT-4","mistral-7b":"Mistral 7B",gemini:"Gemini","gemini-advanced":"Gemini Advanced","phi-2":"Phi-2",mixtral:"Mixtral","code-llama":"Code Llama",olmo:"OLMo",sora:"Sora",collection:"Model Collection"}},{kind:"MdxPage",name:"chatgpt",route:"/models/chatgpt",locale:"zh"},{kind:"MdxPage",name:"code-llama",route:"/models/code-llama",locale:"zh"},{kind:"MdxPage",name:"collection",route:"/models/collection",locale:"zh"},{kind:"MdxPage",name:"flan",route:"/models/flan",locale:"zh"},{kind:"MdxPage",name:"gemini-advanced",route:"/models/gemini-advanced",locale:"zh"},{kind:"MdxPage",name:"gemini",route:"/models/gemini",locale:"zh"},{kind:"MdxPage",name:"gpt-4",route:"/models/gpt-4",locale:"zh"},{kind:"MdxPage",name:"llama",route:"/models/llama",locale:"zh"},{kind:"MdxPage",name:"mistral-7b",route:"/models/mistral-7b",locale:"zh"},{kind:"MdxPage",name:"mixtral",route:"/models/mixtral",locale:"zh"},{kind:"MdxPage",name:"olmo",route:"/models/olmo",locale:"zh"},{kind:"MdxPage",name:"phi-2",route:"/models/phi-2",locale:"zh"},{kind:"MdxPage",name:"sora",route:"/models/sora",locale:"zh"}]},{kind:"MdxPage",name:"models",route:"/models",locale:"zh"},{kind:"MdxPage",name:"notebooks",route:"/notebooks",locale:"zh"},{kind:"MdxPage",name:"papers",route:"/papers",locale:"zh"},{kind:"Folder",name:"prompts",route:"/prompts",children:[{kind:"Meta",locale:"zh",data:{classification:"Classification",coding:"Coding",creativity:"Creativity",evaluation:"Evaluation","information-extraction":"Information Extraction","image-generation":"Image Generation",mathematics:"Mathematics","question-answering":"Question Answering",reasoning:"Reasoning","text-summarization":"Text Summarization",truthfulness:"Truthfulness","adversarial-prompting":"Adversarial Prompting"}},{kind:"Folder",name:"adversarial-prompting",route:"/prompts/adversarial-prompting",children:[{kind:"Meta",locale:"en",data:{"prompt-injection":"Prompt Injection","prompt-leaking":"Prompt Leaking","jailbreaking-llms":"Jailbreaking"}},{kind:"MdxPage",name:"jailbreaking-llms",route:"/prompts/adversarial-prompting/jailbreaking-llms",locale:"en"},{kind:"MdxPage",name:"prompt-injection",route:"/prompts/adversarial-prompting/prompt-injection",locale:"en"},{kind:"MdxPage",name:"prompt-leaking",route:"/prompts/adversarial-prompting/prompt-leaking",locale:"en"}]},{kind:"MdxPage",name:"adversarial-prompting",route:"/prompts/adversarial-prompting",locale:"zh"},{kind:"Folder",name:"classification",route:"/prompts/classification",children:[{kind:"Meta",locale:"en",data:{sentiment:"Sentiment Classification","sentiment-fewsh
1ot":"Few-Shot Sentiment Classification"}},{kind:"MdxPage",name:"sentiment-fewshot",route:"/prompts/classification/sentiment-fewshot",locale:"en"},{kind:"MdxPage",name:"sentiment",route:"/prompts/classification/sentiment",locale:"en"}]},{kind:"MdxPage",name:"classification",route:"/prompts/classification",locale:"zh"},{kind:"Folder",name:"coding",route:"/prompts/coding",children:[{kind:"Meta",locale:"en",data:{"code-snippet":"Generate Code Snippet","mysql-query":"Generate MySQL Query",tikz:"Draw TiKZ Diagram"}},{kind:"MdxPage",name:"code-snippet",route:"/prompts/coding/code-snippet",locale:"en"},{kind:"MdxPage",name:"mysql-query",route:"/prompts/coding/mysql-query",locale:"en"},{kind:"MdxPage",name:"tikz",route:"/prompts/coding/tikz",locale:"en"}]},{kind:"MdxPage",name:"coding",route:"/prompts/coding",locale:"zh"},{kind:"Folder",name:"creativity",route:"/prompts/creativity",children:[{kind:"Meta",locale:"en",data:{rhymes:"Rhymes","infinite-primes":"Infinite Primes",interdisciplinary:"Interdisciplinary","new-words":"Inventing New Words"}},{kind:"MdxPage",name:"infinite-primes",route:"/prompts/creativity/infinite-primes",locale:"en"},{kind:"MdxPage",name:"interdisciplinary",route:"/prompts/creativity/interdisciplinary",locale:"en"},{kind:"MdxPage",name:"new-words",route:"/prompts/creativity/new-words",locale:"en"},{kind:"MdxPage",name:"rhymes",route:"/prompts/creativity/rhymes",locale:"en"}]},{kind:"MdxPage",name:"creativity",route:"/prompts/creativity",locale:"zh"},{kind:"Folder",name:"evaluation",route:"/prompts/evaluation",children:[{kind:"Meta",locale:"en",data:{"plato-dialogue":"Evaluate Plato's Dialogue"}},{kind:"MdxPage",name:"plato-dialogue",route:"/prompts/evaluation/plato-dialogue",locale:"en"}]},{kind:"MdxPage",name:"evaluation",route:"/prompts/evaluation",locale:"zh"},{kind:"Folder",name:"image-generation",route:"/prompts/image-generation",children:[{kind:"Meta",locale:"en",data:{"alphabet-person":"Draw a Person Using Alphabet"}},{kind:"MdxPage",name:"alphabet-person",route:"/prompts/image-generation/alphabet-person",locale:"en"}]},{kind:"MdxPage",name:"image-generation",route:"/prompts/image-generation",locale:"zh"},{kind:"Folder",name:"information-extraction",route:"/prompts/information-extraction",children:[{kind:"Meta",locale:"en",data:{"extract-models":"Extract Model Names"}},{kind:"MdxPage",name:"extract-models",route:"/prompts/information-extraction/extract-models",locale:"en"}]},{kind:"MdxPage",name:"information-extraction",route:"/prompts/information-extraction",locale:"zh"},{kind:"Folder",name:"mathematics",route:"/prompts/mathematics",children:[{kind:"Meta",locale:"en",data:{"composite-functions":"Evaluating Composite Functions","odd-numbers":"Adding Odd Numbers"}},{kind:"MdxPage",name:"composite-functions",route:"/prompts/mathematics/composite-functions",locale:"en"},{kind:"MdxPage",name:"odd-numbers",route:"/prompts/mathematics/odd-numbers",locale:"en"}]},{kind:"MdxPage",name:"mathematics",route:"/prompts/mathematics",locale:"zh"},{kind:"Folder",name:"question-answering",route:"/prompts/question-answering",children:[{kind:"Meta",locale:"en",data:{"closed-domain":"Closed Domain Question Answering","open-domain":"Open Domain Question Answering","science-qa":"Science Question Answering"}},{kind:"MdxPage",name:"closed-domain",route:"/prompts/question-answering/closed-domain",locale:"en"},{kind:"MdxPage",name:"open-domain",route:"/prompts/question-answering/open-domain",locale:"en"},{kind:"MdxPage",name:"science-qa",route:"/prompts/question-answering/science-qa",locale:"en"}]},{kind:"MdxPage",name:"question-answering",route:"/prompts/question-answering",locale:"zh"},{kind:"Folder",name:"reasoning",route:"/prompts/reasoning",children:[{kind:"Meta",locale:"en",data:{"indirect-reasoning":"Indirect Reasoning","physical-reasoning":"Physical Reasoning"}},{kind:"MdxPage",name:"indirect-reasoning",route:"/prompts/reasoning/indirect-reasoning",locale:"en"},{kind:"MdxPage",name:"physical-reasoning",route:"/prompts/reasoning/physical-reasoning",locale:"en"}]},{kind:"MdxPage",name:"reasoning",route:"/prompts/reasoning",locale:"zh"},{kind:"Folder",name:"text-summarization",route:"/prompts/text-summarization",children:[{kind:"Meta",locale:"en",data:{"explain-concept":"Explain A Concept"}},{kind:"MdxPage",name:"explain-concept",route:"/prompts/text-summarization/explain-concept",locale:"en"}]},{kind:"MdxPage",name:"text-summarization",route:"/prompts/text-summarization",locale:"zh"},{kind:"Folder",name:"truthfulness",route:"/prompts/truthfulness",children:[{kind:"Meta",locale:"en",data:{"identify-hallucination":"Hallucination Identification"}},{kind:"MdxPage",name:"identify-hallucination",route:"/prompts/truthfulness/identify-hallucination",locale:"en"}]},{kind:"MdxPage",name:"truthfulness",route:"/prompts/truthfulness",locale:"zh"}]},{kind:"MdxPage",name:"prompts",route:"/prompts",locale:"zh"},{kind:"MdxPage",name:"readings",route:"/readings",locale:"zh"},{kind:"Folder",name:"research",route:"/research",children:[{kind:"Meta",locale:"zh",data:{"llm-agents":"LLM Agents",rag:"RAG for LLMs","trustworthiness-in-llms":"Trustworthiness in LLMs"}},{kind:"MdxPage",name:"llm-agents",route:"/research/llm-agents",locale:"zh"},{kind:"MdxPage",name:"rag",route:"/research/rag",locale:"zh"},{kind:"MdxPage",name:"trustworthiness-in-llms",route:"/research/trustworthiness-in-llms",locale:"zh"}]},{kind:"MdxPage",name:"research",route:"/research",locale:"zh"},{kind:"Folder",name:"risks",route:"/risks",children:[{kind:"Meta",locale:"zh",data:{adversarial:"对抗性提示",factuality:"真实性",biases:"偏见"}},{kind:"MdxPage",name:"adversarial",route:"/risks/adversarial",locale:"zh"},{kind:"MdxPage",name:"biases",route:"/risks/biases",locale:"zh"},{kind:"MdxPage",name:"factuality",route:"/risks/factuality",locale:"zh"}]},{kind:"MdxPage",name:"risks",route:"/risks",locale:"zh"},{kind:"MdxPage",name:"services",route:"/services",locale:"zh"},{kind:"Folder",name:"techniques",route:"/techniques",children:[{kind:"Meta",locale:"zh",data:{zeroshot:"零样本提示",fewshot:"少样本提示",cot:"链式思考(CoT)提示",consistency:"自我一致性",knowledge:"生成知识提示",prompt_chaining:"Prompt Chaining",tot:"思维树(ToT)",rag:"检索增强生成 (RAG)",art:"自动推理并使用工具(ART)",ape:"自动提示工程师",activeprompt:"Active-Prompt",dsp:"方向性刺激提示",pal:"Program-Aided Language Models",react:"ReAct框架",multimodalcot:"多模态思维链提示方法",graph:"基于图的提示"}},{kind:"MdxPage",name:"activeprompt",route:"/techniques/activeprompt",locale:"zh"},{kind:"MdxPage",name:"ape",route:"/techniques/ape",locale:"zh"},{kind:"MdxPage",name:"art",route:"/techniques/art",locale:"zh"},{kind:"MdxPage",name:"consistency",route:"/techniques/consistency",locale:"zh"},{kind:"MdxPage",name:"cot",route:"/techniques/cot",locale:"zh"},{kind:"MdxPage",name:"dsp",route:"/techniques/dsp",locale:"zh"},{kind:"MdxPage",name:"fewshot",route:"/techniques/fewshot",locale:"zh"},{kind:"MdxPage",name:"graph",route:"/techniques/graph",locale:"zh"},{kind:"MdxPage",name:"knowledge",route:"/techniques/knowledge",locale:"zh"},{kind:"MdxPage",name:"multimodalcot",route:"/techniques/multimodalcot",locale:"zh"},{kind:"MdxPage",name:"pal",route:"/techniques/pal",locale:"zh"},{kind:"MdxPage",name:"prompt_chaining",route:"/techniques/prompt_chaining",locale:"zh"},{kind:"MdxPage",name:"rag",route:"/techniques/rag",locale:"zh"},{kind:"MdxPage",name:"react",route:"/techniques/react",locale:"zh"},{kind:"MdxPage",name:"tot",route:"/techniques/tot",locale:"zh"},{kind:"MdxPage",name:"zeroshot",route:"/techniques/zeroshot",locale:"zh"}]},{kind:"MdxPage",name:"techniques",route:"/techniques",locale:"zh"},{kind:"MdxPage",name:"tools",route:"/tools",locale:"zh"},{kind:"Meta",locale:"en",data:{index:"提示词工程手册",introduction:"简介",techniques:"技术",applications:"应用",prompts:"提示词",models:"模型",risks:"风险",research:"研究",papers:"论文",tools:"工具",notebooks:"笔记",datasets:"数据",readings:"阅读",course:{title:"课程",type:"page"},services:{title:"服务",type:"page"},about:{title:"关于",type:"page"}}},{kind:"MdxPage",name:"index",route:"/",locale:"en"},{kind:"MdxPage",name:"introduction",route:"/introduction",locale:"en"}],flexsearch:{codeblocks:!0},title:"在LLM中调用函数",headings:l},pageNextRoute:"/applications/function_calling.zh",nextraLayout:t.ZP,themeConfig:a.Z};n.default=(0,i.j)(c)},52243:function(e,n,s){"use strict";s.d(n,{Z:function(){return l}});var o=s(11527),i=s(50959),t=s(51592),a=s(86259);function WordWrapIcon(e){return(0,o.jsx)("svg",{viewBox:"0 0 24 24",width:"24",height:"24",...e,children:(0,o.jsx)("path",{fill:"currentColor",d:"M4 19h6v-2H4v2zM20 5H4v2h16V5zm-3 6H4v2h13.25c1.1 0 2 .9 2 2s-.9 2-2 2H15v-2l-3 3l3 3v-2h2c2.21 0 4-1.79 4-4s-1.79-4-4-4z"})})}
1let Button=e=>{let{children:n,className:s,...i}=e;return(0,o.jsx)("button",{className:(0,a.Z)("nextra-button nx-transition-all active:nx-opacity-50","nx-bg-primary-700/5 nx-border nx-border-black/5 nx-text-gray-600 hover:nx-text-gray-900 nx-rounded-md nx-p-1.5","dark:nx-bg-primary-300/10 dark:nx-border-white/10 dark:nx-text-gray-400 dark:hover:nx-text-gray-50",s),...i,children:n})};function CheckIcon(e){return(0,o.jsx)("svg",{viewBox:"0 0 20 20",width:"1em",height:"1em",fill:"currentColor",...e,children:(0,o.jsx)("path",{fillRule:"evenodd",d:"M16.707 5.293a1 1 0 010 1.414l-8 8a1 1 0 01-1.414 0l-4-4a1 1 0 011.414-1.414L8 12.586l7.293-7.293a1 1 0 011.414 0z",clipRule:"evenodd"})})}function CopyIcon(e){return(0,o.jsxs)("svg",{width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg",stroke:"currentColor",...e,children:[(0,o.jsx)("rect",{x:"9",y:"9",width:"13",height:"13",rx:"2",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"}),(0,o.jsx)("path",{d:"M5 15H4C2.89543 15 2 14.1046 2 13V4C2 2.89543 2.89543 2 4 2H13C14.1046 2 15 2.89543 15 4V5",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"})]})}let CopyToClipboard=e=>{let{getValue:n,...s}=e,[t,a]=(0,i.useState)(!1);(0,i.useEffect)(()=>{if(!t)return;let e=setTimeout(()=>{a(!1)},2e3);return()=>{clearTimeout(e)}},[t]);let r=(0,i.useCallback)(async()=>{var e;a(!0),(null===(e=navigator)||void 0===e?void 0:e.clipboard)||console.error("Access to clipboard rejected!");try{await navigator.clipboard.writeText(n())}catch(e){console.error("Failed to copy!")}},[n]),l=t?CheckIcon:CopyIcon;return(0,o.jsx)(Button,{onClick:r,title:"Copy code",tabIndex:0,...s,children:(0,o.jsx)(l,{className:"nextra-copy-icon nx-pointer-events-none nx-h-4 nx-w-4"})})},r={logo:(0,o.jsx)(o.Fragment,{children:(0,o.jsx)("span",{style:{marginLeft:".4em",fontWeight:800},children:"提示词工程手册"})}),head:function(){let{title:e}=(0,t.ZR)();return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsxs)("title",{children:[e?e+" | 提示词工程手册":"提示词工程手册"," "]}),(0,o.jsx)("meta",{name:"viewport",content:"width=device-width, initial-scale=1.0"}),(0,o.jsx)("meta",{property:"og:title",content:"提示词工程手册"}),(0,o.jsx)("meta",{property:"og:description",content:"提示词工程手册"}),(0,o.jsx)("meta",{name:"og:title",content:e?e+" | 提示词工程手册":"提示词工程手册"}),(0,o.jsx)("link",{rel:"icon",href:"/144-favicon.svg",type:"image/svg+xml"}),(0,o.jsx)("link",{rel:"icon",href:"/144-favicon-dark.svg",type:"image/svg+xml",media:"(prefers-color-scheme: dark)"})]})},project:{link:"https://www.google.com"},chat:{link:"https://www.google.com"},docsRepositoryBase:"https://www.google.com",footer:{text:" "},search:{placeholder:"搜索..."},components:{pre:e=>{let{children:n,className:s,hasCopyCode:t=!0,filename:r,...l}=e,c=(0,i.useRef)(null),d=(0,i.useCallback)(()=>{let e=document.documentElement.dataset,n="nextraWordWrap"in e;n?delete e.nextraWordWrap:e.nextraWordWrap=""},[]);return(0,o.jsxs)("div",{className:"nextra-code-block nx-relative nx-mt-6 first:nx-mt-0",children:[r&&(0,o.jsx)("div",{className:"nx-absolute nx-top-0 nx-z-[1] nx-w-full nx-truncate nx-rounded-t-xl nx-bg-primary-700/5 nx-py-2 nx-px-4 nx-text-xs nx-text-gray-700 dark:nx-bg-primary-300/10 dark:nx-text-gray-200",children:r}),(0,o.jsx)("pre",{className:(0,a.Z)("nx-bg-primary-700/5 nx-mb-4 nx-overflow-x-auto nx-rounded-xl nx-subpixel-antialiased dark:nx-bg-primary-300/10 nx-text-[.9em]","contrast-more:nx-border contrast-more:nx-border-primary-900/20 contrast-more:nx-contrast-150 contrast-more:dark:nx-border-primary-100/40",r?"nx-pt-12 nx-pb-4":"nx-py-4",s),ref:c,...l,children:i.isValidElement(n)&&"code"===n.type?n.props.children:n}),(0,o.jsxs)("div",{className:(0,a.Z)("nx-opacity-0 nx-transition [div:hover>&]:nx-opacity-100 focus-within:nx-opacity-100","nx-flex nx-gap-1 nx-absolute nx-m-[11px] nx-right-0",r?"nx-top-8":"nx-top-0"),children:[(0,o.jsx)(Button,{onClick:d,className:"md:nx-hidden",title:"Toggle word wrap elvis",children:(0,o.jsx)(WordWrapIcon,{className:"nx-pointer-events-none nx-h-4 nx-w-4"})}),t&&(0,o.jsx)(CopyToClipboard,{getValue:()=>{var e,n;return(null===(n=c.current)||void 0===n?void 0:null===(e=n.querySelector("code"))||void 0===e?void 0:e.textContent)||""}})]})]})}}};var l=r}},function(e){e.O(0,[47262,49774,92888,40179],function(){return e(e.s=84047)}),_N_E=e.O()}]);

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.