查询OpenAI账号APIKey可用余额、使用量和使用明细接口,用python实现

现在可以使用以下接口进行实现

Python

    apikey = ""
    subscription_url = "https://api.openai.com/v1/dashboard/billing/subscription"
    headers = {
        "Authorization": "Bearer " + apikey,
        "Content-Type": "application/json"
    }
    subscription_response = requests.get(subscription_url, headers=headers)
    if subscription_response.status_code == 200:
        data = subscription_response.json()
        total = data.get("hard_limit_usd")
    else:
        return subscription_response.text

    # start_date设置为今天日期前99天
    start_date = (datetime.datetime.now() - datetime.timedelta(days=99)).strftime("%Y-%m-%d")
    # end_date设置为今天日期+1
    end_date = (datetime.datetime.now() + datetime.timedelta(days=1)).strftime("%Y-%m-%d")
    billing_url = f"https://api.openai.com/v1/dashboard/billing/usage?start_date={start_date}&end_date={end_date}"
    billing_response = requests.get(billing_url, headers=headers)
    if billing_response.status_code == 200:
        data = billing_response.json()
        total_usage = data.get("total_usage") / 100
        daily_costs = data.get("daily_costs")
        days = min(5, len(daily_costs))
        recent = f"最近{days}天使用情况  \n"
        for i in range(days):
            cur = daily_costs[-i-1]
            date = datetime.datetime.fromtimestamp(cur.get("timestamp")).strftime("%Y-%m-%d")
            line_items = cur.get("line_items")
            cost = 0
            for item in line_items:
                cost += item.get("cost")
            recent += f"\t{date}\t{cost / 100} \n"
    else:
        return billing_response.text

    return f"\n总额:\t{total:.4f}  \n" \
                f"已用:\t{total_usage:.4f}  \n" \
                f"剩余:\t{total-total_usage:.4f}  \n" \
                f"\n"+recent

输出结果如下:

总额: 18.0000

已用: 0.4737

剩余: 17.5263

最近5天使用情况

2023-04-28 0.0

2023-04-27 0.0

2023-04-26 0.0

2023-04-25 0.0

2023-04-24 0.0

可访问 https://aichat.shandianfk.com 查看示例(点击设置输入APIKey和API转发地址查询余额)

  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
### 回答1: 首先, 需要申请并获取 OpenAI APIkey, 然后安装 OpenAIpython SDK (openai). 接下来, 可以使用 SDK 中提供的方法调用 OpenAI API 实现问答功能。具体地, 可以使用 openai.Completion.create() 方法调用 "Davinci" 模型进行问答。参数需要传递问题文本 (prompt) 和可选参数 (如 temperature, max_tokens等)。 获取到结果之后, 可以使用 python 对结果进行处理和展示, 以实现一个简单的问答程序。 下面是一个简单的例子: ``` import openai openai.api_key = "YOUR_API_KEY" prompt = "What is the capital of France?" completions = openai.Completion.create( engine="davinci", prompt=prompt, max_tokens=1024, temperature=0.7, ) message = completions.choices[0].text print(message) ``` 这样你就能使用openaiapi 来封装一个问答程序了 ### 回答2: 要使用PythonOpenAI API封装一个问答程序,可以按照以下步骤进行: 1. 导入必要的Python库和OpenAIPython SDK:首先,我们需要导入必要的Python库,如`openai`、`json`等。同时,确保已安装OpenAIPython SDK,可以通过`pip install openai`安装。 2. 设置OpenAI API密钥:在程序中,需要设置OpenAI API的访问密钥,以便进行API调用。密钥可以从OpenAI网站上获得。 3. 编写代码实现问答功能: - 创建一个函数或类,以便重用和调用问题和答案的逻辑。 - 在函数中,使用OpenAI的`openai.Completion.create()`方法调用问答模型API。 - 将问题作为输入传递给API,并配置相关参数,如`engine`、`temperature`和`max_tokens`等。 - 获取API返回的答案,并返回给调用者。 下面是一个简单的例子来说明上述过程: ```python import openai import json # 设置OpenAI API密钥 openai.api_key = 'your_openai_api_key' # 封装一个问答函数 def ask_question(question): # 调用问答模型API response = openai.Completion.create( engine='davinci-codex', # 指定API使用的模型 prompt=question, # 设置输入问题 max_tokens=100, # 设置最大返回标记数 temperature=0.7 # 设置温度,控制生成答案的多样性 ) # 提取答案 answer = response.choices[0].text.strip() return answer # 测试问答功能 question = "你是谁?" answer = ask_question(question) print(f"问题: {question}") print(f"答案: {answer}") ``` 在上述例子中,我们使用了一个名为`davinci-codex`的模型来回答问题,可以根据需要选择适合自己需求的模型。注意,OpenAI API使用计费模式,需要根据使用情况来计算费用。 这只是一个简单的例子,你可以根据自己的需求对问答程序进行更复杂和灵活的封装。 ### 回答3: 要使用PythonOpenAI API封装一个问答程序,可以按照以下步骤进行: 1. 导入必要的库:首先需要安装OpenAI APIPython包,并导入相关库,例如openaijson。 2. 设置API密钥:在OpenAI网站上创建账户并获取API密钥。将密钥设置为环境变量或直接在代码中保存。 3. 初始化OpenAI API使用导入的openai库来初始化OpenAI API使用API密钥作为参数。 4. 输入问题和文本:定义一个函数,接收用户提出的问题和相关文本。将问题和文本作为参数传递给OpenAI API。 5. 发送API请求:使用openai库中的函数来发送API请求,将问题和文本发送给OpenAI模型进行处理。 6. 处理API响应:从API响应中提取答案。API的响应以JSON格式返回,可以使用json库解析响应。 7. 输出答案:将提取到的答案返回给用户。 以下是一个简单的代码示例: ```python import openai import json # 设置OpenAI API密钥 openai.api_key = 'YOUR_API_KEY' # 初始化OpenAI def init_openai(): openai.api_key = 'YOUR_API_KEY' # 执行问答 def ask_question(question, text): # 发送API请求 response = openai.Completion.create( engine='davinci', prompt=question + '\nText: ' + text + '\nQuestion:', max_tokens=100, n=1, stop=None, temperature=0.7 ) # 处理API响应 answer = response.choices[0].text.strip().split('Answer: ')[1] return answer # 例子 def main(): # 初始化OpenAI init_openai() # 输入问题和文本 question = 'What is the capital of France?' text = 'France is a beautiful country located in Europe.' # 执行问答 answer = ask_question(question, text) # 输出答案 print(answer) if __name__ == '__main__': main() ``` 以上代码中的`YOUR_API_KEY`需要替换为你自己在OpenAI网站上获得的API密钥。`question`和`text`表示用户输入的问题和相关文本。可以根据需要进行进一步的优化和错误处理。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值