Java 程序员第 40 阶段02:从零搭建 Java 大模型完整项目,开发环境搭建与工程初始化

📅 2026/7/5 11:05:02 👁️ 阅读次数 📝 编程学习
Java 程序员第 40 阶段02:从零搭建 Java 大模型完整项目,开发环境搭建与工程初始化

Java程序员第40阶段02:从零搭建Java大模型完整项目,开发环境搭建与工程初始化

作者:洛水石|适用:Java大模型面试

作者:洛水石|适用:Java大模型面试

前言

本文是Java大模型完整项目系列文章的第2篇,将详细介绍如何搭建开发环境并初始化工程。项目采用Maven多模块结构,结合Docker Compose实现本地开发环境的一键启动。

1

一、开发环境准备

1.1环境要求

工具

版本要求

说明

JDK

17+

推荐Eclipse Temurin

Maven

3.9+

或使用Gradle 8.x

Docker

24.x

Desktop for Windows/Mac

IDE

IntelliJ IDEA

旗舰版最佳

1.2开发工具安装

**JDK安装**

推荐使用 Eclipse Temurin(原AdoptOpenJDK),从官网下载并配置环境变量:

2

二、Maven多模块工程结构

2.1项目目录规划

项目采用标准的Maven多模块结构,便于代码管理和依赖控制:

3

三、Docker Compose本地开发环境

3.1基础设施架构

本地开发环境包含以下服务:

服务

版本

端口

说明

MySQL

8.0

3306

关系型数据存储

Redis

7

6379

缓存和会话存储

Elasticsearch

8.x

9200

全文检索

Qdrant

latest

6333

向量数据库

3.2 docker-compose.yml配置

4

四、LangChain4j大模型SDK集成

4.1 Maven依赖配置

在llm-core模块的pom.xml中添加LangChain4j依赖:

```xml

<dependencies>

<!-- LangChain4j 核心 -->

<dependency>

<groupId>dev.langchain4j</groupId>

<artifactId>langchain4j</artifactId>

<version>${langchain4j.version}</version>

</dependency>

<!-- OpenAI适配器 -->

<dependency>

<groupId>dev.langchain4j</groupId>

<artifactId>langchain4j-open-ai</artifactId>

<version>${langchain4j.version}</version>

</dependency>

<!-- 向量存储 - Qdrant -->

<dependency>

<groupId>dev.langchain4j</groupId>

<artifactId>langchain4j-qdrant</artifactId>

<version>${langchain4j.version}</version>

</dependency>

<!-- Spring Boot集成 -->

<dependency>

<groupId>dev.langchain4j</groupId>

<artifactId>langchain4j-spring-boot-starter</artifactId>

<version>${langchain4j.version}</version>

</dependency>

</dependencies>

```

4.2配置文件

application.yml中添加大模型配置:

```yaml

langchain4j:

open-ai:

api-key: ${OPENAI_API_KEY}

model-name: gpt-4

temperature: 0.7

base-url: https://api.openai.com/v1

qdrant:

url: http://localhost:6333

collection-name: llm-knowledge

```

4.3核心代码示例

**ChatModel配置类**

```java

@Configuration

public class LLMConfig {

@Bean

public ChatLanguageModel chatLanguageModel() {

return OpenAiChatModel.builder()

.apiKey(System.getenv("OPENAI_API_KEY"))

.modelName("gpt-4")

.temperature(0.7)

.maxTokens(2000)

.build();

}

@Bean

public ChatMemory chatMemory() {

return new ChatMemoryBuffer(1000);

}

}

```

**Embedding模型配置**

```java

@Bean

public EmbeddingModel embeddingModel() {

return OpenAiEmbeddingModel.builder()

.apiKey(System.getenv("OPENAI_API_KEY"))

.modelName("text-embedding-ada-002")

.build();

}

```

五、Spring Boot 3.x初始化配置

5.1主类定义

```java

@SpringBootApplication

@EnableConfigurationProperties

public class LLMApplication {

public static void main(String[] args) {

SpringApplication.run(LLMApplication.class, args);

}

}

```

5.2常用注解说明

| 注解 | 用途 |

|------|------|

| @SpringBootApplication | 标记主类 |

| @Configuration | 配置类 |

| @Bean | 声明Bean |

| @Value | 注入配置值 |

| @Autowired | 依赖注入 |

5.3跨域配置

```java

@Configuration

public class WebConfig implements WebMvcConfigurer {

@Override

public void addCorsMappings(CorsRegistry registry) {

registry.addMapping("/**")

.allowedOrigins("*")

.allowedMethods("GET", "POST", "PUT", "DELETE")

.allowedHeaders("*");

}

}

```

六、项目启动验证

6.1启动顺序

1. 启动Docker Compose服务

2. 启动IDEA中的Spring Boot应用

3. 访问 http://localhost:8080/swagger-ui.html

6.2健康检查

```bash

docker exec -it <mysql_container> mysql -uroot -p

docker exec -it <redis_container> redis-cli ping

curl http://localhost:9200

```

6.3常见问题

**端口冲突**:确保本地3306、6379、9200、6333端口未被占用

**内存不足**:Docker Desktop建议分配至少4GB内存

**API Key配置**:确保OPENAI_API_KEY环境变量已正确设置

七、总结

本文完成了开发环境的搭建和工程的初始化:

- 配置了JDK 17+、Maven、Docker等开发工具

- 创建了Maven多模块项目结构

- 使用Docker Compose一键启动本地开发环境

- 集成了LangChain4j大模型SDK

- 配置了Spring Boot 3.x基础框架

下一篇文章将介绍数据库设计、MySQL表结构创建等数据层内容。

---

**系列文章导航**

- 第1篇:项目架构设计与技术选型

- 第2篇:开发环境搭建与工程初始化 ← 当前

- 第3篇:数据库设计与初始化

- 第4篇:大模型SDK集成与配置

- 第5篇:RAG知识库实现

- 第6篇:Agent智能体开发

- 第7篇:API接口设计与实现

- 第8篇:前端交互界面开发

- 第9篇:系统部署与运维

- 第10篇:项目总结与展望