调用OpenAI的openai.ChatCompletion.create方法中我们知道:OpenAI为服务端(即OpenAI的API端点),应用程序为客户端。应用程序通过openai.ChatCompletion.create
方法调用OpenAI的API。这个方法会发送一个HTTP请求到OpenAI的服务器,服务器会处理这个请求,生成回复,并将回复返回给应用程序。因此,生成回复是在OpenAI的服务端进行的,而不是在客户端进行的。
那么,如何调用工具函数呢?
1、将提示词和工具函数(含工具描述)交给openai.ChatCompletion.create,由上述调用生成回复,当OpenAI的模型(OpenAI的服务端)生成回复时,它会根据工具描述来决定是否调用工具。并将这个决定以及格式(函数名及参数值)返回客户端。
2、若需要调用工具,则在客户端进行的调用,并将结果返回给OpenAI的模型(OpenAI的服务端)。即:这些工具的定义和调用是在应用程序的本地环境中进行的,而不是在OpenAI的服务端进行的。
3、OpenAI的模型(OpenAI的服务端)结合工具调用的结果,生成新的回复,返回给客户端。
4、上述过程可能需要多次,因为,可能有多个工具需要调用。另外,通过异步方式可以