# OpenAI教程
作者@石先生 | 未经授权,请勿转载
更新日期:2024/10/14
# 目录
# 1、OpenAI和邮箱密码
GPT密码分为两种格式
1、AAAA@outlook.com----ABCEDFGH
当密码无重复时,GPT密码 = 邮箱密码
2、AAAA@outlook.com----ABCABC
密码为两个重复的字符串组合到一起时,GPT密码的一半 = 邮箱密码
# 2、登录邮箱
登录微软邮箱
1、关闭vpn!!
2、打开:https://login.live.com,或百度谷歌搜索微软邮箱官网
3、登录邮箱
4、提示邮箱锁定,有些没有锁定,一直下一步或者点击跳过即可
5、点击下一步,输入自己手机
6、输入验证码
7、如果你的手机号提示不支持,那就是没关梯孑,12h后再试
8、一直下一步,后面会让你填写密保邮箱,可以先点击跳过
# 3、修改OpenAI密码
改密码
1、登录OpenAI在输入密码的时候,会出现忘记密码
2、点击后登录邮箱收邮件即可
# 4、奇怪的报错
Oops报错
1、更换浏览器或清理历史记录
2、更换节点
3、无论什么错误,基本上都是这种解决办法
# 5、ChatGPT登录
登录地址
1、ChatGPT登录地址 : chatgpt.com
2、API 登录地址 : OpenAI.com/api
# 6、我付款了没有收到货
取货
1、网站中上方可以查单
2、在右侧订单详情中
# 7、转发API经常报错
代码架构
1、http或sdk请求前加try
2、try外面套循环
3、try里面判断返回值
4、报错信息过不去返回值检测,也不会扣费,会自动重新请求,sdk同理
#python http调用,编写版本:Python=3.10.8
#查余额:https://info.yesapikey.com,不支持低版本苹果系统中的Safari
import time
import requests
url = 'https://api.yesapikey.com/v1/chat/completions'
headers = {
'Content-Type': 'application/json',
'Authorization': 'Bearer sk-xxxxx'#输入网站发给你的转发key
}
data = {
"model": "gpt-4o",
"messages": [{"role": "user","content": "Hello, world!"}],
#"temperature": 1,
#"max_tokens": 100,
#"top_p": 1
}
while True:
try:
response = requests.post(url, json=data, headers=headers)
if response.status_code == 200:
data = response.json()
if 'choices' in data and data['choices']:
content = data['choices'][0].get('message', {}).get('content')
print(response.json())#完整返回值
print(content)#补全内容
break
except:
#如果没有内容,打印错误信息或提示
print(response.text)
time.sleep(2)
#python sdk调用
#编写版本:openai=1.46.1,Python=3.10.8
#查余额:https://info.yesapikey.com,不支持低版本苹果系统中的Safari
import os
import time
from openai import OpenAI
os.environ["OPENAI_API_KEY"] = "sk-xxxx"
os.environ["OPENAI_BASE_URL"] = "https://api.yesapikey.com/v1"
client = OpenAI()
while True:
try:
completion = client.chat.completions.create(
model="gpt-4o-2024-05-13",
#max_tokens=10000,
#temperature=1,
#top_p=1,
messages=[
{"role": "system", "content": "You are a helpful assistant."},
{"role": "user", "content": "Hello!"}
]
)
#判断有没有补全内容
if getattr(completion.choices[0].message, 'content', None):
content = completion.choices[0].message.content
print(completion)#完整返回值
print(content)#提取补全内容
break
else:
#如果没有内容,打印错误信息或提示
#print(completion)
print('error_wait_2s')
except:
pass
time.sleep(2)