让 chatgpt-web 支持按量计费与版本切换

💡 原文中文,约7500字,阅读约需18分钟。
📝

内容提要

作者搭建了一个GPT网页端,最初不打算收费,但因GPT-4费用增加,设计了按量计费方案。实现了用户认证和流式输出的token统计,支持在GPT-3.5与GPT-4间切换,使用简单的文件存储用户余额,便于管理。项目代码可在GitHub上查看。

🎯

关键要点

  • 作者搭建了一个GPT网页端,最初不打算收费,但因GPT-4费用增加,设计了按量计费方案。

  • 实现了用户认证和流式输出的token统计,支持在GPT-3.5与GPT-4间切换。

  • 使用简单的文件存储用户余额,便于管理,避免引入额外依赖。

  • 计费机制包括预扣费和费用返还,确保用户余额不会变为负数。

  • 项目代码可在GitHub上查看,包含了相关的配置和使用说明。

🔎

延伸解读

按量计费的设计思路

作者在设计按量计费方案时,考虑到了GPT-4的高费用问题,采用了预扣费和费用返还机制。这种设计不仅能有效控制用户的支出,还能避免用户余额透支,确保用户体验。

模型切换的灵活性

通过实现GPT-3.5与GPT-4之间的切换,用户可以根据需求选择不同的模型。这种灵活性使得用户能够在成本和性能之间找到平衡,适应不同的使用场景。

存储与管理的简化

作者选择使用简单的文件存储用户余额,而非复杂的数据库系统。这种做法虽然降低了系统的复杂性,但在用户数量增加时可能会面临管理上的挑战,需谨慎考虑。

延伸问答

如何实现按量计费的机制?

按量计费机制通过预扣费和费用返还来实现,确保用户余额不会变为负数。

用户如何在GPT-3.5和GPT-4之间切换?

用户可以通过调用api.sendMessage时设置options.completionParams.model的值来切换模型。

项目代码在哪里可以查看?

项目代码可以在GitHub上查看,链接为https://github.com/shansing/chatgpt-web。

如何管理用户余额?

用户余额使用简单的文件存储,便于管理,避免引入额外依赖。

流式输出的token统计是如何实现的?

流式输出的token统计通过chatgpt-api库的支持来实现,能够估算流式输出下的token数量。

如何处理网络中断导致的费用问题?

如果捕获到网络中断等异常,系统会全额返还用户费用,避免用户透支。

🏷️

标签

➡️

继续阅读