Java开发者接入大模型API实战:从0到聊天机器人

前言

最近在研究AI副业,发现一个有意思的事:很多开发者想接入大模型,但不知道从哪下手。网上教程大多是 Python 的,Java 的很少。

作为一个 Java 后端,我花了一个周末把 Spring Boot + 大模型 API 的完整链路跑通了,顺便写了个能跑的聊天机器人。今天把过程分享出来,希望能帮到同样用 Java 的朋友。

技术选型

  • 后端框架: Spring Boot 3.x
  • HTTP 客户端: OkHttp
  • 大模型 API: 以 OpenAI 兼容格式为例
  • 前端: 简单的 HTML + JS

第一步:获取 API Key

国内开发者推荐:

第二步:核心代码

配置类

java 复制代码
@Data
@Component
@ConfigurationProperties(prefix = "ai")
public class AiConfig {
    private String apiKey;
    private String baseUrl = "https://api.openai.com/v1";
    private String model = "gpt-3.5-turbo";
}

聊天服务

java 复制代码
@Service
public class ChatService {
    @Autowired
    private AiConfig aiConfig;

    public String chat(String userMessage) {
        JSONObject body = new JSONObject();
        body.put("model", aiConfig.getModel());
        body.put("messages", JSONArray.of(
            JSONObject.of("role", "user", "content", userMessage)
        ));

        Request request = new Request.Builder()
            .url(aiConfig.getBaseUrl() + "/chat/completions")
            .addHeader("Authorization", "Bearer " + aiConfig.getApiKey())
            .post(RequestBody.create(body.toJSONString(), MediaType.parse("application/json")))
            .build();

        try (Response response = client.newCall(request).execute()) {
            JSONObject json = JSON.parseObject(response.body().string());
            return json.getJSONArray("choices")
                .getJSONObject(0).getJSONObject("message").getString("content");
        }
    }
}

踩坑记录

  1. 超时问题 --- 大模型响应慢,readTimeout 建议 120 秒以上
  2. Token 计算 --- 中文大概 1 字 = 1-2 token,注意控制 context 长度
  3. 流式输出编码 --- SSE 返回 UTF-8,确保响应头编码正确

总结

  1. Java 接入大模型 API 不难,核心就是 HTTP 调用
  2. 注意超时、token、流式输出几个坑
  3. 跑通基础链路后,接入各平台只是套壳
  4. 这个技能可以直接变现

如果你也在用 Java 做 AI 相关的项目,欢迎评论区交流。

相关推荐
晨曦中的暮雨4 小时前
Golang速通(Javaer版)
java·开发语言·后端·golang
七老板的blog4 小时前
当 Spring StateMachine 遇见大模型:构建工业级 AI 写作流水线
java·人工智能·spring
云烟成雨TD4 小时前
Spring AI 1.x 系列【46】MCP Security 模块
java·人工智能·spring
CRMEB系统商城4 小时前
CRMEB多商户系统(Java)v2.3公测版发布
java·开发语言·人工智能·小程序·开源·php
sinat_255487814 小时前
第七部分。介绍MVC(模型-视图-控制器)模式
java·ide·http·tomcat·intellij-idea
李白的天不白5 小时前
ps -ef | grep java
java
ab_dg_dp5 小时前
Android 17+ 提取 AIDL 生成 Java 文件的实用脚本
android·java·python
超哥--5 小时前
B站视频内容智能分析系统(三):B站视频自动采集
java·开发语言·音视频·ai编程
郑洁文5 小时前
基于SpringBoot的商品仓库管理系统的设计与实现
java·spring boot·后端·仓库管理系统·商品仓库管理系统
布朗克1685 小时前
22 异常处理——从入门到精通的完整指南
java·异常处理