审计流程
AuditFlow是一个文本和语音聊天应用程序,供审计师从试算表和总账等财务文件中提取见解。它使用Supabase(PostgreSQL)和SQLAlchemy ORM构建MCP服务器,使用Weaviate Vector Store进行混合搜索,结合BM25、元数据和语义搜索进行数据检索,并与n8n集成。
特性
- 文本和语音聊天界面:通过使用文本或语音输入的自然语言查询与您的财务文档进行交互
- 财务文件分析:为试算表和总账文件提供专门支持
- 混合搜索:结合BM25、元数据过滤和语义搜索,实现准确的数据检索
- MCP服务器架构:基于模型上下文协议,用于可扩展的AI集成
- 工作流程自动化:与n8n无缝集成,实现自动化审计工作流程
技术栈
- 数据库:Supabase(PostgreSQL)
- 对象关系映射:SQL炼金术
- 向量存储:编织
- MCP服务器:与n8n集成
- 工作流程自动化:n8n
- 搜索:混合搜索(BM25+语义+元数据)
先决条件
- Python 3.8+
- 紫外线 (Python包安装程序)
- 辅助账户和项目
- Weaviate实例(云或自托管)
- n8n实例(可选,用于工作流自动化)
安装
- 克隆存储库:
git clone https://github.com/UmarEhtisham/AuditFlow-Chat.git
cd auditflow- 使用uv安装依赖项:
uv sync或者在开发模式下安装软件包:
uv pip install -e .- 设置环境变量:
cp .env.example .env编辑 .env 使用您的Supabase凭据:
SUPABASE_URL=your_supabase_direct_url备注:其他凭据(Weaviate、n8n webhooks)在n8n工作流中配置。
- 运行应用程序:
python main.py数据库将在首次运行时自动初始化。
用法
AuditFlow通过由n8n工作流支持的WhatsApp集成进行访问。所有交互(文本查询、语音消息和文档上传)都通过WhatsApp处理。
文本查询
向配置的WhatsApp号码发送短信,其中包含您的审核查询:
"Show me all transactions above PKR 10,000 in the general ledger"
"Summarize the trial balance for 2024"
"Find all entries related to account 1200"语音查询
向WhatsApp号码发送包含您的问题的语音消息。系统将自动转录和处理您的音频查询。
文档上传
直接通过WhatsApp发送财务文件(Excel、PDF):
- 附上您的试算表或总账文件
- 添加说明文档类型的标题(可选)
- 系统将处理并索引文档以供查询
建筑
AuditFlow使用多层架构:
- 数据层:Supabase PostgreSQL存储结构化财务数据
- 矢量图层:编织索引文档嵌入以进行语义搜索
- 搜索层:结合关键字(BM25)、元数据和语义搜索的混合搜索
- MCP服务器:处理AI模型交互和上下文管理
- 集成层:n8n用于自动化流程的工作流
搜索功能
AuditFlow的混合搜索结合了三种方法:
- BM25搜索:传统的基于关键字的精确匹配搜索
- 语义搜索:概念相似性的向量嵌入
- 元数据筛选:按日期范围、金额、账户类型等过滤。
许可证
MIT许可证
版权所有(c)2025 AuditFlow
特此免费向任何获得副本的人授予许可 本软件和相关文档文件(“软件”),以处理 在软件中不受限制,包括但不限于权利 使用、复制、修改、合并、发布、分发、再许可和/或销售 软件的副本,并允许软件的接收者 根据以下条件提供:
上述版权声明和本许可声明应包含在所有 软件的副本或实质性部分。
软件按“原样”提供,不提供任何形式的明示或明示担保 隐含的,包括但不限于适销性保证, 适用于特定目的且不造成伤害。在任何情况下 作者或版权持有人对任何索赔、损害赔偿或其他 因以下原因产生的责任,无论是在合同、侵权或其他诉讼中, 出于或与软件、使用或其他交易有关 软件。
致谢
- 内置于 Supabase
- 由...驱动 Weaviate
- 自动化与 n8n
- 用途 SQLAlchemy
______________________________________________________________________
由以下材料制成❤️ 适用于各地的审计师
