V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
爱意满满的作品展示区。
wseani
V2EX  ›  分享创造

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

  •  
  •   wseani ·
    mazzzystar · 281 天前 · 2854 次点击
    这是一个创建于 281 天前的主题,其中的信息可能已经有所发展或是发生改变。

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

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

    功能

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

    饼图:

    安全

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

    自己部署

    克隆本项目,在命令行

    export OPENAI_API_KEY="YOUR_API_KEY"
    

    然后 python app.py 即可。

    贡献

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

    21 条回复    2023-07-28 11:46:40 +08:00
    wong2
        1
    wong2  
       281 天前   ❤️ 3
    用过一个类似的: https://llm.report
    wseani
        2
    wseani  
    OP
       281 天前
    @wong2 啊!早看到我就不做了 : D
    enqueueit
        3
    enqueueit  
       281 天前
    太棒了啊
    imldy
        4
    imldy  
       281 天前
    `usage`接口不是现在只能用 sessionKey 调用了吗?
    apiKey 查用量用的哪个接口啊?
    imldy
        5
    imldy  
       281 天前
    @imldy #4 好像输入 API Key 点击 set 仍然显示默认的$5.98
    wseani
        6
    wseani  
    OP
       281 天前
    @imldy 有源代码 : ) 我没测试过别人能不能正常使用,我是可以用 api key 正常拿到数据的。
    imldy
        7
    imldy  
       281 天前
    @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
        8
    imldy  
       281 天前
    看到了, 一个很少人发现的接口:`v1/usage?date=2023-07-20`,能拿到某一天的使用量
    wseani
        9
    wseani  
    OP
       281 天前
    @imldy 应该已经修复了,再试试看 : )
    xabcstack
        10
    xabcstack  
       281 天前
    能否显示本月的使用量
    saimax
        11
    saimax  
       281 天前 via iPhone   ❤️ 1
    大佬又出手了
    wseani
        12
    wseani  
    OP
       281 天前
    @saimax 我自己需要,看到没有,就做了!
    wseani
        13
    wseani  
    OP
       281 天前
    @xabcstack OpenAI 其实可以看,如果是指不同模型的各自用量,需要调 api 获取每一天的,这样频繁获取似乎会被 OpenAI 限制
    simonCN
        14
    simonCN  
       279 天前
    大佬,想问下怎么解决国内 ip 访问 OpenAI 的,国内好像只有微软联盟的公司才能合法稳定的使用,你们是用的机场么,还有充值费用怎么解决啊,办的境外虚拟信用卡么?国内想要凭自己文档访问 OpenAI 感觉太难了
    wseani
        15
    wseani  
    OP
       279 天前
    @simonCN 抱歉我用的是朋友的卡,然后我的应用没有上架国内 : (
    imldy
        16
    imldy  
       279 天前
    @simonCN #14 “国内 ip 访问 OpenAI ” 解决办法:使用境外 IP 反代啊,可以用 cloudflare 的 workers 。
    充值:个人可以购买 5 刀试用的账号,1-3 块钱 5 $账号。或者虚拟信用卡。
    xabcstack
        17
    xabcstack  
       279 天前
    可以加一个 redis, 当一个 key 查询的日期是历史日期,则数据记录到 redis ( 过期时间 30 天)

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

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

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

    高效&科学&快速
    wseani
        18
    wseani  
    OP
       279 天前
    @xabcstack 这样好像会记录 key ,会有隐私顾虑吗?
    xabcstack
        19
    xabcstack  
       279 天前
    @wseani key 名称可以是 真实 key 的后 20 位
    wseani
        20
    wseani  
    OP
       279 天前
    @xabcstack 还是算了吧:D 这个开源项目有一个 bug ,如果你有兴趣可以看看吗? https://github.com/mazzzystar/api-usage/issues/1 我用 GPT-4 搞不定 hhh
    xabcstack
        21
    xabcstack  
       279 天前
    @wseani 可以的, 这个功能我就搞搞~
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   2298 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 27ms · UTC 06:19 · PVG 14:19 · LAX 23:19 · JFK 02:19
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.