OpenAI API 账单查询工具
"import requests\nimport datetime\n\ndef get_subscription_usage(apikey):\n\t""" \t获取 OpenAI API 的订阅信息和使用情况 \t\n\tArgs: \t apikey (str): OpenAI API 密钥 \t\n\tReturns: \t str: 包含订阅信息和使用情况的字符串 \t""" \tsubscription_url = "https://api.openai.com/v1/dashboard/billing/subscription"\n\theaders = {\n\t"Authorization": "Bearer " + apikey,\n\t"Content-Type": "application/json"\n\t}\n\ntry:\n\t\tsubscription_response = requests.get(subscription_url, headers=headers)\n\t\tsubscription_response.raise_for_status()\n\t\tdata = subscription_response.json()\n\t\ttotal = data.get("hard_limit_usd")\n\n\t\tstart_date = (datetime.datetime.now() - datetime.timedelta(days=99)).strftime("%Y-%m-%d")\n\t\tend_date = (datetime.datetime.now() + datetime.timedelta(days=1)).strftime("%Y-%m-%d")\n\t\tbilling_url = f"https://api.openai.com/v1/dashboard/billing/usage?start_date={start_date}&end_date={end_date}"\n\t\tbilling_response = requests.get(billing_url, headers=headers)\n\t\tbilling_response.raise_for_status()\n\t\tdata = billing_response.json()\n\t\ttotal_usage = data.get("total_usage") / 100\n\t\tdaily_costs = data.get("daily_costs")\n\t\tdays = min(5, len(daily_costs))\n\t\trecent = f"最近{days}天使用情况 \n"\n\t\tfor cur in daily_costs[-days:]:\n\t\t\tdate = datetime.datetime.fromtimestamp(cur.get("timestamp")).strftime("%Y-%m-%d")\n\t\t\tcost = sum(item.get("cost") for item in cur.get("line_items"))\n\t\t\trecent += f"\t{date}\t{cost / 100} \n"\n\n\t\treturn f"\n总额:\t{total:.4f} \n" \n\t\t\t\t\t f"已用:\t{total_usage:.4f} \n" \n\t\t\t\t\t f"剩余:\t{total-total_usage:.4f} \n" \n\t\t\t\t\t f"\n" + recent\n\texcept requests.exceptions.RequestException as e:\n\t\treturn str(e)\n\n
原文地址: https://www.cveoy.top/t/topic/pDTK 著作权归作者所有。请勿转载和采集!