Hello Everyone

随着基于LLM(大型语言模型)的应用从原型版本向生产环境转移,基于消费(token/sales credits)的计量管理仍然是一个碎片化的挑战。 我设计并开发了**CreditManagement**,一个旨在桥接API执行与财务责任之间差距的开源框架。

**GitHub Repository: **https://github.com/Meenapintu/credit_management

# Core Philosophy

CreditManagement旨在保持灵活性同时能够有效地执行。它既可以作为一个可以直接和你的Python程序集成的库,也可以作为一个独立的自主的Credit Manager服务器。

# 高性能特性

  • **自动化的FastAPI Middleware:**实现了一个先“预留”,然后“扣除”的复杂的工作流程。它自动截获来自header值的请求以预留credits,然后在API逻辑执行后确认扣除,防止高延迟的LLM调用过度收费。
  • **无关数据层:**包括一个专门用于**Schema Builder**的系统。在不改变任何事项的情况下,它支持**MongoDB**和**In-Memory**的数据(用于CI/CD和测试),同时设计为能够支持任何数据库后台系统。
  • **银行级别的审计日志记录:**对于依赖审计的环境,每个Credit操作(检查、预留、减少、退款)都会触发一个不可变的记录条目。这提供了一个“银行级别”的事务审计痕迹。
  • **完全生命周期管理:**预先定义好的API路由以支持订阅、信用证检验和平衡调整

# LLM的使用场景

如果你正在构建一个AI包装器或一个智能的流程,你就知道计数token只是问题的一半。这个框架负责管理那些token的状态——确保即使LLM调用失败,预留的credits也会被正确处理;如果成功,则它将精确地为那些token进行收费。

# 架构设计和可扩展性

这个框架是打造给优先考虑**简单架构**的开发者们:

  • **可插入的:**直接将middleware放入FastAPI中,这样你的计费逻辑就与你的业务逻辑相分离
  • **扩展性:**独立的服务器选项允许你将信用管理模式跨越多个微服务集中起来
  • **审计兼容性:**内置日志功能意味着你从第一天起就可以进行财务审计

# 合作和反馈

我正在寻求专业社区的反馈和支持:

  • **middleware扩展:** 对于Starlette或Django Ninja支持的兴趣?
  • **数据库适配器:**应该优先考虑的哪些SQL驱动器?
  • **边缘案例:**如何处理高并发度下的“预留”操作中的竞态条件?

你可以在这个repo中查看它,然后如果它对你有帮助,希望你可以分享你的想法或给我一个star!

**技术:** #Python #FastAPI #LLM #OpenSource #FinTech #后端工程 #MongoDB