本文目录导读:

- 智能客服 / 对话机器人(基于 LLM)
- AI 图像生成(DALL·E / Stable Diffusion)
- 自动生成代码(GitHub Copilot 风格的代码补全)
- 文本摘要与内容改写(自然语言处理)
- 语音转文字(STT) + 文本转语音(TTS)
- 企业级 RAG(检索增强生成)案例
- 总结对比表
- 推荐快速上手路径
这里为你整理了几个经典的 Java + AIGC(人工智能生成内容) 实际案例,涵盖了文本生成、图像生成、代码生成、对话机器人等核心场景,每个案例都附带了核心代码思路和关键库说明。
智能客服 / 对话机器人(基于 LLM)
功能:用户输入问题,Java 后端调用大语言模型(如 OpenAI GPT-4、阿里通义千问、DeepSeek)生成回答。
技术栈:Spring Boot + HttpClient/WebClient + OpenAI SDK 或 自定义 API 调用。
核心代码示例(调用 OpenAI API):
import com.theokanning.openai.service.OpenAiService;
import com.theokanning.openai.completion.chat.*;
@Service
public class ChatService {
@Value("${openai.api.key}")
private String apiKey;
public String chat(String userMessage) {
OpenAiService service = new OpenAiService(apiKey);
ChatCompletionRequest request = ChatCompletionRequest.builder()
.model("gpt-4") // 或 "deepseek-chat", "qwen-plus"
.messages(java.util.List.of(
new ChatMessage(ChatMessageRole.SYSTEM.value(), "你是一个友好且知识渊博的助手。"),
new ChatMessage(ChatMessageRole.USER.value(), userMessage)
))
.temperature(0.7)
.build();
ChatCompletionResult result = service.createChatCompletion(request);
String reply = result.getChoices().get(0).getMessage().getContent();
return reply;
}
}
其他常用框架:
- LangChain4j:Java 版 LangChain,支持链式调用、RAG(检索增强生成)。
- Spring AI:Spring 官方 AI 抽象层,集成 OpenAI、HuggingFace、Ollama。
AI 图像生成(DALL·E / Stable Diffusion)
功能:Java 后端接收提示词(Prompt),调用图像生成 API,返回图片 URL 或 Base64 数据。
技术栈:REST API 调用 + Jackson 序列化。
核心代码示例(调用 OpenAI Image API 生成图片):
import org.springframework.web.client.RestTemplate;
@Service
public class ImageGenerationService {
@Value("${openai.api.key}")
private String apiKey;
public String generateImage(String prompt) {
RestTemplate restTemplate = new RestTemplate();
String url = "https://api.openai.com/v1/images/generations";
// 构建请求体(JSON)
String requestBody = """
{
"model": "dall-e-3",
"prompt": "%s",
"n": 1,
"size": "1024x1024"
}
""".formatted(prompt);
// 设置请求头
HttpHeaders headers = new HttpHeaders();
headers.set("Authorization", "Bearer " + apiKey);
headers.setContentType(MediaType.APPLICATION_JSON);
HttpEntity<String> request = new HttpEntity<>(requestBody, headers);
ResponseEntity<String> response = restTemplate.exchange(url, HttpMethod.POST,
request, String.class);
// 解析返回的 JSON,提取图片 URL
// 此处仅演示,实际使用 Jackson 或 JSONPath
JSONObject jsonResponse = new JSONObject(response.getBody());
String imageUrl = jsonResponse.getJSONArray("data")
.getJSONObject(0)
.getString("url");
return imageUrl;
}
}
注意:若使用本地 Stable Diffusion(如通过 WebUI API),类似地调用 http://localhost:7860/sdapi/v1/txt2img。
自动生成代码(GitHub Copilot 风格的代码补全)
功能:根据上下文或注释,自动补全 Java 代码。
技术栈:TabNine SDK / OpenAI Codex API / HuggingFace CodeGen。
核心思路(调用 OpenAI Codex 补全代码):
public class CodeCompletionService {
public String completeCode(String codeContext) {
OpenAiService service = new OpenAiService("your-api-key");
CompletionRequest request = CompletionRequest.builder()
.model("code-davinci-002") // 或 "gpt-3.5-turbo-instruct"
.prompt(codeContext) // "public int add(int a, int b) {\n "
.maxTokens(128)
.temperature(0.0) // 代码生成建议低温度
.stop(List.of("\n")) // 换行停止
.build();
CompletionResult result = service.createCompletion(request);
return result.getChoices().get(0).getText();
}
}
实际应用:集成到 IDE 插件(如 Eclipse、IntelliJ IDEA 插件开发)中,实时提供补全建议。
文本摘要与内容改写(自然语言处理)
功能:将长文本自动压缩为摘要,或按指定风格重新表达。
技术栈:HuggingFace Java Client / Stanford CoreNLP + LLM。
使用 HuggingFace API 配置:
// 依赖: com.konghq:unirest-java, com.fasterxml.jackson
public class TextSummarizer {
public String summarize(String text) throws Exception {
HttpResponse<JsonNode> response = Unirest.post("https://api-inference.huggingface.co/models/facebook/bart-large-cnn")
.header("Authorization", "Bearer HF_API_KEY")
.body("{\"inputs\": \"" + text + "\"}")
.asJson();
return response.getBody().getArray()
.getJSONObject(0)
.getString("summary_text");
}
}
注意:也可以直接用 ChatGPT/GPT-4 完成:
// 只需在 Chat API 的 system 中设置 "请将以下文本总结为 3 句话"
语音转文字(STT) + 文本转语音(TTS)
功能:用户语音输入 → 识别为文本 → LLM 回复 → 合成语音播报。
完整链路:Java WebSocket 接收音频 → 调用 Whisper API → 对话 → 调用 TTS API → 返回音频流。
语音转文字(Whisper API):
// 利用 HttpClient 上传音频文件
HttpClient client = HttpClient.newHttpClient();
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create("https://api.openai.com/v1/audio/transcriptions"))
.header("Authorization", "Bearer " + apiKey)
.POST(HttpRequest.BodyPublishers.ofFile(audioFile))
.build();
文字转语音(OpenAI TTS):
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create("https://api.openai.com/v1/audio/speech"))
.header("Authorization", "Bearer " + apiKey)
.header("Content-Type", "application/json")
.POST(HttpRequest.BodyPublishers.ofString("""
{
"model": "tts-1",
"input": "你好,我是你的智能助手。",
"voice": "alloy",
"response_format": "mp3"
}
"""))
.build();
企业级 RAG(检索增强生成)案例
功能:根据企业知识库(PDF、数据库、维基百科)回答问题,减少幻觉。
技术栈:LangChain4j + Elasticsearch/ChromaDB + Embedding模型。
核心实现(基于 LangChain4j):
// 1. 导入文档并分割
Document document = Document.from("您的知识文本...");
DocumentSplitter splitter = DocumentSplitters.recursive(500, 100);
List<TextSegment> segments = splitter.split(document);
// 2. 创建嵌入存储器(使用本地向量数据库)
EmbeddingStore<TextSegment> embeddingStore = InMemoryEmbeddingStore.<TextSegment>builder()
.addAll(segments, embeddingModel)
.build();
// 3. 构建检索链
ChatLanguageModel model = OpenAiChatModel.builder()
.apiKey("your-api-key")
.modelName("gpt-4")
.build();
ConversationalRetrievalChain chain = ConversationalRetrievalChain.builder()
.chatLanguageModel(model)
.retriever(EmbeddingStoreRetriever.from(embeddingStore))
.build();
// 4. 提问
String answer = chain.execute("我们的退款政策是什么?");
总结对比表
| 案例方向 | 核心 API / 模型 | Java 集成方式 | 典型应用 |
|---|---|---|---|
| 对话/文本生成 | GPT-4, DeepSeek | OpenAI Java SDK, Spring AI | 客服、助手、文案生成 |
| 图像生成 | DALL·E, Stable Diffusion | HttpClient + 自定义 JSON | 广告配图、设计素材 |
| 代码生成 | Codex, CodeLlama | 代码补全 SDK | IDE 自动补全、代码审查 |
| RAG 知识问答 | 向量数据库 + LLM | LangChain4j, LlamaIndex Java | 企业内部知识库、FAQ |
| 多模态(语音) | Whisper (STT), TTS | WebClient / RestTemplate 音频流 | 语音助手、会议记录 |
推荐快速上手路径
- 新手:直接用
Spring Boot+OpenAI API实现一个聊天接口(上面第一个案例)。 - 进阶:加入
LangChain4j实现文档问答(RAG)。 - 生产级:使用
Spring AI统一适配不同云厂商(Azure、AWS Bedrock、阿里云)。