❤️ 如果你也关注 AI 的发展现状,且对 AI 应用开发非常感兴趣,我会每日跟你分享最新的 AI 资讯和开源应用,也会不定期分享自己的想法和开源实例,欢迎关注我哦!
🥦 微信公众号|搜一搜:蚝油菜花 🥦
🚀 快速阅读
- 模块化架构:Cognita 提供模块化的 RAG 组件,每个组件都通过 API 驱动,易于扩展和集成。
- 生产环境支持:支持本地快速测试和生产级部署,提供无代码 UI,非技术用户也能轻松使用。
- 增量索引:默认支持增量索引,减少文档更新时的计算负担,提升系统效率。
正文(附运行示例)
Cognita 是什么
Cognita 是一个开源的模块化 RAG(Retrieval Augmented Generation)框架,旨在帮助开发者构建模块化、易于扩展和部署的生产级应用程序。Cognita 基于 Langchain 和 LlamaIndex 技术,提供了代码组织结构,使得每个组件都能通过 API 驱动,易于管理和扩展。
Cognita 支持本地部署,提供生产就绪环境及无代码 UI 支持,默认支持增量索引功能。基于 Cognita,用户可以轻松地测试和部署 RAG 系统,支持非技术用户通过 UI 与系统交互。
Cognita 的主要功能
- 模块化和API驱动的架构:Cognita 的每个组件都是模块化的,能够通过 API 进行交互,便于集成和扩展。
- 本地和生产环境支持:支持在本地环境快速设置和测试,提供生产级别的部署选项。
- 无代码UI:提供一个用户界面,支持非技术用户上传文档和执行问答,无需编写代码。
- 增量索引:支持增量索引,有效地处理文档更新,减少计算负担。
- 多文档检索器支持:支持多种文档检索技术,如相似性搜索、查询分解和文档重排。
Cognita 的技术原理
- 数据索引:基于索引作业,定期扫描数据源中的文件,将其解析成小块,使用嵌入模型生成嵌入向量,存储在向量数据库中。
- 查询服务:使用 API 服务器(如 FastAPI)处理查询,生成答案。涉及使用 AI 网关处理用户查询,与向量数据库交互检索相关信息,最终使用 LLM 生成答案。
- LLM/嵌入模型部署:将 LLM 和嵌入模型作为单独的服务部署,基于 API 进行调用。
- 向量数据库部署:支持在生产环境中部署向量数据库,支持大规模和可靠的数据存储和检索。
- RAG组件:将 RAG 系统分解为多个组件,包括数据源、元数据存储、LLM 网关、向量数据库、索引作业和 API 服务器,每个组件都能通过 UI 或 API 进行配置和管理。
如何运行 Cognita
1. 使用 Docker Compose 运行 Cognita(推荐)
Cognita 及其所有服务都可以通过 Docker Compose 运行。这是推荐的本地运行方式。首先,安装 Docker 和 Docker Compose。
docker-compose --env-file compose.env up
2. 配置模型提供者
在启动服务之前,需要配置模型提供者以进行嵌入和生成答案。复制 models_config.sample.yaml
到 models_config.yaml
,并根据需要修改配置。
cp models_config.sample.yaml models_config.yaml
3. 启动服务
启动服务后,可以通过以下 URL 访问各个服务:
- Qdrant 服务器:
http://localhost:6333
- 后端服务器:
http://localhost:8000
- 前端界面:
http://localhost:5001
资源
❤️ 如果你也关注 AI 的发展现状,且对 AI 应用开发非常感兴趣,我会每日跟你分享最新的 AI 资讯和开源应用,也会不定期分享自己的想法和开源实例,欢迎关注我哦!
🥦 微信公众号|搜一搜:蚝油菜花 🥦