一个用于构建模块化、开源生产级RAG(检索增强生成)应用的开源框架,基于LangChain/LlamaIndex构建,提供组织化代码库结构和生产级部署能力。
一分钟了解#
Cognita是一个专为生产环境设计的RAG框架,解决了从Jupyter Notebook原型转向生产环境时的关键挑战。它为开发者提供模块化、可扩展且易于扩展的RAG组件组织方式,同时提供无代码UI支持,让技术团队可以构建RAG系统,非技术人员也能通过界面使用。
核心价值:将实验性RAG代码转化为生产就绪、模块化、可扩展的企业级应用。
快速上手#
安装难度:中 - 需要Docker和Docker Compose,以及模型配置
# 克隆仓库并配置模型
git clone https://github.com/truefoundry/cognita.git
cd cognita
cp models_config.sample.yaml models_config.yaml
# 编辑compose.env设置API密钥
docker-compose --env-file compose.env up
适合我的场景吗?
- ✅ 生产环境RAG应用:需要组织化、模块化、可扩展的代码结构
- ✅ 团队协作:需要非技术人员通过UI使用RAG功能
- ❌ 快速原型验证:LangChain/LlamaIndex更适合简单实验
- ❌ 单用户研究:无需如此复杂的架构
核心能力#
1. 模块化RAG架构 - 解决代码混乱问题#
- 每个RAG组件都是独立的模块、API驱动且易于扩展 实际价值:团队可以清晰分离关注点,提高代码可维护性,便于测试和部署
2. 生产就绪部署环境 - 解决从原型到生产的差距#
- 包含完整的Docker Compose设置,一键启动整个系统 实际价值:减少部署复杂度,确保开发、测试和生产环境一致性
3. 无代码UI支持 - 降低使用门槛#
- 提供直观的Web界面,支持文档上传和QnA交互 实际价值:非技术用户也能使用RAG系统,无需编写代码
4. 增量索引 - 优化计算资源#
- 支持批量处理文档,跟踪已索引文档,避免重复处理 实际价值:减少计算负担,提高索引效率,适合大规模文档处理
5. 多模型支持 - 提供灵活选择#
- 支持OpenAI、Ollama等多种LLM和嵌入模型 实际价值:可根据需求选择合适模型,平衡性能和成本
技术栈与集成#
开发语言:Python 主要依赖:LangChain, LlamaIndex, FastAPI, Docker 集成方式:API驱动,支持自定义扩展
生态与扩展#
- 自定义组件:支持自定义数据加载器、解析器、嵌入器和向量数据库
- 插件系统:通过模块化设计实现轻松扩展和定制
- 集成能力:可与TrueFoundry AI Gateway集成,提供日志、指标和用户反馈机制
维护状态#
- 开发活跃度:持续更新,2024年每月都有新功能和改进
- 最近更新:2024年9月新增AudioParser和VideoParser支持
- 社区响应:TrueFoundry维护,定期添加新功能和优化
文档与学习资源#
- 文档质量:全面,包含详细架构说明和自定义指南
- 官方文档:https://github.com/truefoundry/cognita
- 示例代码:包含完整的示例控制器实现