# AI 接口集成开放平台 **Repository Path**: ssy117147/AI-API-Integrated-Open-Platform ## Basic Information - **Project Name**: AI 接口集成开放平台 - **Description**: 一个提供多种AI接口集成与开放的平台,支持快速接入和调用AI服务,助力开发者高效构建智能应用。 - **Primary Language**: Java - **License**: BSD-3-Clause - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-04-06 - **Last Updated**: 2026-04-06 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # AI 接口集成开放平台 一个功能完整的 AI 接口集成开放平台,支持多 AI 模型统一调用,采用策略模式 + 工厂模式实现,前端界面仿照 OpenAI 风格。 ## 技术栈 ### 后端 - Spring Boot 3.2.0 - MyBatis-Plus 3.5.5 - MySQL 8.0 - Redis - JWT 认证 - Knife4j (Swagger) ### 前端 - Vue 3 - Vite - Element Plus - Pinia - Axios - Marked (Markdown 渲染) ## 项目结构 ``` AI API Integrated Open Platform/ ├── backend/ # 后端项目 │ ├── pom.xml # Maven 配置 │ └── src/main/ │ ├── java/com/aiplatform/ │ │ ├── AiPlatformApplication.java # 启动类 │ │ ├── config/ # 配置类 │ │ ├── common/ # 公共模块 │ │ ├── controller/ # 控制器 │ │ ├── dto/ # 数据传输对象 │ │ ├── entity/ # 实体类 │ │ ├── mapper/ # MyBatis Mapper │ │ ├── service/ # 服务层 │ │ │ ├── impl/ # 服务实现 │ │ │ └── strategy/ # AI 模型策略 │ │ └── utils/ # 工具类 │ └── resources/ │ ├── application.yml # 配置文件 │ └── mapper/ # XML 映射文件 ├── frontend/ # 前端项目 │ ├── package.json │ ├── vite.config.js │ ├── index.html │ └── src/ │ ├── main.js │ ├── App.vue │ ├── api/ # API 接口 │ ├── assets/ # 静态资源 │ ├── router/ # 路由配置 │ ├── stores/ # Pinia 状态管理 │ ├── utils/ # 工具类 │ └── views/ # 页面组件 │ ├── auth/ # 登录注册 │ ├── chat/ # 聊天页面 │ └── profile/ # 个人中心 └── sql/ └── init.sql # 数据库初始化脚本 ``` ## 快速开始 ### 环境要求 - JDK 17+ - Node.js 18+ - MySQL 8.0+ - Redis ### 1. 数据库初始化 ```bash # 创建数据库并导入初始数据 mysql -u root -p < sql/init.sql ``` ### 2. 后端启动 ```bash cd backend # 修改配置文件 src/main/resources/application.yml # 配置数据库连接和 Redis 连接 # 编译打包 mvn clean package -DskipTests # 运行 java -jar target/ai-platform-1.0.0.jar # 或者直接运行 mvn spring-boot:run ``` 后端启动成功后访问: - API 文档:http://localhost:8080/api/doc.html ### 3. 前端启动 ```bash cd frontend # 安装依赖 npm install # 开发模式运行 npm run dev # 生产构建 npm run build ``` 前端启动成功后访问:http://localhost:3000 ## 配置说明 ### 后端配置 (application.yml) ```yaml spring: datasource: url: jdbc:mysql://localhost:3306/ai_platform username: root password: root data: redis: host: localhost port: 6379 ai: providers: openai: api-key: # 填写您的 OpenAI API Key base-url: https://api.openai.com/v1 doubao: api-key: # 填写您的豆包 API Key base-url: https://ark.cn-beijing.volces.com/api/v3 qwen: api-key: # 填写您的通义千问 API Key base-url: https://dashscope.aliyuncs.com/api/v1 wenxin: api-key: # 填写您的文心一言 API Key secret-key: # 填写您的文心一言 Secret Key base-url: https://aip.baidubce.com ``` ### 前端配置 (vite.config.js) ```javascript server: { port: 3000, proxy: { '/api': { target: 'http://localhost:8080', changeOrigin: true } } } ``` ## 功能特性 ### 用户模块 - 用户注册、登录 - JWT Token 认证 - 个人信息管理 - API 密钥自动生成与管理 ### AI 对话核心 - 多 AI 模型统一调用(OpenAI、豆包、通义千问、文心一言) - 策略模式 + 工厂模式实现模型切换 - SSE 流式响应 - 打字机效果展示 ### 对话管理 - 新建对话 - 历史会话列表 - 会话重命名、删除 - 历史消息加载 ### 安全控制 - JWT 认证 - Redis 限流 - 统一异常处理 - 接口权限校验 ## API 接口 ### 认证接口 - `POST /api/auth/register` - 用户注册 - `POST /api/auth/login` - 用户登录 - `GET /api/auth/info` - 获取当前用户信息 ### 对话接口 - `POST /api/chat/stream` - 流式对话 (SSE) - `POST /api/chat/completions` - 普通对话 - `GET /api/chat/models` - 获取可用模型列表 ### 会话接口 - `POST /api/session/create` - 创建会话 - `GET /api/session/list` - 获取会话列表 - `GET /api/session/{sessionId}` - 获取会话详情 - `PUT /api/session/{sessionId}/title` - 重命名会话 - `DELETE /api/session/{sessionId}` - 删除会话 - `GET /api/session/{sessionId}/messages` - 获取会话消息 ### 用户接口 - `GET /api/user/info` - 获取用户信息 - `PUT /api/user/profile` - 更新用户信息 - `POST /api/user/regenerate-keys` - 重新生成 API 密钥 ## 默认账号 系统初始化时会创建管理员账号: - 用户名:admin - 密码:admin123 ## 注意事项 1. 所有 AI 平台的 API Key 需要自行申请并配置 2. 生产环境请修改 JWT 密钥 3. 建议配置 HTTPS 4. Redis 用于 Token 存储和限流 ## 开发计划 - [ ] 支持更多 AI 模型 - [ ] 添加对话导出功能 - [ ] 添加 API 调用统计 - [ ] 支持图片生成 - [ ] 支持语音对话 ## 许可证 MIT License