🚀 大模型理论与实战速通指南:从原理到开发全面入门
本文面向想要快速入门大语言模型(LLM)理论与开发实战的技术从业者,特别适合AI初学者、Java全栈开发者及希望结合Spring生态开发AI应用的工程师。
📚 第一部分:大语言模型理论速通入门
1.1 AI理论与发展方向概览
- 什么是人工智能,AI三大分支:符号主义、连接主义、行为主义
- 当前主流研究与工程化方向:LLM、RAG、AGI、Agent等
1.2 大语言模型(LLM)到底能做什么?
- 智能对话 / 辅助编程 / 知识问答 / 多模态生成
- 企业级应用场景案例(客服、营销、代码生成等)
1.3 LLM核心技术架构解析
- 架构组成:Embedding层、Transformer块、输出解码器
- 推理链条:Tokenization → 推理计算 → 输出生成
1.4 主流开源大模型盘点与对比
- Open Source大模型简析:LLaMA、Qwen、DeepSeek、ChatGLM、Yi、Baichuan 等
- 训练规模、参数量、推理速度、生态支持等维度对比
1.5 模型发展简史:从ML到LLM
🔬 从 BERT 到 GPT:两个路径的演化逻辑
- Encoder-only(BERT) vs Decoder-only(GPT)架构对比
📈 模型演进阶段划分
- Word2Vec → Transformer → Pretrain + Finetune → RLHF → Agent架构
🔧 初代机器学习模型简析
- 特征工程、传统监督学习 vs 深度学习的突破
🧠 模型与训练的差异与关系
- 模型结构设计 vs 数据驱动训练策略
1.6 ChatGPT究竟是什么?它背后的技术逻辑
1.7 ChatGPT、LLM与AI的三者关系梳理
🛠️ 第二部分:Spring AI × Ollama 实践指南
2.1 Spring AI 专题 01:从理论到应用框架初识
🧭 Spring AI 是什么?
- Spring AI是一个人工智能工程的应用框架。其目标是将Spring生态系统的设计原则(如可移植性和模块化设计)应用于人工智能领域,并推动将POJO作为应用程序的构建块应用于AI领域。
✅ Spring AI 能做什么?
- 可移植的API支持跨人工智能提供商的聊天,文本到图像,和嵌入模型。
同时支持同步和流API选项。还支持下拉访问特定于型号的功能。
1. Chat Models 聊天模型
2. Text-to-image Models 文本到图像模型
3. Transcription (audio to text) Models
4. Embedding Models 向量数据库
5. Vector Models 矢量数据库
6. Spring Boot Auto Configuration and Starters for AI Models and Vector Stores.
AI模型和矢量数据库结合自配置Starter
7. Function calling 函数调优
8. ETL framework for Data Engineering 数据工程师的ETL
9. Extensive reference documentation, sample applications, and workshop/course material.
🔗 相关资料
- 官网:Spring AI 官方入口
- 文档 & Demo:项目主页 & 示例
2.2 Spring AI 专题 02:模型选择与实战对接
🤔 那个大模型好?怎么选?
- 对比平台:SuperClue 评测平台
- 按场景选模型:性能 vs 体积 vs 精度平衡
2.3 Ollama 专题:轻量化大模型部署神器
🧩 Ollama 是什么?
- 类似Docker的本地化大模型部署运行工具,支持模型镜像管理和推理
💡 Ollama能干嘛?
- 像 Docker 一样拉模型镜像使用
- 轻松集成至本地推理、Spring AI等
- 支持主流模型如
llama2
、qwen
、deepseek
等 - 产品定位
📦 安装入口与资源
- 下载地址:ollama.com/download
- 查询、下载模型
SpringAI VS Ollama
安装Ollama
-
手动创建Ollama安装目录
-
手动创建大模型存储目录
新建一个环境变量:
OLLAMA_MODELS
D:\large-model\ollama\models
- 复制转移大模型存储目录
安装通义千问大模型
- 验证是否安装成功
打开 ollama.exe 后
1. netstat -ano | findstr 11434 检查端口占用
2. ollama --version 检查版本号
- 千问模型为例
1. ollama run qwen:4b
2. ollama run qwen:32b
微服务下载Maven坐标,大坑
这才是正确地址
https://mvnrepository.com/artifact/io.springboot.ai/spring-ai-ollama-spring-boot-starter/1.0.3
<!-- https://mvnrepository.com/artifact/io.springboot.ai/spring-ai-ollama-spring-boot-starter -->
<dependency>
<groupId>io.springboot.ai</groupId>
<artifactId>spring-ai-ollama-spring-boot-starter</artifactId>
<version>1.0.3</version>
</dependency>
2.4 Spring AI 对接 Ollama:本地部署实战
🛠 项目模块配置(示例:springai_deepseek0923)
Maven
依赖配置说明application.yml
配置说明OllamaController
示例控制器编写
💡 关键参数
server.port=8003
spring.application.name=springai_deepseek0923
spring.ai.ollama.base-url=http://localhost:11434
spring.ai.ollama.chat.model=deepseek-r1:14b
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>3.3.1</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
<groupId>com.peng</groupId>
<artifactId>springai_deepseek0923</artifactId>
<version>0.0.1-SNAPSHOT</version>
<name>springai_deepseek0923</name>
<description>springai_deepseek0923</description>
<properties>
<java.version>17</java.version>
<spring-ai.version>1.0.0-M5</spring-ai.version>
</properties>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>io.springboot.ai</groupId>
<artifactId>spring-ai-ollama-spring-boot-starter</artifactId>
<version>1.0.3</version>
</dependency>
<dependency>
<groupId>io.springboot.ai</groupId>
<artifactId>spring-ai-ollama</artifactId>
<version>1.0.3</version>
</dependency>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<optional>true</optional>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
</dependencies>
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.springframework.ai</groupId>
<artifactId>spring-ai-bom</artifactId>
<version>${spring-ai.version}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<annotationProcessorPaths>
<path>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
</path>
</annotationProcessorPaths>
</configuration>
</plugin>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<configuration>
<excludes>
<exclude>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
</exclude>
</excludes>
</configuration>
</plugin>
</plugins>
</build>
</project>
@RestController
public class OllamaController{
@Resource
private OllamaChatClient ollamaChatClient;
//http://localhost:8003/ai/ollama
@GetMapping("/ai/ollama")
public Map<String, String> completion(@RequestParam(value = "msg",
defaultValue = "你是谁") String msg){
return Map.of("generation", ollamaChatClient.call(msg));
}
}
💻 第三部分:Ollama 图形化界面与 Docker 进阶
3.1 图形界面:OpenWebUI简介与安装
- 官方地址:openwebui.com
- 支持 Web/Desktop 双端
- 提供模型选择、聊天测试、多用户支持等功能
🐳 Docker 安装命令(Win系统推荐)
win系统下先安装Docker引擎
- window下安装Docker DeskTop先下载到本地
Docker DeskTop 下载网址
- 本地直接安装即可+安装完后启动验证
- 本地win虚拟化支持必须打开
- 修改image镜像保存地址
- 修改docker镜像下载地址
- 默认
- 自己优化
-
登录自己的阿里云账号 阿里云网址
-
镜像加速器
-
win系统下正常启动Docker引擎后安装OpenWebUI
docker run -d -p 3000:8080 --add-host=host.docker.internal:host-gateway \
-v D:\large-model\open-webui:/app/backend/data \
--name open-webui --restart always \
ghcr.io/open-webui/open-webui:main
安装完成
遇到问题怎么办?
- 常见问题汇总:端口占用、科学上网、镜像下载加速配置等