做了一个查看 OpenAI API 使用明细的工具

2023-07-25 15:05:08 +08:00
 wseani

如题,主要是方便我自己 : )

网址:apiusage.info 源代码: mazzzystar/apiusage

功能

输入你的 OpenAI API Key ,即可查看过去一天各类模型 API 消耗的费用。截图:

饼图:

安全

代码是开源的,不会存储你的隐私。

自己部署

克隆本项目,在命令行

export OPENAI_API_KEY="YOUR_API_KEY"

然后 python app.py 即可。

贡献

这个项目的初衷是方便我自己:当 cost 异常时,方便我查看到底哪里消耗费用较高,所以目前的功能比较简陋,如果你有更好的展示形式和需求,欢迎提交 PR 。

3220 次点击
所在节点    分享创造
21 条回复
wong2
2023-07-25 17:05:26 +08:00
用过一个类似的: https://llm.report
wseani
2023-07-25 17:21:42 +08:00
@wong2 啊!早看到我就不做了 : D
enqueueit
2023-07-25 19:42:46 +08:00
太棒了啊
imldy
2023-07-25 19:48:13 +08:00
`usage`接口不是现在只能用 sessionKey 调用了吗?
apiKey 查用量用的哪个接口啊?
imldy
2023-07-25 19:51:50 +08:00
@imldy #4 好像输入 API Key 点击 set 仍然显示默认的$5.98
wseani
2023-07-25 19:52:03 +08:00
@imldy 有源代码 : ) 我没测试过别人能不能正常使用,我是可以用 api key 正常拿到数据的。
imldy
2023-07-25 20:03:53 +08:00
@wseani #6

7 月 20 号 OpenAI 改的接口。

目前我用 api key 请求`v1/dashboard/billing/usage`接口,会报错:

```
{
"error": {
"message": "Your request to GET /v1/dashboard/billing/usage must be made with a session key (that is, it can only be made from the browser). You made it with the following key type: secret.",
"type": "server_error",
"param": null,
"code": null
}
}
```
imldy
2023-07-25 20:31:02 +08:00
看到了, 一个很少人发现的接口:`v1/usage?date=2023-07-20`,能拿到某一天的使用量
wseani
2023-07-25 20:35:41 +08:00
@imldy 应该已经修复了,再试试看 : )
xabcstack
2023-07-25 23:21:10 +08:00
能否显示本月的使用量
saimax
2023-07-26 00:09:24 +08:00
大佬又出手了
wseani
2023-07-26 07:38:54 +08:00
@saimax 我自己需要,看到没有,就做了!
wseani
2023-07-26 07:40:38 +08:00
@xabcstack OpenAI 其实可以看,如果是指不同模型的各自用量,需要调 api 获取每一天的,这样频繁获取似乎会被 OpenAI 限制
simonCN
2023-07-27 19:01:47 +08:00
大佬,想问下怎么解决国内 ip 访问 OpenAI 的,国内好像只有微软联盟的公司才能合法稳定的使用,你们是用的机场么,还有充值费用怎么解决啊,办的境外虚拟信用卡么?国内想要凭自己文档访问 OpenAI 感觉太难了
wseani
2023-07-27 19:38:10 +08:00
@simonCN 抱歉我用的是朋友的卡,然后我的应用没有上架国内 : (
imldy
2023-07-27 22:45:57 +08:00
@simonCN #14 “国内 ip 访问 OpenAI ” 解决办法:使用境外 IP 反代啊,可以用 cloudflare 的 workers 。
充值:个人可以购买 5 刀试用的账号,1-3 块钱 5 $账号。或者虚拟信用卡。
xabcstack
2023-07-28 00:36:32 +08:00
可以加一个 redis, 当一个 key 查询的日期是历史日期,则数据记录到 redis ( 过期时间 30 天)

每次查询优先寻找 redis 数据,找不到再发起请求

这样可以确保历史使用的查询,对官方的请求只有 1 次,也可以畅快的查看一个 key 当月每一天的使用情况

因为设置了过期时间, redis 里面的数据会自动清理

高效&科学&快速
wseani
2023-07-28 09:56:34 +08:00
@xabcstack 这样好像会记录 key ,会有隐私顾虑吗?
xabcstack
2023-07-28 10:59:44 +08:00
@wseani key 名称可以是 真实 key 的后 20 位
wseani
2023-07-28 11:02:12 +08:00
@xabcstack 还是算了吧:D 这个开源项目有一个 bug ,如果你有兴趣可以看看吗? https://github.com/mazzzystar/api-usage/issues/1 我用 GPT-4 搞不定 hhh

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/959566

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX