推荐:使用NSDT 编辑器快速搭建3D应用场景
使用函数调用的应用程序在本节中,我们将构建一个稳定的文本摘要器,该摘要器将以某种方式汇总学校和学生信息。
首先,我们将创建两个 Python 函数,它们从函数调用中获取参数并返回一个汇总的字符串。extract_student_infoextract_school_info,
def extract_student_info(姓名、专业、学校、年级、俱乐部):
"""Get the student information"""return f"{name} is majoring in {major} at {school}. He has {grades} GPA and he is an active member of the university's {club}."
def extract_school_info(姓名、排名、国家no_of_students):
"""Get the school information"""return f"{name} is located in the {country}. The university is ranked #{ranking} in the world with {no_of_students} students."创建 Python 列表,该列表由学生一描述、随机提示和学校一描述组成。添加随机提示以验证自动函数调用机制。我们将使用"描述"列表中的每个文本生成响应。如果使用函数调用,我们将获取函数的名称,并基于它,使用响应将相关参数应用于函数。否则,返回正常响应。打印所有三个样本的输出。
描述 = [student_1_description, “谁是亚伯拉罕·林肯?”, school_1_description]对于 i,枚举(描述)中的样本:响应 = openai.ChatCompletion.create(model = 'gpt-3.5-turbo', messages = [{'role': 'user', 'content': sample}], function = custom_functions,function_call = 'auto')
response_message = response["choices"][0]["message"]if response_message.get('function_call'): # Which function call was invoked function_called = response_message['function_call']['name'] # Extracting the arguments function_args = json.loads(response_message['function_call']['arguments']) # Function names available_functions = { "extract_school_info": extract_school_info, "extract_student_info": extract_student_info } fuction_to_call = available_functions[function_called] response_message = fuction_to_call(*list(function_args .values())) else: response_message = response_message['content']print(f"nSample#{i 1}n")print(response_message)示例 #1:GPT 模型选择了“extract_student_info”,我们得到了有关该学生的简短摘要。示例#2:GPT 模型没有选择任何函数并将提示视为常规问题,结果,我们得到了亚伯拉罕·林肯的传记。示例#3:GPT 模型选择了“extract_school_info”,我们得到了有关斯坦福大学的简短摘要。
示例#1
David Nguyen在斯坦福大学主修计算机科学。他的GPA为3.8,是该大学机器人俱乐部的活跃成员。
示例#2
亚伯拉罕·林肯是美国第16任总统。他从 1861 年 1865 月开始担任总统,直到 年 月被暗杀。林肯领导美国度过了最大的内部危机——美国内战,他的解放宣言宣布邦联领土上的奴隶是自由的。他以他的领导才能、他对维护联邦的承诺以及他废除奴隶制的努力而闻名。林肯的总统任期被广泛认为是美国历史上最具变革性的总统任期之一。
示例#3
斯坦福大学位于美国。该大学在世界排名#5,拥有17000名学生。
结论OpenAI 的函数调用为构建 AI 应用程序的开发人员开辟了令人兴奋的新可能性。通过允许 GPT-3.5 和 GPT-4 等模型通过自定义函数生成结构化 JSON 数据,它解决了围绕不一致和不可预测的文本输出的主要痛点。
函数调用可用于访问外部 Web API、执行自定义 SQL 查询以及开发稳定的 AI 应用程序。它可以从文本中提取相关信息,并为 API 和 SQL 命令提供一致的响应。
在本教程中,我们了解了 OpenAI 的新功能,函数调用。我们还学习了如何使用它来生成一致的输出、创建多个函数以及构建可靠的文本摘要器。
如果您想了解有关 OpenAI API 的更多信息,请考虑参加使用 OpenAI API 课程并使用 Python 中的 OpenAI API 备忘单来创建您的第一个 AI 驱动的项目。
原文链接:OpenAI 函数调用教程
相关文章
猜你喜欢