0、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
1、原代码
import os # 导入 os 模块,用于操作系统相关功能
import openai # 导入 openai 模块,用于与 OpenAI API 进行交互
import tiktoken # 导入 tiktoken 模块,用于对文本进行标记化
from dotenv import load_dotenv, find_dotenv # 导入 dotenv 模块,用于加载环境变量
_ = load_dotenv(find_dotenv()) # 读取本地的 .env 文件
# openai.api_key = os.environ['OPENAI_API_KEY'] # 设置 OpenAI API 密钥
#openai.api_key = os.environ['OPENAI_API_KEY']
openai.api_key = 'sk-69cSMgOFUsuZkjA0Ob3jV1IC'
def get_completion(prompt, model="gpt-3.5-turbo"):
messages = [{"role": "user", "content": prompt}] # 创建一个包含用户提示的消息列表
response = openai.ChatCompletion.create(
model=model, # 指定使用的模型
messages=messages, # 设置聊天的消息列表
temperature=0, # 温度参数,控制输出结果的随机性,0表示更加确定性的结果
)
return response.choices[0].message["content"] # 返回API响应中的第一条回应消息的内容作为结果
# response = get_completion("What is the capital of France?") # 获取模型的回应,询问 "法国的首都是哪里?"
response = get_completion("美国的首都是哪里?") # 获取模型的回应,询问 "法国的首都是哪里?"
print(response) # 打印输出模型的回应
2、修改python代码,我把openai.api_key存放在一个excel表格openai的密码2023.6.6.xlsx的A列中,读取excel表格,执行代码,如果正确返回内容response,原excel表格下一个空白列中的1行写入当天日期,单元格写1,如果没有正确返回内容,单元格写0,保持原来excel表格颜色、字体、宽度不变。
excel表格例子:
3、判断单元格是否为空时,仅考虑单元格中的文字或数字,而不考虑颜色、框线等格式。
4、写入新的日期、时间、1、0的时候,也是在没有文字或数字的单元格,保留原来单元格颜色、字体等属性
5、
import os
import openai
import openpyxl
from datetime import datetime
from dotenv import load_dotenv, find_dotenv
# 加载环境变量
_ = load_dotenv(find_dotenv())
# 定义函数:获取回应
def 获取回应(提示, 模型="gpt-3.5-turbo"):
消息 = [{"role": "user", "content": 提示}]
响应 = openai.ChatCompletion.create(
model=模型,
messages=消息,
temperature=0,
)
return 响应.choices[0].message["content"]
# 定义函数:获取API密钥并更新Excel表格
def 获取API密钥并更新Excel(Excel文件):
# 加载Excel表格
工作簿 = openpyxl.load_workbook(Excel文件)
工作表 = 工作簿.active
# 获取当前日期和时间
当前日期时间 = datetime.now().strftime('%Y-%m-%d %H:%M:%S')
# 在工作表中添加当前日期时间列
header_cell = 工作表.cell(row=1, column=工作表.max_column + 1)
header_cell.value = 当前日期时间
# 遍历API密钥,找到一个有效的
for row_index in range(2, 工作表.max_row + 1):
API密钥候选 = 工作表.cell(row=row_index, column=1).value
if API密钥候选 is None: # 跳过空单元格
continue
openai.api_key = API密钥候选
result_cell = 工作表.cell(row=row_index, column=工作表.max_column)
# 保存单元格的原有属性
# original_fill = result_cell.fill
# original_font = result_cell.font
try:
回应 = 获取回应("美国的首都是哪里?")
if "华盛顿" in 回应: # 如果回答正确
result_cell.value = 1
print(f"找到有效API密钥:{API密钥候选}")
else:
result_cell.value = 0
except Exception as e: # 如果回答不正确
print(f"API密钥无效:{API密钥候选}")
result_cell.value = 0
# 恢复单元格的原有属性
# result_cell.fill = original_fill
# result_cell.font = original_font
# 保存修改后的Excel表格
工作簿.save(Excel文件)
# 主程序
if __name__ == "__main__":
Excel文件 = "openai的密码2023.6.6.xlsx"
获取API密钥并更新Excel(Excel文件)
6、查询是否是GPT4key、是否是其他API、查询余额、到期时间
gpt-3.5-turbo
gpt-3.5-turbo-0301
gpt-4
text-davinci-003
text-davinci-002
code-davinci-002
gpt-4-0314
gpt-4-32k
gpt-4-32k-0314
gpt-4-mobile
text-davinci-002-render-sha-mobile
7、好像没办法查询余额和到期时间
8、
# -*- coding: utf-8 -*-
"""
Created on Tue Jun 6 11:19:53 2023
@author: Administrator
"""
# 导入所需模块
import os
import openai
import openpyxl
from datetime import datetime
from dotenv import load_dotenv, find_dotenv
# 加载环境变量,方便在代码中使用 .env 文件中定义的变量
_ = load_dotenv(find_dotenv())
# 定义函数:获取回应
def 获取回应(提示, 模型="gpt-3.5-turbo"):
消息 = [{"role": "user", "content": 提示}]
响应 = openai.ChatCompletion.create(
model=模型, # 使用指定模型
messages=消息, # 将提示信息作为输入
temperature=0, # 温度参数设置为0,让模型输出最可能的回应
)
return 响应.choices[0].message["content"], 响应.model # 返回回应内容和模型名称
# 定义函数:获取API密钥并更新Excel表格
def 获取API密钥并更新Excel(Excel文件, 模型="gpt-3.5-turbo"):
# 加载Excel表格
工作簿 = openpyxl.load_workbook(Excel文件)
工作表 = 工作簿.active
# 获取当前日期和时间
当前日期时间 = datetime.now().strftime('%Y-%m-%d %H:%M:%S')
# 在工作表中添加当前日期时间列
header_cell = 工作表.cell(row=1, column=工作表.max_column + 1)
header_cell.value = 当前日期时间
# 遍历API密钥,找到一个有效的
for 行索引 in range(2, 工作表.max_row + 1):
API密钥候选 = 工作表.cell(row=行索引, column=1).value
if API密钥候选 is None: # 跳过空单元格
continue
openai.api_key = API密钥候选 # 设置 OpenAI 的 API 密钥
结果单元格 = 工作表.cell(row=行索引, column=工作表.max_column)
try:
回应, 模型名称 = 获取回应("美国的首都是哪里?", 模型) # 注意这里我们将模型名称作为参数传递给获取回应函数
if "华盛顿" in 回应: # 如果回答正确
结果单元格.value = 1 # 在结果单元格中写入1,表示此 API 密钥有效
print(f"找到有效API密钥:{API密钥候选}")
print(f"使用的模型:{模型名称}") # 打印使用的模型名称
else:
结果单元格.value = 0 # 在结果单元格中写入0,表示此 API 密钥无效
except Exception as e: # 如果出现错误
print(f"API密钥无效:{API密钥候选}") # 打印错误信息
结果单元格.value = 0 # 在结果单元格中写入0,表示此 API 密钥无效
# 保存修改后的Excel表格
工作簿.save(Excel文件)
# 主程序
if __name__ == "__main__":
Excel文件 = "openai的密码2023.6.6.xlsx" # 设置 Excel 文件的路径
# 用GPT-3.5 Turbo模型检查API密钥并更新Excel
获取API密钥并更新Excel(Excel文件, "gpt-3.5-turbo")
# 用GPT-4模型检查API密钥并更新Excel
获取API密钥并更新Excel(Excel文件, "gpt-4")