project_structure.md
October 31, 2025 · View on GitHub
Project Structure
achatbot 的结构主要分为5个各部分,其中一个components是公用组件(包括一些多模态音频图片处理工具,配置,日志等组件),其他4个分层设计,而且通过接口隔离进行解耦这4个分别是:
- cmd 命令程序启动不同的任务场景的chatbot,结合bot config 进行命令程序的启动,包括:
- 服务交互的API, 通过http请求或者websocket消息来启对应任务bot, bot通过websocket/webrtc协议来通信交互多模态信息(文本、语音、图片);
- 通过pipeline processor 使用不同传输协议组装而成的任务bot, pipeline的组装定义,以及processor中的模型引擎都可以有config来控制;
- processors 主要是处理不同类型frame: StartFrame 初始启动,调用modules层和core/llm层对多模态frame进行处理(主要是 TextFrame/AudioRawFrame/ImageRawFrame 这类多模态frame);也会调用三方开源/闭源多模态模型API服务;
- modules 主要分为4个模块 多模态处理模块(文本,音频,图片) 以及 工具函数模块 (用于agent 启动时注册工具, 运行时 llm调用,执行工具)
- core/llm 核心模块,主要是对接开源多模态模型,比如端到端audio模型,全模态omni模型;都是自回归(AR)模型;并使用开源的推理引擎进行推理加速