当前位置:   article > 正文

利用JAVA语言调用GLM-4接口实战指南_cn.bigmodel.openapi:oapi-java-sdk:pom:release-v4-2

cn.bigmodel.openapi:oapi-java-sdk:pom:release-v4-2.0.2 failed to transfer fr

一、什么是API接口

API(Application Programming Interface,应用程序编程接口)是一种软件接口,它定义了不同应用程序之间如何相互通信、交互。API接口分为很多种,常见的有Web API,数据库API,操作系统API等。

Web API是目前最流行的API接口,它作为一种开放式API接口,能够让不同的系统与平台进行交互。Web API可以返回JSON格式的数据或XML格式等数据。

二、GLM-4模型介绍

GLM-4是智谱AI发布的新一代基座大模型,整体性能相比GLM3提升60%,支持128K上下文,可根据用户意图自主理解和规划复杂指令、完成复杂任务。

2.1 主要模型

模型名称模型简介上下文长度
GLM-4提供了更强大的问答和文本生成能力。适合于复杂的对话交互和深度内容创作设计的场景。128K
GLM-4V实现了视觉语言特征的深度融合,支持视觉问答、图像字幕、视觉定位、复杂目标检测等各类图像理解任务2K
GLM-3-Turbo适用于对知识量、推理能力、创造力要求较高的场景,比如广告文案、小说写作、知识类写作、代码生成等。128K

2.2 计费单价

模型名称计费单位
GLM-40.1元 / 千tokens
GLM-4V0.1元 / 千tokens
GLM-3-Turbo0.005元 / 千tokens

一般情况下ChatGLM模型中token和字数的换算比例约为1:1.6,但因为不同模型的分词不同,所以换算比例也存在差异,每一次实际处理token数量以模型返回为准,您可以从返回结果的usage中查看。

2.3 计费范围

根据模型输入和输出的总token数进行计量计费(向量大模型embedding-2仅按照输入token量计费、图像大模型按照调用次数计费),如果您开启工具调用,调用结果作为输入也会进行计量计费。

调用工具可以为模型引入更多相关信息,有助于提高输出的质量、及时性等;语言模型默认开启web_search,调用成功后将作为参考信息输入给模型,每次调用大约会增加1000 tokens的消耗。如果您不需要调用web_search,可以通过参数关闭。

需关注的是,若您在体验中心对指定模型进行体验,收费规则和 API 调用一致。

2.4 扣费方式

支持下列2种方式扣减:

方式说明
费用扣减扣减费用 = token使用量 x 模型单价,对应费用将从您的充值账户、赠金账户进行扣减(如果您多个账户同时存在余额,我们将等额扣减,举例费用为10元,则充值帐户、赠金账户各扣减5元)
资源包扣减扣减数量 = token使用量,对应额度将从您的资源包账户进行扣减(如无特殊逻辑限制*,当资源包存在余额时,我们默认将优先扣减资源包账户再扣减充值 / 赠金账户)

实际收费情况请关注官方信息

三、调用API

3.1 申请API Key

快速查找API,可以通过幂简集成-API HUB查找所需的各种AI API。

所有 API 使用 API Key 进行身份验证。可以在GLM-4的服务详情界面快速理解服务,并从官方处获取API Key。

4. 基于SDK开发

4.1 Maven引入SDK

  1. <dependency>
  2. <groupId>cn.bigmodel.openapi</groupId>
  3. <artifactId>oapi-java-sdk</artifactId>
  4. <version>release-V4-2.0.2</version>
  5. </dependency>

4.2 代码实现

  1. import com.alibaba.fastjson.JSON;
  2. import com.zhipu.oapi.ClientV4;
  3. import com.zhipu.oapi.Constants;
  4. import com.zhipu.oapi.service.v4.model.*;
  5. import java.util.ArrayList;
  6. import java.util.List;
  7. public class GLM4Demo {
  8. public static final String API_KEY = "你的APK KEY";
  9. private static final String requestIdTemplate = "miitang-%d";
  10. public static String chatGLM4(String message) {
  11. ClientV4 client = new ClientV4.Builder(API_KEY).build();
  12. List<ChatMessage> messages = new ArrayList<>();
  13. //构建消息对象
  14. ChatMessage chatMessage = new ChatMessage(ChatMessageRole.USER.value(), message);
  15. messages.add(chatMessage);
  16. //构建请求id
  17. String requestId = String.format(requestIdTemplate, System.currentTimeMillis());
  18. ChatCompletionRequest chatCompletionRequest = ChatCompletionRequest.builder()
  19. .model(Constants.ModelChatGLM4)//设置模式
  20. .stream(Boolean.FALSE)
  21. .invokeMethod(Constants.invokeMethod)
  22. .messages(messages)
  23. .requestId(requestId)
  24. .build();
  25. ModelApiResponse invokeModelApiResp = client.invokeModelApi(chatCompletionRequest);
  26. return JSON.toJSONString(invokeModelApiResp);
  27. }
  28. public static void main(String[] args) {
  29. String result = chatGLM4("请做一下自我介绍");
  30. System.out.println(result);
  31. }
  32. }
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/weixin_40725706/article/detail/836984
推荐阅读
相关标签
  

闽ICP备14008679号