Java | 智谱API调用实践

Java | 智谱API调用实践

一、什么是智谱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. 引入依赖

cn.bigmodel.openapi

oapi-java-sdk

release-V4-2.0.0

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

相关推荐