Closed Ace-Radom closed 1 year ago
在取得回复时加入了 error
这个key的探测 那个脚本也许可以删掉了
脚本不在python里调用了是吧?那我等会把脚本删除了,在说明里放https://platform.openai.com/account/usage 这个链接
日志记录usage_get_params变量后发现第二次循环的起始日期和结束日期不太对了
还有就是,https://api.openai.com/dashboard/billing/subscription 这个api应该是每个月刷新的吧,如果是每月刷新的话 https://api.openai.com/dashboard/billing/usage 这个接口也不需要90天累加什么的,只要算当月的1号到31号就可以了。
脚本不在python里调用了是吧?那我等会把脚本删除了,在说明里放https://platform.openai.com/account/usage 这个链接
其实本来就没有使用 只是我一开始没有打算在python源码里加入探测 error
回复的程序 所以把这个脚本当成一个小工具一样push上来了 后来觉得不能跨平台的工具确实意义不大所以就加进python里了 现在可以删除了
日志记录usage_get_params变量后发现第二次循环的起始日期和结束日期不太对了
啊这个是我在造错误回复测试RuntimeError捕获的debug语句忘记改回去了 我一会儿改一下
还有就是,https://api.openai.com/dashboard/billing/subscription 这个api应该是每个月刷新的吧,如果是每月刷新的话 https://api.openai.com/dashboard/billing/usage 这个接口也不需要90天累加什么的,只要算当月的1号到31号就可以了。
我不清楚 文档里没翻到 但我问ChatGPT他说根据文档他是实时刷新的
刚才试了一下,上面是开始时间1月1号的,下面是我把开始时间设置成4月1号的,下面这个和官网usage页面对应上了,我就弄成计算当月的吧
这个问题貌似没那么简单……如果像我一样还在用Free Trail的话只统计当月那么会出错啊
你能用curl访问一下 /dashboard/billing/subscription
然后看一下回复嘛 里面有账单地址之类的信息 也许需要判断一下订阅套餐了
这个问题貌似没那么简单……如果像我一样还在用Free Trail的话只统计当月那么会出错啊 你能用curl访问一下
/dashboard/billing/subscription
然后看一下回复嘛 里面有账单地址之类的信息 也许需要判断一下订阅套餐了
我的是这样的
{
"object": "billing_subscription",
"has_payment_method": true,
"canceled": false,
"canceled_at": null,
"delinquent": null,
"access_until": 1680307200,
"soft_limit": 466666,
"hard_limit": 500000,
"system_hard_limit": 2000000,
"soft_limit_usd": 27.999959999999998,
"hard_limit_usd": 30.0,
"system_hard_limit_usd": 120.0,
"plan": {
"title": "Pay-as-you-go",
"id": "payg"
},
"account_name": "junpeng lu",
"po_number": null,
"billing_email": null,
"tax_ids": null,
"billing_address": {
"city": "Butte",
"line1": "1819 South Montana Street",
"line2": null,
"state": "MT",
"country": "US",
"postal_code": "59701"
},
"business_address": null
}
先更新个readme,,,
虽然我的其实已经贴过了但为了方便再贴一遍吧
我看出来的可以作为参考的有
"access_until"
"plan"
因为我还没有付过费所以对于他的收费方式不太了解 如果别的付费API只有月付那就方便了 只要不是free那就按照月统计 若是就统计全部 如果还有多月套餐或者pay-as-use的话那特判可能就多了...
只要不是free那就按照月统计 若是就统计全部
我觉得这就够了,其他情况就不考虑了。
或者和 /tokens
一样回复两个值?一个是本月用量一个是历史总用量
毕竟用户肯定知道自己用的哪一个plan 应该看一个值就让用户自己选吧
刚刚问了下ChatGPT不同付费计划 貌似特判也没我想的那么复杂 但这个慢点考虑要不要做吧目前先不考虑了
也可以,那就不显示Available了,只显示两个used,一个本月一个总量。不过总量是从今年的1月1号开始算的是吧,要是跨年了怎么办
额我当时让他从今年元旦开始算是因为我记得ChatGPT的模型 (也就是gpt-3.5-turbo) 的API是今年两月还是三月公布的 这个项目毕竟主旨是将ChatGPT搬进终端所以就没有考虑去算更早的类似于gpt-3之类的API的收费【这也就是为啥我在当初做多模型选择的时候也只加了gpt-4进去 别的模型都没有考虑】
所以我觉得往前跨年那没有太大必要考虑 虽然考虑也很简单 从OpenAI第一次公布API开始算起就好 只需要改一下 get_credit_usage
里的起始时间就可以了 往后跨年的话datetime会自动考虑
还有这个是你来改还是我来改(
我来改吧,以及刚才GitHub的pull页面好像挂了,见证历史了
确实见证历史((( 进网站直接跳too long to load 然后pull跳500 头一回见(
~奇怪 我明明在仓库里看到push了为什么在PR里没有显示~
看了一下 应该基本没啥问题了 如果没别的东西的话我觉得差不多可以merge了
可能是bug还没修完吧我也没看到所以昨晚没敢merge
是不用return的,因为它的作用比如fetch_credit_total_granted,就是得到response_subscription_json
里的"hard_limit_usd"然后赋值给self.credit_total_granted
,赋值结束了它的任务就完成了,之后要调用它的结果直接用self.credit_total_granted
就可以了,下面这个也是一样的道理
啊好的我明白了
Done, Requires Code Review
Link Issue: #22
重构了
/usage
命令的实现 现在可以重新使用了TO DO:
/usage
命令重构/dashboard/billing
下API访问校验脚本 (bash:./billing_api_test
)Windows版校验脚本取消了 bat写起来真的坐牢 powershell又是问题一大堆 另外这个bash脚本是否在Mac可用我不知道 只知道Git Bash和Linux都是可以的
之所以分出一个校验脚本单独写而不是直接写在源码里有两个原因
/usage
命令增加二级命令我觉得有些多余 不知道你怎么看至于校验脚本的原理 就是检查API的回复里有没有
"error"
这个tag 如果有那就是出问题了 会将整个回复输出