Skip to content

《互联网软件开发技术与实践》课程个人项目仓库

Notifications You must be signed in to change notification settings

irroca/Internet_Software_Persional_Project

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

智能体管理平台 (AI Agent Platform)

一个基于 Vue 3 + Spring Boot + FastAPI 的全栈智能体管理平台,集成阿里云通义千问(Qwen)大模型 API,支持自定义智能体、对话管理和模型参数配置。

✨ 功能特性

  • 🤖 智能体管理 - 创建、编辑、删除自定义 AI 智能体
  • 💬 智能对话 - 与智能体进行实时对话,支持流式响应
  • ⚙️ 模型配置 - 自定义系统提示词、温度、最大 Token 等参数
  • 🔐 用户认证 - JWT Token 认证,安全的用户登录系统
  • 📱 响应式设计 - 适配桌面端和移动端

🛠️ 技术栈

前端 (front_end/)

技术 版本 说明
Vue.js 3.5 渐进式 JavaScript 框架
Vite 7.2 下一代前端构建工具
Element Plus 2.11 Vue 3 组件库
Tailwind CSS 4.1 原子化 CSS 框架
Pinia 3.0 Vue 状态管理
Vue Router 4.6 官方路由管理器
Axios 1.13 HTTP 客户端

后端 (back_end/)

技术 版本 说明
Spring Boot 4.0 Java 企业级框架
Java 17 编程语言
MyBatis 4.0 ORM 持久层框架
MySQL 8.0 关系型数据库
Lombok 1.18 Java 代码简化工具
JJWT 0.12 JWT Token 库

AI 服务 (ai_service/)

技术 版本 说明
Python 3.11+ 编程语言
FastAPI 0.115 高性能异步 Web 框架
OpenAI SDK 1.58 AI API 客户端
Pydantic 2.10 数据验证库
Uvicorn 0.34 ASGI 服务器

部署

技术 说明
Docker 容器化部署
Docker Compose 多容器编排
Nginx 前端静态资源服务

📁 项目结构

├── front_end/                # Vue 3 前端项目
│   ├── src/
│   │   ├── components/       # 公共组件
│   │   ├── views/            # 页面视图
│   │   ├── router/           # 路由配置
│   │   ├── data/             # API 接口
│   │   ├── stores/           # Pinia 状态管理
│   │   └── styles/           # 全局样式
│   └── package.json
│
├── back_end/                 # Spring Boot 后端项目
│   ├── src/main/java/com/example/demo/
│   │   ├── app/              # 智能体模块
│   │   ├── user/             # 用户模块
│   │   ├── common/           # 公共模块
│   │   └── config/           # 配置类
│   └── pom.xml
│
├── ai_service/               # Python FastAPI AI 服务
│   ├── main.py               # 主应用入口
│   ├── qwen_service.py       # Qwen API 服务
│   ├── auth.py               # JWT 认证
│   ├── database.py           # 数据库连接
│   ├── models.py             # 数据模型
│   └── requirements.txt
│
├── deploy/                   # Docker 部署配置
│   ├── docker-compose.yml    # 容器编排文件
│   ├── init-db/              # 数据库初始化脚本
│   ├── Dockerfile.backend    # 后端镜像
│   ├── Dockerfile.frontend   # 前端镜像
│   └── nginx.conf            # Nginx 配置
│
└── README.md

🚀 快速开始

环境要求

  • Node.js >= 20.19.0
  • Java 17+
  • Python 3.11+
  • Docker & Docker Compose
  • MySQL 8.0 (或使用 Docker)

方式一:Docker 一键部署(推荐)

  1. 克隆项目
git clone <repository-url>
cd Internet_PersonalPJ_New
  1. 配置环境变量

复制环境变量模板并填写实际值:

cd deploy
cp .env.example .env

编辑 .env 文件,配置你的 API Key 和数据库密码:

# 阿里云百炼 API Key (必填,从 https://bailian.console.aliyun.com 获取)
DASHSCOPE_API_KEY=your-api-key-here

# 数据库配置
MYSQL_ROOT_PASSWORD=your-root-password
MYSQL_PASSWORD=your-db-password

# JWT 密钥
JWT_SECRET=your-jwt-secret-key

⚠️ 安全提示.env 文件包含敏感信息,已被 .gitignore 忽略,不会提交到代码仓库。

  1. 启动所有服务
docker-compose up -d --build
  1. 访问应用

方式二:本地开发

1. 启动数据库

cd docker-mysql
docker-compose up -d

2. 启动后端服务

cd back_end
./mvnw spring-boot:run

3. 启动 AI 服务

cd ai_service
pip install -r requirements.txt
export DASHSCOPE_API_KEY="your-api-key"
python main.py

4. 启动前端

cd front_end
npm install
npm run dev

⚙️ 配置说明

环境变量

变量名 说明 默认值
DASHSCOPE_API_KEY 阿里云百炼 API Key (必填)
JWT_SECRET JWT 签名密钥 mySecretKey...
JWT_ALGORITHM JWT 算法 HS384
DB_HOST 数据库主机 mysql
DB_PORT 数据库端口 3306
DB_NAME 数据库名称 demo_db
DB_USER 数据库用户 demo_user
DB_PASSWORD 数据库密码 demo_pass_123

支持的 AI 模型

模型名称 说明
qwen-plus 通义千问 Plus (推荐)
qwen-turbo 通义千问 Turbo (快速)
qwen-max 通义千问 Max (最强)
qwen-long 通义千问 Long (长文本)

模型参数

参数 范围 说明
temperature 0-2 控制输出随机性,值越高越随机
max_tokens 1-8000 最大输出 Token 数
top_p 0-1 核采样参数
top_k 1-100 Top-K 采样参数

📡 API 接口

用户认证

方法 路径 说明
POST /api/register 用户注册
POST /api/login 用户登录

智能体管理

方法 路径 说明
GET /api/apps 获取智能体列表
POST /api/apps 创建智能体
PUT /api/apps/{id} 更新智能体
DELETE /api/apps/{id} 删除智能体

AI 聊天

方法 路径 说明
GET /api/ai/apps/{id}/config 获取智能体配置
PUT /api/ai/apps/{id}/config 更新智能体配置
POST /api/ai/chat 发送聊天消息
POST /api/ai/chat/stream 流式聊天 (SSE)
GET /api/ai/apps/{id}/sessions 获取会话列表

🔒 安全说明

  • JWT Token 采用 HS384 算法签名
  • 密码使用 BCrypt 加密存储
  • 所有 API 请求需携带 Authorization Header
  • CORS 已配置允许跨域请求

📝 开发说明

代码规范

  • 前端使用 ESLint + Prettier
  • 后端遵循阿里巴巴 Java 开发规范
  • Python 遵循 PEP 8 规范

提交规范

feat: 新功能
fix: 修复 Bug
docs: 文档更新
style: 代码格式
refactor: 重构
test: 测试
chore: 构建/工具

🐛 常见问题

Q: 登录后点击智能体跳转到登录页?

A: 检查 JWT 配置,确保前后端 JWT_SECRETJWT_ALGORITHM 一致。

Q: AI 服务返回 401 错误?

A: 检查 DASHSCOPE_API_KEY 是否正确配置。

Q: 数据库连接失败?

A: 确保 MySQL 服务已启动,检查数据库连接参数。

📄 License

MIT License

🤝 贡献

欢迎提交 Issue 和 Pull Request!


Made with ❤️ by Developer

About

《互联网软件开发技术与实践》课程个人项目仓库

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published