Python调用chatGPT接口 连续对话

发布时间 2023-03-23 16:30:21作者: He_LiangLiang

 

首先你需要openAI的账号,在官网申请一个key
网址是:Account API Keys – OpenAI API

这个key只能调用GPT3,不是chatGPT

使用方法是,在代码中插入你申请的KEY,
然后运行以下Python代码,在运行的窗口里,发送你想对AI说的话
注意啊,是在运行的窗口里敲入你想对AI说的话,不是代码中输入
然后每一次的问答都是独立的,无法连续对话

 

调用GPT3.5

你需要给Python安装openai库,如果你已经安装,请升级到0.27
pip install openai==v0.27.0

import openai
import datetime
import pyperclip
import pandas as pd
openai.api_key = "这里填写API KEY"
#chatGPT3.5支持连续对话
print('输入1复制上次回答内容')
print('输入0导出本次所有对话内容')
#创建一个DataFrame用于存储每次翻译结果
df = pd.DataFrame(columns=['发送的内容', '收到的回复'])
conversation=[{"role": "system", "content": "You are a helpful assistant."}]
while True:
    prompt = (input("请输入您的内容:"))
    if prompt=='1':
        pyperclip.copy(result.replace('\n', ''))  # 复制到剪切板并删除换行符
        print("已复制到剪切板!")
        continue
    #如果输入0则将过去的所的内容导出
    if prompt =='0':
        # 获取当前日期和时间
        now = datetime.datetime.now()
        date_time = now.strftime("%Y-%m-%d_%H-%M-%S")
        date_time=date_time.replace(':', '-')
        # 定义文件名
        filename = "对话导出" + date_time + ".xlsx"
        # 将DataFrame导出为Excel文件
        df.to_excel(filename, sheet_name='Sheet1', index=False)
        print("Excel文件已保存为: ", filename)
        continue
    conversation.append({"role": "user","content": prompt})
    response = openai.ChatCompletion.create(
        model="gpt-3.5-turbo",
        messages = conversation,
        temperature=1,
        max_tokens=1024,
        top_p=0.9
    )
    conversation.append({"role": "assistant", "content": response['choices'][0]['message']['content']})
    print("\n" + response['choices'][0]['message']['content'] + "\n")
    result=response['choices'][0]['message']['content']
    # 创建一个列表,存储本次原文与译句
    qa = []
    q = prompt # 发送的内容
    a = response['choices'][0]['message']['content']  # 收到的回答
    qa.append(q)
    qa.append(a)
    # 向DataFrame中添加本次QA
    df.loc[len(df)] = qa

 

 

文章参考地址:

https://lingjie.li/archives/974