一个功能强大的基于AI的智能体管理平台,提供完整的应用管理、工作流编排、智能体配置、知识库管理和RAG(检索增强生成)能力,支持多模型集成和自定义工具扩展。
-
智能体管理
- 创建、编辑和删除智能体
- 配置智能体的基础信息、提示词模板和参数
- 支持多种决策策略(React、PlanAndExecute、ZeroShotReact等)
-
工具管理
- 集成和管理多种工具(API、函数、插件等)
- 工具测试和调试功能
- 支持工具权限控制
-
知识库管理
- 文档上传和解析
- 知识库分类和检索
- 向量索引管理
-
模型配置
- 多模型支持(OpenAI、LangChain等)
- 模型参数配置
- API密钥管理
-
工作流编排
- 可视化工作流设计
- 节点配置和连接
- 工作流执行和监控
-
应用管理
- 创建和管理AI应用
- 应用发布和部署
- 应用权限控制
-
长短上下文处理
- 支持超长文档的分段处理
- 上下文窗口自动扩展
- 关键信息提取和摘要生成
-
重排模型
- 检索结果智能排序
- 基于相关性和重要性的重排算法
- 支持自定义重排策略
-
RAG实现
- 基于向量数据库的检索增强生成
- 多轮对话上下文管理
- 动态检索和信息融合
-
多模态支持
- 文本、图像等多模态输入处理
- 多模态输出生成
- Spring Boot - 核心框架
- Spring Security - 安全认证
- JWT - 身份验证
- MyBatis Plus - ORM框架
- LangChain4j - AI应用开发框架
- Chroma/Milvus/Pinecone/Weaviate - 向量数据库支持
- Maven - 依赖管理
- Vue.js 3 - 前端框架
- Vite - 构建工具
- Vue Router - 路由管理
- Axios - HTTP客户端
easy-ai-agent/
├── backend/ # 后端服务代码
│ ├── src/ # 源代码目录
│ │ ├── main/java/com/wgh/easyai/ # 主代码包
│ │ │ ├── app/ # 应用管理
│ │ │ ├── config/ # 配置类
│ │ │ ├── controller/ # API控制器
│ │ │ ├── mapper/ # 数据库映射
│ │ │ ├── model/ # 数据模型
│ │ │ ├── service/ # 业务逻辑
│ │ │ ├── strategy/ # 策略模式实现
│ │ │ │ ├── decision/ # 决策策略
│ │ │ │ └── embedding/ # 嵌入存储策略
│ │ │ └── utils/ # 工具类
│ │ └── resources/ # 资源文件
│ └── pom.xml # Maven配置
├── frontend/ # 前端界面代码
│ ├── src/ # 源代码目录
│ │ ├── App.vue # 根组件
│ │ ├── main.js # 入口文件
│ │ ├── router/ # 路由配置
│ │ ├── utils/ # 工具函数
│ │ └── views/ # 页面组件
│ ├── index.html # HTML模板
│ ├── package.json # npm配置
│ └── vite.config.js # Vite配置
├── dev/ # 开发相关资源
│ └── langchain4j/ # LangChain4j开发资源
└── README.md # 项目说明文档
系统采用分层上下文管理机制:
- 短期上下文:当前对话轮次的直接上下文
- 中期上下文:最近几轮的关键信息摘要
- 长期上下文:通过向量检索获取的相关历史信息
实现方式:
- 使用滑动窗口技术管理对话上下文
- 自动提取关键信息生成摘要
- 基于相关性动态扩展上下文范围
系统集成了多阶段检索与重排机制:
- 第一阶段:基于向量相似度的初步检索
- 第二阶段:基于语义相关性的重排
- 第三阶段:基于用户历史和上下文的个性化排序
支持的重排策略:
- BM25算法
- 基于学习的重排模型
- 自定义重排规则
系统支持多种向量数据库:
- Chroma:轻量级本地向量数据库
- Milvus:分布式向量数据库
- Pinecone:云向量数据库
- Weaviate:知识图谱增强的向量数据库
RAG实现流程:
- 文档上传并解析为文本片段
- 文本片段通过嵌入模型转换为向量
- 向量存储到配置的向量数据库
- 用户查询时,生成查询向量
- 在向量数据库中检索相关文档片段
- 将检索结果与查询一起发送给LLM生成响应
- JDK 17+:后端运行环境
- Node.js 16+:前端运行环境
- Maven 3.6+:后端构建工具
cd backend
mvn spring-boot:run后端服务默认运行在 http://localhost:8080/api
cd frontend
# 安装依赖
npm install
# 启动开发服务器
npm run dev前端服务默认运行在 http://localhost:3000
在浏览器中打开 http://localhost:3000 即可访问Easy AI Agent平台
- 在
backend/src/main/java/com/wgh/easyai/strategy/embedding/目录下创建新的策略类 - 实现
EmbeddingStoreStrategy接口 - 在
EmbeddingStoreStrategyFactory中注册新策略
示例:
public class CustomEmbeddingStoreStrategy implements EmbeddingStoreStrategy {
// 实现接口方法
}- 在
backend/src/main/java/com/wgh/easyai/strategy/decision/目录下创建新的策略类 - 实现
DecisionStrategy接口 - 在
StrategyManager中注册新策略
示例:
public class CustomDecisionStrategy implements DecisionStrategy {
// 实现接口方法
}- 在
backend/src/main/java/com/wgh/easyai/service/tool/impl/目录下创建新的工具实现类 - 实现相应的工具接口
- 在工具管理界面配置新工具
- 遵循Java编码规范
- 使用Spring Boot最佳实践
- 前端遵循Vue.js编码规范
- 使用Spring Boot DevTools进行热部署
- 前端使用Vite的热更新功能
- 开启详细日志查看系统运行状态
- 应用创建与管理
- 工作流编排的完整实现
- 工作流自定义提示词
- 智能体自定义提示词
- 工具测试功能
- MCP工具介入 7、多agent共用及独立上下文功能
- 首页统计数据展示
- 智能体管理
- 工具管理
- 知识库管理
- 模型配置
- 长短上下文处理
- 重排模型
- 多向量数据库支持
- RAG基础实现
欢迎提交Issue和Pull Request!
- Fork项目
- 创建特性分支
- 提交代码
- 推送到分支
- 提交Pull Request