标签 chatGPT 下的文章

OpenAI提供了billing相关的接口,用api key 查询账号的用量和额度。但统计数据是针对账号而不是key的,因此当一个账号有多个keys 的情况下无法分辨每个key用量的多少。这是定论,也是openai论坛呼声很高的一个需求。

How to track API usage and cost by API key?

既然有需求在,那么来解决一下。说下我的思路

我需要把API分开给不同的应用或者分享给不同的人,我需要知道他们分别的使用情况,有没有被滥用或闲置。

思路

  1. 搭建 Nginx反代,让所有的API请求经过这台代理。
  2. 通过 Nginx的访问日志捕获所有的请求,包括 key信息
  3. 对日志进行分析统计,统计key的请求数量和发送的信息量

额外地,还需要工具对apikey批量查询用量,这里用别人现成的

https://github.com/ClarenceDan/openai-billing

已知缺点和风险

  1. 需要在可控条件下才具备统计意义,如果APIKey被拿去在其他地方部署不经过代理,请求记录无法被捕获。
  2. 安全风险,key信息保存在日志和数据库中时,有泄露的风险。
  3. 用量计量不精准, 只能大概统计到使用频率。只有 用户->GPT单向请求(用户输入的信息量),但AI返回的信息量长度没有记录。

具体实现:

(还没写)

流水账,以下步骤均在 chatGPT指导下完成

  • 修改 nginx.conf 的 log_format 添加 header http authorization 信息
  • 启用 logrotate 服务对日志文件定期进行分卷(不然日志太大很难进行分析)
  • python脚本对分卷归档的日志文件做扫描分析,统计用量写入mysql
  • cronjob 定时执行python脚本(在logrorate 每次执行后)

没打算吹彩虹屁,吹嘘神乎其神的软广网上已经够多了。
有的人感兴趣或有潜在需求,但目前接触GPT仍然不易且让人迷惑,因此回答几个常见的问题。

还有一些问题我不打算回答,懂的都懂。

gpt20230529231242.png


- 阅读剩余部分 -

申请 new bing 通过了。最初是浅浅的测试了一下按朋友要求想让他给一个相对冷门(互联网上素材较少)的题材写份文案。结果不过尔尔,不是特别满意。

又过了一段时间,用下来又有了一番感悟。
长期焦虑中的我自然不屑于用AI来调戏搞些什么整活话题逗比俏皮话。但作为工作用的话,它确实是个不错甚至高于及格线的智能助手。

搞技术方面的工作无论是运维还是研发,除非刚好身处一个大团队里而且团队中还有技术大牛带着。不然难免遇到许多问题,虽然大部分问题不至于最终导致停滞,但解决问题总是处处卡顿。

以往我们的解决办法是什么呢

  1. 搜索有没有人遇到类似问题 如 stackoverflow.com
  2. 公司内部论坛 或技术论坛 请教。可能要很久才等到响应而且交流过程通常比较缓慢,运气不好可能好几个来回也未必能确定和解决。
  3. QQ或其他通讯软件的对应技术群发文。 几乎不太可能得到有效的帮助,没有太好的交流互助气氛。
  4. 实在不行就得啃文档,翻源码

因此做技术的人总是间歇性迷茫无助长期性孤独焦虑。

自从用了这个AI,感觉身边就有个整合了人类已知(被发表到互联网上的)共享智慧的同伴。很多不算特别复杂的问题可以直接向它咨询。而给到的答复质量一般而言还是不错的。有针对性且直切结果省去了自己慢慢筛选和验证的时间。

有种错觉是身边有个和我同岗的同事能随时交流请教。让孤独的我心里似乎有那么一点点没那么寂寞了。

但是,可能会导致我(这种人)更自闭朋友更少了