智能平台基座前置文档(核心技术入门)
一、文档核心目标
本指南承接“环境搭建”,聚焦智能平台基座核心技术的入门学习,帮助小白快速掌握各技术的基础概念、核心用法及实操技巧。核心目标:
-
理解Docker、MySQL、Redis等核心技术的入门核心概念;
-
掌握各技术支撑平台业务的关键基础操作;
-
完成简单实操任务,建立“技术-业务”的落地认知;
-
明确各技术的学习重点和资源方向,避开入门误区。
重要提示:入门阶段无需追求“精通”,重点掌握“基础概念+核心操作”,能完成与平台业务相关的简单任务即可。建议结合已搭建的环境实操,边学边练效率更高。
二、核心技术入门学习拆解(按学习优先级排序)
2.1 第一优先级:Docker与Docker Compose入门
2.1.1 技术定位
Docker是容器化部署的核心工具,负责将应用及依赖打包成独立容器;Docker Compose是Docker的辅助工具,实现多容器的统一管理,二者是平台环境搭建和运行的基础。
2.1.2 入门核心目标
-
理解容器、镜像、容器卷的基础概念;
-
掌握Docker核心命令(启动、停止、查看容器/镜像);
-
学会用Docker Compose管理多容器(启动、停止、配置文件基础解读)。
2.1.3 入门重点内容
-
核心概念解读:
-
镜像(Image):容器的“模板”,包含应用及运行所需的依赖(如MySQL镜像包含MySQL软件及基础配置);
-
容器(Container):镜像的“运行实例”,是独立的运行环境(如基于MySQL镜像创建的容器就是一个可运行的MySQL服务);
-
容器卷(Volume):用于数据持久化,将容器内的数据映射到主机,避免容器删除后数据丢失(如之前环境搭建中的mysql-data卷);
-
docker-compose.yml:配置文件,定义多个服务的镜像、端口、卷等信息,实现一键启动多容器。
-
-
必记核心命令:
-
镜像相关: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(查看服务日志)。
-
-
配置文件解读:
针对之前环境搭建的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 入门实操任务(必做)
-
查看本地已有的镜像:执行docker images,确认mysql:8.0、redis:7.2等镜像已存在;
-
手动启动/停止单个容器:执行docker stop smart-platform-mysql(停止MySQL容器),再执行docker start smart-platform-mysql(启动MySQL容器),用docker ps验证状态;
-
查看服务日志:执行docker-compose logs -f mysql(查看MySQL服务实时日志),观察是否有异常信息;
-
修改配置文件并重启:在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 入门重点内容
-
核心概念解读:
-
数据库(Database):数据的“仓库”,用于分类存储数据(如之前环境搭建中自动创建的smart_platform_db);
-
表(Table):数据库内的数据按“表”存储,表由行和列组成(如用户表user,包含id、username、password等列);
-
字段(Field):表的“列”,用于定义数据的类型(如id为整数型、username为字符串型);
-
SQL(结构化查询语言):用于操作数据库的语言(如查询数据、插入数据)。
-
-
基础操作步骤:
-
登录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表的字段信息)。
-
-
基础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 入门实操任务(必做)
-
登录MySQL,切换到smart_platform_db数据库;
-
创建user表(复制上述创建表的SQL语句执行);
-
插入2条测试用户数据,查询所有用户数据;
-
更新其中一条用户的密码,再查询验证;
-
删除一条测试用户数据,查看表结构确认数据已删除。
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 入门重点内容
-
核心概念解读:
-
内存存储:Redis数据存储在内存中,而非硬盘,因此读取速度远快于MySQL;
-
键值对(Key-Value):Redis数据以“键=值”的形式存储(如key为“user:1:name”,value为“test_user”);
-
数据类型:支持字符串(String)、哈希(Hash)、列表(List)等,入门重点掌握字符串类型。
-
-
基础操作步骤:
-
登录Redis:docker exec -it smart-platform-redis redis-cli;
-
退出Redis:输入exit,按回车;
-
测试连接:输入ping,返回“PONG”表示连接正常。
-
-
字符串类型核心命令:
-
存储数据: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 入门实操任务(必做)
-
登录Redis,执行ping命令验证连接正常;
-
存储一条AI回答数据,键名为“ai:answer:test”,值为“这是测试回答”;
-
读取上述存储的数据,确认能正常获取;
-
给该数据设置30秒过期时间,30秒后再次读取,确认数据已不存在;
-
删除一条自定义键的数据,用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 入门重点内容
-
核心概念解读:
-
模型拉取:从Ollama官方仓库下载AI模型(如Qwen-7B)到本地;
-
模型对话:通过命令行与本地AI模型交互,输入问题并获取回答;
-
模型服务:启动Ollama服务后,可通过API供其他程序(如Spring Boot)调用。
-
-
核心操作命令:
-
进入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 入门实操任务(必做)
-
进入Ollama容器,执行ollama list查看本地已有的模型;
-
若未拉取Qwen-7B模型,执行ollama pull qwen:7b(耐心等待,约4GB);
-
启动与Qwen-7B的对话,输入3个测试问题(如“什么是AI?”“1+1等于几?”“介绍一下自己”),查看回答结果;
-
输入/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 入门重点内容
-
前置准备:
-
安装JDK 17(推荐版本):下载地址https://www.oracle.com/java/technologies/downloads/#java17,配置环境变量(参考网上“JDK17环境变量配置”教程);
-
安装开发工具:IntelliJ IDEA(推荐,社区版免费)或Eclipse。
-
-
创建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,步骤同上)。
-
-
编写简单接口:
-
在项目的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”表示启动成功。
-
-
测试接口:
打开浏览器,输入地址:http://localhost:8080/api/ask?question=什么是Spring Boot,查看浏览器返回结果(应显示模拟回答)。
2.4.4 入门实操任务(必做)
-
安装JDK 17并配置环境变量,验证:打开CMD/终端,输入java -version,显示JDK 17版本信息;
-
创建Spring Boot项目,添加Spring Web依赖;
-
编写TestController类,实现上述接口;
-
启动项目,用浏览器测试接口,确认能正常返回模拟回答;
-
修改接口代码,让返回结果包含当前时间(可参考网上“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 后续学习规划
-
深入学习Spring Boot:连接MySQL/Redis、整合Spring AI调用Ollama;
-
学习前端技术:Vue3+Element Plus入门,实现简单交互页面;
-
学习Milvus向量数据库入门:实现文本向量化和相似性检索;
-
结合平台业务:实现“用户提问→后端处理→调用AI→返回回答”的完整简单流程。
707

被折叠的 条评论
为什么被折叠?



