1. 从零开始调用AI API:Java开发者实战指南
作为一名长期从事企业级Java开发的工程师,最近在项目中频繁使用各类AI服务时,发现很多同行在API调用环节就遇到了不少坑。本文将分享我通过实际项目总结出的三种Java调用AI API的实践方案,从最基础的HTTP请求到生产级封装,帮你避开那些文档里不会写的陷阱。
1.1 基础版:纯Java HttpClient实现
对于快速验证场景,我推荐直接使用JDK11+内置的HttpClient,这是最轻量级的方案。上周我刚用这种方式在5分钟内完成了一个POC验证:
java复制import java.net.URI;
import java.net.http.*;
public class ClaudeBasicDemo {
public static void main(String[] args) throws Exception {
String apiKey = System.getenv("CLAUDE_API_KEY");
String requestBody = """
{
"model": "claude-3-sonnet",
"max_tokens": 1000,
"messages": [{
"role": "user",
"content": "用Java实现快速排序,要求线程安全"
}]
}""";
HttpClient client = HttpClient.newHttpClient();
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create("https://api.anthropic.com/v1/messages"))
.header("Content-Type", "application/json")
.header("x-api-key", apiKey)
.header("anthropic-version", "2023-06-01")
.POST(HttpRequest.BodyPublishers.ofString(requestBody))
.build();
HttpResponse<String> response = client.send(
request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());
}
}
关键细节说明:
- 请求头中的
anthropic-version是必填项,去年我在团队内部分享时就发现,90%的调用失败都是漏了这个header - 环境变量方式管理API Key是最佳实践,千万不要像某些教程
