import requests
import json


def request_api_chatgpt(api_key, prompt):
    OPENAI_API_KEY = api_key
    url = "https://api.openai.com/v1/chat/completions"
    headers = {
        "Content-Type": "application/json",
        "Authorization": f"Bearer {OPENAI_API_KEY}"
    }
    data = {
        "model": "gpt-3.5-turbo",
        "messages": [
            {"role": "user", "content": prompt},
        ],
        "temperature": 0.5
    }
    response = requests.post(url,
                             headers=headers,
                             data=json.dumps(data),
                             timeout=240)

    res = response.json()
    text = res["choices"][0]["message"]["content"]
    print(text)

api = "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"
# prompt = "为论文题目“基于单片机的多功能充电控制器设计”生成目录,要求只有一级标题和二级标题,一级标题使用中文数字 例如一、xxx;二级标题使用阿拉伯数字 例如1.1 xxx;一级标题不少于7个;每个一级标题至少包含3个二级标题"

# prompt = "为论文题目“基于单片机的多功能充电控制器设计”生成目录,以“研制一款基于单片机的多功能充电控制器,包括硬件和软件设计。最终成
# 果是研制一台可对多种类型蓄电池充电的控制器实物,并以一个特定蓄电池充电为例,验证所设计控制器的可用性”为论文的生成方向,要求只有一级
# 标题和二级标题,一级标题使用中文数字 例如一、xxx;二级标题使用阿拉伯数字 例如1.1 xxx;一级标题不少于7个;每个一级标题至少包含3个二级标题"

# 基于单片机的多功能充电控制器设计”生成目录,以“研制一款基于单片机的多功能充电控制器,包括硬件和软件设计。最终成果是研制一台可对多种类型蓄电池充电的控制器实物,并以一个特定蓄电池充电为例,验证所设计控制器的可用性

prompt = "请以《基于单片机的多功能充电控制器设计》为题目,以“研制一款基于单片机的多功能充电控制器,包括硬件和软件设计。最终成果是研制一台可对多种类型蓄电池充电的控制器实物,并以一个特定蓄电池充电为例,验证所设计控制器的可用性”为论文的生成方向,生成论文摘要,要求生成的字数在600字左右"
request_api_chatgpt(api, prompt)