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
评论 (0)