本文指导如何通过调用OpenAI的API完成一个简单的聊天机器人。
我们可以通过任何语言的 HTTP 请求、官方 Python 、 Node.js 库或社区维护的库与 ChatGPT的API 进行交互,官方API文档:
API Reference - OpenAI API (可自行去查看)
所以python是有现成包用的,会比调用原始的HTTP请求容易一些,python包:
openai/openai-python: The official Python library for the OpenAI API
本文使用Python编程语言完成一个简单的AI聊天机器人。
如果要调用ChatGPT的API其实非常简单,只需要几行代码,像下面这样:
运行后可以看到如下打印:
一次调用就完成了。
上面的messages参数中有一个role关键字,它有3中类型,对应3中消息,这里介绍一下:
系统消息
在ChatGPT的客户端聊天窗口是看不到系统消息的,这个是API中才有的,主要是给开发人员使用的。
系统消息主要用来设置聊天机器人的角色和行为,相当于给它一些默认的指令。
用户消息:
就是你在聊天窗口发的内容,称为「用户消息」,
助手消息:
就是ChatGPT发给你的内容,称为「助手消息」。
来看看一个简单的完成的AI聊天机器人的代码:
代码解释:
-
定义了一个函数,该函数向 OpenAI API 发送一系列消息并获取响应。 messages 参数是消息对象的列表,每个对象都有一个“角色”(可以是“系统”、“用户”或“助理”)和“内容”(消息的内容) 。 “温度”参数控制模型输出的随机性。
-
context 定义了对话的初始上下文,告诉模型它正在扮演友好助手的角色。
-
此函数向聊天机器人发送消息并获取其响应。它将用户的消息和机器人的响应添加到对话上下文中,因此每次对话后都会更新上下文。
-
主循环中,它反复要求用户输入,将该输入发送到聊天机器人,并打印聊天机器人的响应。对话无限期地继续,直到程序被手动停止。
运行的结果是这样的:
可以看到它知道上下文,可以一直对话下去。