跳转到主要内容

category

Coze loop采用微服务架构,基于领域驱动设计(DDD)原则构建,为AI应用程序开发和运营提供一站式平台。总体架构如下:

该结构可分为三个部分:

  • 平台:该平台为人工智能应用程序提供了一个完整的解决方案,包括各种模块和基础组件部署的服务。
  • SDK:目前提供的SDK可以通过修改其初始化参数与开源平台无缝集成。
  • LLM:配置令牌后,可以通过相应的模型调用使用主流大型模型。


编码结构

backend/
├── api/         # API interface definition and implementation
│   ├── handler/ # API handling
│   └── router/  # API routing
├── cmd/         # Application entry and service startup
├── modules/     # Core business modules
│   ├── data/         # Data set module
│   │    │── application/ # Application service layer
│   │    │── domain/      # Domain model layer
│   │    │── infra/       # Infrastructure layer
│   │    └── pkg/         # Public utility layer
│   ├── evaluation/   # Evaluation module
│   ├── foundation/   # Infrastructure module
│   ├── llm/          # LLM module
│   ├── observability/# Observability module
│   └── prompt/       # PE module
├── infra/      # Infrastructure layer
│   ├── db/     # Database
│   ├── mq/     # Message queue
│   ├── redis/  # Redis client
│   └── ck/     # ClickHouse client
└── pkg/        # General utility package and library

当前的后端服务由六个业务模块组成,每个模块的职责如下:

  • data:数据集模块:负责数据集的创建和管理。
  • 评估:评估模块:负责对提示等对象进行评估实验。
  • 可观察性:观察模块:负责可视化完整链接请求跟踪
  • Prompt:Prompt模块:负责快速开发/调试
  • LLM:LLM管理模块:负责管理/调用大型模型
  • 基础:基础架构模块:负责用户/权限管理等基本功能
     

每个业务模块遵循以下分层架构:

  • 应用程序:应用程序服务层,协调域对象以完成业务流程
  • 域:域模型层,定义核心业务实体和业务逻辑
  • 基础设施:基础设施层,提供技术实施和外部服务集成
  • Pkg:模块特定的通用包


基本组件


后端框架:

  • Hertz(Cloudwego高性能HTTP框架)
  • Kitex(Cloudwego高性能RPC框架)


数据存储:

  • MySQL:结构化数据存储
  • ClickHouse:高性能分析数据存储
  • Redis:缓存和临时数据
  • MinIO:对象存储
  • RocketMQ:消息队列


容器化:

  • Docker和Docker Compose
文章链接