获取当前时间 - function calling
当我们询问AI现在几点时,他会回答无法获取当前时间:

由于没有联网它无法获取当前正确的时间,现在我们可以通过prompt + function calling 让它实现这个功能。
我们先定一个 getCurrentTime的函数
然后在ChatCompletion传入functions参数,写上getCurrentTime函数名以及描述,这个目的是让GPT知道我们有哪些函数可以使用。然后做第一次请求
当我们在messageList中出现询问当前时间的时候,由于在调用中含有functions,根据描述GPT判断可以使用function。GPT就会以 "function_call" 来终止并返回function_call字段,让我们调用 getCurrentTime方法。
在通过GPT指定要调用的方法来处理数据后,我们需要将结果以对应的role类型再次存入messageList进行二次调用
最后,我们就能得到一个通过 function calling来实现的获取本地时间的结果了
总结一下函数调用的基本步骤:
通过用户查询和在函数参数中定义的一组函数来调用模型。
模型可以选择调用函数;如果调用,则内容将是一个符合你预定义模式的字符串化 JSON 对象。(注意:模型可能会生成无效的 JSON 或产生虚假参数)。
在你的代码中将字符串解析为 JSON,并通过入参来调用调用你写的函数。
将函数返回的结果作为新消息附加到模型中,然后让模型将结果汇总回用户。
最后更新于
这有帮助吗?