背景:本人也是在经历30岁这个门槛了,面对现在Ai时代浪潮,大环境不好,依旧决绝的选择离职,不想CRUD到优化了,现在很迷茫,我想很多人可能都有都有这一阶段,也是最难熬的阶段。现在也是决定学AI丰富自己的能力,休息一段时间开始找工作。
既然决定要自学Ai,那么最快的方式就是边学边练,今天动手开始写第一个调用API程序。
也是最简单的一个,参照国内各大模型的文档即可分分钟上手。
我这里选的是智谱:送额度、兼容OpenAI、国内快。 (为什么不选ds?因为不是新号了,没免费额度~)
文字步骤:
注册智谱AI,拿到API Key。
附智谱模型开发文档:docs.bigmodel.cn/cn/guide/st…
自建简单的Spring Boot项目,加依赖(智谱AI zai-sdk)。
<dependency>
<groupId>ai.z.openapi</groupId>
<artifactId>zai-sdk</artifactId>
<version>0.3.3</version>
</dependency>
写一个ChatService,调用智谱的/v1/chat/completions。 (此处的代码就是智谱官方文档上的api)
public String chatZp(String userMessage) {
try {
// 初始化客户端
ZhipuAiClient client = ZhipuAiClient.builder().ofZHIPU()
.apiKey("18246a7cd356435fa5fb5259e69d0714.bXoeD3yTV2f0dYmi")
.build();
// 创建聊天完成请求
ChatCompletionCreateParams request = ChatCompletionCreateParams.builder()
.model("glm-5.1")
.messages(Arrays.asList(
ChatMessage.builder()
.role(ChatMessageRole.USER.value())
.content("你是一个友好的AI助手,用中文回答。").content(userMessage)
.build()
))
.stream(false)
.temperature(0.6f)
.maxTokens(1024)
.build();
// 发送请求
ChatCompletionResponse response = client.chat().createChatCompletion(request);
// 获取回复
System.out.println(response.getData().getChoices().get(0).getMessage());
ChatMessage message = response.getData().getChoices().get(0).getMessage();
return (String) message.getContent();
} catch (Exception e) {
log.error("调用DeepSeek API失败", e);
return "系统异常:" + e.getMessage();
}
}
写ChatController,暴露/chat接口。 ChatResponse是自己写的实体。
@PostMapping("/sendZp")
public ChatResponse sendMessageZp(@RequestBody ChatRequest request) {
ChatResponse response = new ChatResponse();
if (request.getMessage() == null || request.getMessage().trim().isEmpty()) {
response.setSuccess(false);
response.setErrorMsg("消息不能为空");
return response;
}
String reply = deepSeekService.chatZp(request.getMessage());
response.setSuccess(true);
response.setReply(reply);
return response;
}
Postman测试成功截图。
遇到的坑:API地址是open.bigmodel.cn/api/paas/v4…
下一步计划:基于这个API,做一个“对自己有用”的功能:简历优化助手,正好方便自己找工作。
共勉~