一、什么是智谱AI
智谱AI(Zhipu AI)是一家致力于人工智能技术研发和应用的公司。该公司由清华大学背景的团队创立,专注于大模型技术的研究与推广。智谱AI在人工智能领域取得了显著成就,其发布的自研大模型GLM-4等产品。
二、SDK玩法
(一) 注册账号
进入官网(https://maas.aminer.cn/),注册账号实名后,将会赠送有效期一个月的体验包。
(二) 查看自己的API Key
注意:我们常见的API_KEY和API_SECRET,这里采用了统一为API key,使用 .这个符号进行划分。
举个栗子:yingzix688.xxxx。
那么,API_KEY:yingzix688
API_SECRET:xxxx
大家只需要看自己的API key进行分割出来即可。
(三) 查阅官方github
官方github地址:https://github.com/zhipuai/zhipuai-sdk-java-v4
1. 引入依赖
2. 官方示例代码
package com.zhipu.oapi.demo;
import com.alibaba.fastjson.JSON;
import com.fasterxml.jackson.annotation.JsonInclude;
import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.core.type.TypeReference;
import com.fasterxml.jackson.databind.DeserializationFeature;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.fasterxml.jackson.databind.PropertyNamingStrategy;
import com.zhipu.oapi.ClientV4;
import com.zhipu.oapi.Constants;
import com.zhipu.oapi.service.v4.embedding.EmbeddingApiResponse;
import com.zhipu.oapi.service.v4.embedding.EmbeddingRequest;
import com.zhipu.oapi.service.v4.file.FileApiResponse;
import com.zhipu.oapi.service.v4.file.QueryFileApiResponse;
import com.zhipu.oapi.service.v4.file.QueryFilesRequest;
import com.zhipu.oapi.service.v4.fine_turning.*;
import com.zhipu.oapi.service.v4.image.CreateImageRequest;
import com.zhipu.oapi.service.v4.image.ImageApiResponse;
import com.zhipu.oapi.service.v4.model.*;
import io.reactivex.Flowable;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.concurrent.atomic.AtomicBoolean;
public class V4OkHttpClientTest {
private static final String API_KEY = "";
private static final String API_SECRET = "";
private static final ClientV4 client = new ClientV4.Builder(API_KEY,API_SECRET).build();
private static final ObjectMapper mapper = defaultObjectMapper();
public static ObjectMapper defaultObjectMapper() {
ObjectMapper mapper = new ObjectMapper();
mapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false);
mapper.setSerializationInclusion(JsonInclude.Include.NON_NULL);
mapper.setPropertyNamingStrategy(PropertyNamingStrategy.SNAKE_CASE);
mapper.addMixIn(ChatFunction.class, ChatFunctionMixIn.class);
mapper.addMixIn(ChatCompletionRequest.class, ChatCompletionRequestMixIn.class);
mapper.addMixIn(ChatFunctionCall.class, ChatFunctionCallMixIn.class);
return mapper;
}
// 请自定义自己的业务id
private static final String requestIdTemplate = "mycompany-%d";
public static void main(String[] args) throws Exception {
System.setProperty("org.slf4j.simpleLogger.logFile", "System.out");
// 1. sse-invoke调用模型,使用标准Listener,直接返回结果
testSseInvoke();
// 2. invoke调用模型,直接返回结果
// testInvoke();
// 3. 异步调用
// String taskId = testAsyncInvoke();
// 4.异步查询
// testQueryResult(taskId);
// 5.文生图
// testCreateImage();
// 6. 图生文
// testImageToWord();
// 7. 向量模型
// testEmbeddings();
// 8.微调-上传微调数据集
// testUploadFile();
// 9.微调-查询上传文件列表
// testQueryUpl