调用Chatgpt API,并实现联系上下文
相信很多人在调用的时候出现了一些问题,直接进行调用好像不行了。得需要点懂得都懂的东西。但使用懂得都懂的东西调用openai这个库的时候会报一个这样的错误:SSLEOFError
因此直接使用requests
来访问端口,并向其添加代理的方式实现访问。效果如下:
实现代码如下:
import time
import requestsOPENAI_API_KEY = ""
proxy = "127.0.0.1:7890" # 你需要添加你的代理,懂得都懂了,不方便多说了ENDPOINT = "https://api.openai.com/v1/chat/completions"
proxies = {'http': f'http://{proxy}','https': f'http://{proxy}',
}
headers = {"Content-Type": "application/json","Authorization": f"Bearer {OPENAI_API_KEY}",
}def chat(prompt):data = {"messages": prompt,"model":"gpt-3.5-turbo","max_tokens": 1000,"temperature": 0.5,"top_p": 1,"n": 1}response = requests.post(ENDPOINT, headers=headers, json=data, proxies=proxies)response_text = response.json()['choices'][0]['message']['content']return response_textmessages=[{"role": "system", "content": "你是一个有用的助手"}]while 1:a = input("请输入你的问题:")messages.append({"role": "user", "content":a})b = chat(messages)b = b.replace("\n","")print(b)messages.append({"role": "assistant", "content":b})time.sleep(2)
通过不断保存上一轮的对话信息来实现联系上下文。
需要注意的点:
- 你需要有api_key
- 你需要有懂的都懂,只要你有懂得都懂,可以通过以下作为代理: