基于SpringAI的智能平台基座开发-(三)

智能平台基座前置文档(核心技术入门)

一、文档核心目标

本指南承接“环境搭建”,聚焦智能平台基座核心技术的入门学习,帮助小白快速掌握各技术的基础概念、核心用法及实操技巧。核心目标:

  • 理解Docker、MySQL、Redis等核心技术的入门核心概念;

  • 掌握各技术支撑平台业务的关键基础操作;

  • 完成简单实操任务,建立“技术-业务”的落地认知;

  • 明确各技术的学习重点和资源方向,避开入门误区。

重要提示:入门阶段无需追求“精通”,重点掌握“基础概念+核心操作”,能完成与平台业务相关的简单任务即可。建议结合已搭建的环境实操,边学边练效率更高。

二、核心技术入门学习拆解(按学习优先级排序)

2.1 第一优先级:Docker与Docker Compose入门

2.1.1 技术定位

Docker是容器化部署的核心工具,负责将应用及依赖打包成独立容器;Docker Compose是Docker的辅助工具,实现多容器的统一管理,二者是平台环境搭建和运行的基础。

2.1.2 入门核心目标

  • 理解容器、镜像、容器卷的基础概念;

  • 掌握Docker核心命令(启动、停止、查看容器/镜像);

  • 学会用Docker Compose管理多容器(启动、停止、配置文件基础解读)。

2.1.3 入门重点内容

  1. 核心概念解读

    • 镜像(Image):容器的“模板”,包含应用及运行所需的依赖(如MySQL镜像包含MySQL软件及基础配置);

    • 容器(Container):镜像的“运行实例”,是独立的运行环境(如基于MySQL镜像创建的容器就是一个可运行的MySQL服务);

    • 容器卷(Volume):用于数据持久化,将容器内的数据映射到主机,避免容器删除后数据丢失(如之前环境搭建中的mysql-data卷);

    • docker-compose.yml:配置文件,定义多个服务的镜像、端口、卷等信息,实现一键启动多容器。

  2. 必记核心命令

    • 镜像相关:docker images(查看本地镜像)、docker pull 镜像名:版本(拉取镜像,如docker pull mysql:8.0);

    • 容器相关:docker ps(查看运行中容器)、docker ps -a(查看所有容器)、docker start/stop 容器名/ID(启动/停止容器)、docker rm 容器名/ID(删除容器);

    • Docker Compose相关:docker-compose up -d(后台启动配置文件中的所有服务)、docker-compose down(停止并删除服务及容器)、docker-compose logs(查看服务日志)。

  3. 配置文件解读
    针对之前环境搭建的docker-compose.yml,重点理解3个核心配置项:

    • image:指定服务使用的镜像及版本(如mysql:8.0);

    • ports:端口映射,格式“主机端口:容器端口”(如3306:3306,外部通过主机3306端口访问容器内的MySQL服务);

    • volumes:容器卷映射,格式“卷名:容器内路径”(如mysql-data:/var/lib/mysql,将MySQL数据存储到主机的mysql-data卷中)。

2.1.4 入门实操任务(必做)

  1. 查看本地已有的镜像:执行docker images,确认mysql:8.0、redis:7.2等镜像已存在;

  2. 手动启动/停止单个容器:执行docker stop smart-platform-mysql(停止MySQL容器),再执行docker start smart-platform-mysql(启动MySQL容器),用docker ps验证状态;

  3. 查看服务日志:执行docker-compose logs -f mysql(查看MySQL服务实时日志),观察是否有异常信息;

  4. 修改配置文件并重启:在docker-compose.yml中,将MySQL的主机端口改为3307:3306,执行docker-compose down,再执行docker-compose up -d,用docker ps查看端口是否更新。

2.1.5 学习资源与常见问题

  • 推荐资源:Docker官方入门文档(https://docs.docker.com/get-started/)、B站“Docker入门到实战”前8集;

  • 常见问题:

    • 问题1:执行docker-compose命令提示“文件不存在”?解决:确保命令在docker-compose.yml所在的smart-platform-env文件夹下执行;

    • 问题2:删除容器后数据丢失?解决:确认配置了容器卷,数据存储在卷中,删除容器不影响卷数据。

2.2 第二优先级:MySQL入门(关系型数据库)

2.2.1 技术定位

MySQL是关系型数据库,用于存储平台的结构化数据(如用户信息、权限配置、系统参数等),是平台基础数据的核心存储载体。

2.2.2 入门核心目标

  • 理解数据库、表、字段、SQL的基础概念;

  • 掌握MySQL登录/退出、数据库/表的创建与删除;

  • 学会基础的增删改查(CRUD)SQL语句。

2.2.3 入门重点内容

  1. 核心概念解读

    • 数据库(Database):数据的“仓库”,用于分类存储数据(如之前环境搭建中自动创建的smart_platform_db);

    • 表(Table):数据库内的数据按“表”存储,表由行和列组成(如用户表user,包含id、username、password等列);

    • 字段(Field):表的“列”,用于定义数据的类型(如id为整数型、username为字符串型);

    • SQL(结构化查询语言):用于操作数据库的语言(如查询数据、插入数据)。

  2. 基础操作步骤

    • 登录MySQL:docker exec -it smart-platform-mysql mysql -u root -p,输入密码root123456;

    • 退出MySQL:输入exit,按回车;

    • 查看数据库:show databases;(注意末尾加分号,SQL语句结束标志);

    • 使用数据库:use smart_platform_db;(切换到smart_platform_db数据库);

    • 创建表:以创建用户表为例:

    CREATE TABLE user (

    id INT PRIMARY KEY AUTO_INCREMENT, – 主键,自动递增

    username VARCHAR(50) NOT NULL, – 用户名,非空

    password VARCHAR(50) NOT NULL, – 密码,非空

    create_time DATETIME DEFAULT NOW() – 创建时间,默认当前时间

    );

    • 查看表结构:desc user;(查看user表的字段信息)。
  3. 基础CRUD语句

    • 增(插入数据):INSERT INTO user (username, password) VALUES (‘test_user’, ‘123456’);(插入一条测试用户数据);

    • 查(查询数据):SELECT * FROM user;(查询user表所有数据)、SELECT username FROM user WHERE id=1;(查询id=1的用户名);

    • 改(更新数据):UPDATE user SET password=‘654321’ WHERE username=‘test_user’;(修改test_user的密码);

    • 删(删除数据):DELETE FROM user WHERE username=‘test_user’;(删除test_user数据)。

2.2.4 入门实操任务(必做)

  1. 登录MySQL,切换到smart_platform_db数据库;

  2. 创建user表(复制上述创建表的SQL语句执行);

  3. 插入2条测试用户数据,查询所有用户数据;

  4. 更新其中一条用户的密码,再查询验证;

  5. 删除一条测试用户数据,查看表结构确认数据已删除。

2.2.5 学习资源与常见问题

  • 推荐资源:W3School MySQL教程(https://www.w3school.com.cn/mysql/)、B站“MySQL零基础入门”前15集;

  • 常见问题:

    • 问题1:执行SQL语句提示“You have an error in your SQL syntax”?解决:检查SQL语句语法,确保末尾加分号,字段名/表名不包含特殊字符;

    • 问题2:插入数据提示“Duplicate entry”?解决:主键(如id)不可重复,确认插入的数据主键未存在。

2.3 第三优先级:Redis入门(缓存数据库)

2.3.1 技术定位

Redis是内存缓存数据库,读取速度极快,用于存储平台中需要频繁访问的数据(如AI回答结果、用户会话信息),核心作用是提高平台响应速度。

2.3.2 入门核心目标

  • 理解Redis的核心优势(高速读取、支持多种数据类型);

  • 掌握Redis登录/退出及基础数据操作命令;

  • 学会缓存数据的存储、读取与删除。

2.3.3 入门重点内容

  1. 核心概念解读

    • 内存存储:Redis数据存储在内存中,而非硬盘,因此读取速度远快于MySQL;

    • 键值对(Key-Value):Redis数据以“键=值”的形式存储(如key为“user:1:name”,value为“test_user”);

    • 数据类型:支持字符串(String)、哈希(Hash)、列表(List)等,入门重点掌握字符串类型。

  2. 基础操作步骤

    • 登录Redis:docker exec -it smart-platform-redis redis-cli;

    • 退出Redis:输入exit,按回车;

    • 测试连接:输入ping,返回“PONG”表示连接正常。

  3. 字符串类型核心命令

    • 存储数据:SET 键 值(如SET ai:answer:1 “你好!有什么可以帮到你?”,存储AI回答结果,键名可自定义);

    • 读取数据:GET 键(如GET ai:answer:1,获取键为ai:answer:1的数据);

    • 设置过期时间:SET 键 值 EX 秒数(如SET ai:answer:1 “你好” EX 3600,数据1小时后过期自动删除);

    • 查看键是否存在:EXISTS 键(返回1表示存在,0表示不存在);

    • 删除数据:DEL 键(如DEL ai:answer:1,删除指定键的数据);

    • 查看所有键:KEYS *(查看当前Redis中的所有键)。

2.3.4 入门实操任务(必做)

  1. 登录Redis,执行ping命令验证连接正常;

  2. 存储一条AI回答数据,键名为“ai:answer:test”,值为“这是测试回答”;

  3. 读取上述存储的数据,确认能正常获取;

  4. 给该数据设置30秒过期时间,30秒后再次读取,确认数据已不存在;

  5. 删除一条自定义键的数据,用EXISTS命令验证已删除。

2.3.5 学习资源与常见问题

  • 推荐资源:Redis官方入门指南(https://redis.io/docs/getting-started/)、B站“Redis零基础入门”前10集;

  • 常见问题:

    • 问题1:执行KEYS * 无结果?解决:确认已存储数据,或键名输入错误;

    • 问题2:数据存储后重启Redis丢失?解决:检查环境搭建时是否配置了容器卷(redis-data),配置卷后数据可持久化。

2.4 第四优先级:Ollama入门(本地AI模型)

2.4.1 技术定位

Ollama是本地大模型部署工具,能简化开源AI模型(如Qwen-7B)的安装和运行,是平台“本地AI调用”能力的核心载体,保障数据隐私。

2.4.2 入门核心目标

  • 理解Ollama的核心作用(本地部署AI模型);

  • 掌握Ollama模型的拉取、启动与对话;

  • 学会基础的模型管理命令。

2.4.3 入门重点内容

  1. 核心概念解读

    • 模型拉取:从Ollama官方仓库下载AI模型(如Qwen-7B)到本地;

    • 模型对话:通过命令行与本地AI模型交互,输入问题并获取回答;

    • 模型服务:启动Ollama服务后,可通过API供其他程序(如Spring Boot)调用。

  2. 核心操作命令

    • 进入Ollama容器:docker exec -it smart-platform-ollama /bin/bash;

    • 拉取模型:ollama pull 模型名:版本(如ollama pull qwen:7b,拉取通义千问7B模型);

    • 启动对话:ollama run 模型名:版本(如ollama run qwen:7b,进入与Qwen-7B的对话模式);

    • 退出对话:输入/bye,按回车;

    • 查看本地模型:ollama list(查看已拉取的所有本地模型);

    • 删除模型:ollama rm 模型名:版本(如ollama rm qwen:7b)。

2.4.4 入门实操任务(必做)

  1. 进入Ollama容器,执行ollama list查看本地已有的模型;

  2. 若未拉取Qwen-7B模型,执行ollama pull qwen:7b(耐心等待,约4GB);

  3. 启动与Qwen-7B的对话,输入3个测试问题(如“什么是AI?”“1+1等于几?”“介绍一下自己”),查看回答结果;

  4. 输入/bye退出对话模式,执行ollama list确认模型仍存在。

2.4.5 学习资源与常见问题

  • 推荐资源:Ollama官方文档(https://ollama.com/docs)、Ollama中文社区入门指南;

  • 常见问题:

    • 问题1:拉取模型缓慢或失败?解决:配置Docker国内镜像源(参考环境搭建文档),或更换稳定网络;

    • 问题2:对话时模型响应慢?解决:本地AI模型运行依赖电脑配置,配置较低时响应会较慢,属正常现象。

2.5 第五优先级:Spring Boot入门(后端核心框架)

2.5.1 技术定位

Spring Boot是Java后端开发框架,简化后端应用的创建与配置,是平台业务逻辑(如接收用户请求、调用AI模型、操作数据库)的核心实现载体。

2.5.2 入门核心目标

  • 理解Spring Boot的核心优势(简化配置、快速开发);

  • 掌握Spring Boot项目的创建与启动;

  • 学会编写简单的接口(API),实现前后端数据交互。

2.5.3 入门重点内容

  1. 前置准备

    • 安装JDK 17(推荐版本):下载地址https://www.oracle.com/java/technologies/downloads/#java17,配置环境变量(参考网上“JDK17环境变量配置”教程);

    • 安装开发工具:IntelliJ IDEA(推荐,社区版免费)或Eclipse。

  2. 创建Spring Boot项目

    • 方式1:通过Spring Initializr创建(https://start.spring.io/):

    • 选择项目类型:Maven Project;

    • 选择语言:Java;

    • 填写Group(如com.smartplatform)、Artifact(如smart-platform-demo);

    • 选择Spring Boot版本:3.2.x;

    • 添加依赖:Spring Web(用于开发Web接口);

    • 点击Generate下载项目压缩包,解压后用IDEA打开。

    • 方式2:通过IDEA直接创建(新建项目→Spring Initializr,步骤同上)。

  3. 编写简单接口

    • 在项目的src/main/java/com/smartplatform/smartplatformdemo目录下,创建controller包;

    • 在controller包下创建TestController类,代码如下:

    package com.smartplatform.smartplatformdemo.controller;

    import org.springframework.web.bind.annotation.GetMapping;

    import org.springframework.web.bind.annotation.RequestParam;

    import org.springframework.web.bind.annotation.RestController;

    @RestController

    public class TestController {

     // 编写GET请求接口,接收用户提问参数,返回模拟回答
             
     @GetMapping("/api/ask")
             
     public String ask(@RequestParam String question) {
             
         return "模拟回答:你问的是【" + question + "】,这是Spring Boot接口返回的测试数据";
             
     }
    

    }

    • 启动项目:运行项目主类(SmartPlatformDemoApplication)的main方法,控制台显示“Started SmartPlatformDemoApplication in xxx seconds”表示启动成功。
  4. 测试接口
    打开浏览器,输入地址:http://localhost:8080/api/ask?question=什么是Spring Boot,查看浏览器返回结果(应显示模拟回答)。

2.4.4 入门实操任务(必做)

  1. 安装JDK 17并配置环境变量,验证:打开CMD/终端,输入java -version,显示JDK 17版本信息;

  2. 创建Spring Boot项目,添加Spring Web依赖;

  3. 编写TestController类,实现上述接口;

  4. 启动项目,用浏览器测试接口,确认能正常返回模拟回答;

  5. 修改接口代码,让返回结果包含当前时间(可参考网上“Java获取当前时间”方法),重新启动测试。

2.4.5 学习资源与常见问题

  • 推荐资源:Spring官方快速入门文档(https://spring.io/quickstart)、B站“Spring Boot零基础入门到实战”前20集;

  • 常见问题:

    • 问题1:启动项目提示“端口被占用”?解决:修改application.properties文件,添加server.port=8081(更换端口);

    • 问题2:浏览器访问接口提示“404”?解决:检查接口路径是否正确(如/api/ask是否拼写错误)、项目是否正常启动。

三、入门学习总结与后续规划

3.1 学习总结

本指南覆盖了平台核心技术的入门内容,按“Docker→MySQL→Redis→Ollama→Spring Boot”的优先级学习,可快速建立后端技术栈的基础认知。核心要点:

  • Docker是环境基础,负责容器化部署和管理;

  • MySQL存储结构化数据,Redis缓存高频访问数据;

  • Ollama实现本地AI模型部署,Spring Boot实现业务逻辑和接口开发。

3.2 后续学习规划

  1. 深入学习Spring Boot:连接MySQL/Redis、整合Spring AI调用Ollama;

  2. 学习前端技术:Vue3+Element Plus入门,实现简单交互页面;

  3. 学习Milvus向量数据库入门:实现文本向量化和相似性检索;

  4. 结合平台业务:实现“用户提问→后端处理→调用AI→返回回答”的完整简单流程。

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Coder_Boy_

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值