基于python实现openai可结合上下文的问答
本文使用 OpenAI GPT(Generative Pre-Training)聊天机器人模型,实现可自动回复提问的聊天功能。
代码解释
首先,我们导入相关的库,例如 `openai`,`Path`,`time` 等。
接下来,为了使模型可以正常工作,我们需要设置 `openai` 的 `api_key` ,以及一些初始变量,如 `text`, `turns`, `last_result`,用来记录聊天记录。
之后,我们定义了一个函数 `chatgpt`,目的是为了接收用户输入的问题,并返回 GPT 模型生成的回答。函数中,除了指定使用 `davinci-003` 模型外,我们还设置了 `temperature`、`max_tokens`、`frequency_penalty`、`presence_penalty` 等参数,用来控制结果的随机性和字数,以达到最佳的回答效果。
最后,在 `if __name__ == '__main__':` 下,我们初始化两个列表,用来存放用户输入的问题和 GPT 模型自动生成的回答,然后在 `while` 循环中,接收用户输入的问题,并调用 `chatgpt` 函数,最后将问题和回答分别存储到对应的列表中,最终将内容保存到文件中。
代码使用说明
* 使用该代码,你需要先申请 OpenAI 的api_key,并将其输入到代码中,然后运行该程序,
* 输入你的问题,即可获得 GPT 模型的回答;
* 若输入exit则直接退出当前对话;
* 程序结束时,会将问答的内容记录到文件中,以便下次查看。
对话模式代码
单问答模式代码