{"id":18983794,"url":"https://github.com/metaglm/zhipuai-sdk-java-v4","last_synced_at":"2025-04-04T22:02:20.132Z","repository":{"id":224905154,"uuid":"750720294","full_name":"MetaGLM/zhipuai-sdk-java-v4","owner":"MetaGLM","description":null,"archived":false,"fork":false,"pushed_at":"2025-03-27T05:29:12.000Z","size":6583,"stargazers_count":138,"open_issues_count":15,"forks_count":23,"subscribers_count":5,"default_branch":"main","last_synced_at":"2025-03-28T21:01:51.477Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/MetaGLM.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-01-31T07:21:37.000Z","updated_at":"2025-03-16T09:09:39.000Z","dependencies_parsed_at":"2024-12-04T08:30:07.581Z","dependency_job_id":"cff53560-01d2-4c3f-a457-527ca847199a","html_url":"https://github.com/MetaGLM/zhipuai-sdk-java-v4","commit_stats":null,"previous_names":["zhipuai/zhipuai-sdk-java-v4","metaglm/zhipuai-sdk-java-v4"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MetaGLM%2Fzhipuai-sdk-java-v4","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MetaGLM%2Fzhipuai-sdk-java-v4/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MetaGLM%2Fzhipuai-sdk-java-v4/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MetaGLM%2Fzhipuai-sdk-java-v4/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/MetaGLM","download_url":"https://codeload.github.com/MetaGLM/zhipuai-sdk-java-v4/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247256102,"owners_count":20909240,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-08T16:18:34.733Z","updated_at":"2025-04-04T22:02:20.113Z","avatar_url":"https://github.com/MetaGLM.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"# 智谱大模型开放接口SDK\n\n智谱[开放平台](http://open.bigmodel.cn/howuse/platformintroduced)大模型接口Java SDK（Big Model API SDK in\nJava），让开发者更便捷的调用智谱开放API\n\n## 简介\n- \u003cfont color=\"red\"\u003e**java sdk仍在开发测试阶段，有bug请留言联系**\u003c/font\u003e\n- 对所有接口进行了类型封装，无需查阅API文档即可完成接入\n\n## 安装\n\n- 运行环境：JDK1.8+\n- maven坐标\n```\n        \u003cdependency\u003e\n            \u003cgroupId\u003ecn.bigmodel.openapi\u003c/groupId\u003e\n            \u003cartifactId\u003eoapi-java-sdk\u003c/artifactId\u003e\n            \u003cversion\u003erelease-V4-2.3.0\u003c/version\u003e\n        \u003c/dependency\u003e\n```\n- 运行单元测试依赖您环境变量中的APIKey和BaseUrl信息，建议您提前设置好环境变量；运行过程中会消耗APIKey对应账户下的少量token\n```\n  export ZHIPUAI_BASE_URL=https://open.bigmodel.cn/api/paas/v4/ # 默认智谱开放平台API地址\n  export ZHIPUAI_API_KEY=6082424a4dxxxxxxxxxxb9d.svyyyyyyyyyK8K # 替换为你自己的APIKey\n```\n### 依赖信息\n\n```text\nokhttp_3.14.9\njava-jwt_4.2.2\njackson_2.11.3\nretrofit2_2.9.0 \n```\n## 使用\n- 调用流程：\n    1. 使用APIKey创建Client\n    2. 调用Client对应的成员方法\n- [V4Test.java](src/test/java/com/zhipu/oapi/V4Test.java)有完整的demo示例，请替换自己的ApiKey进行测试\n\n\n\u003e SDK提供了ClientV4的构造器，此方法可以在创建Client时进行配置，可配置项如下：\n\n \n- enableTokenCache：是否开启token缓存，开启后会缓存token，减少token请求次数\n- networkConfig：设置连接超时、读取超时、写入超时、ping间隔、ping超时时间\n- connectionPool：设置连接池\n\n``` \nString API_SECRET_KEY = \"your api\";\nprivate static final ClientV4 client = new ClientV4.Builder(API_SECRET_KEY) \n        .enableTokenCache()\n        .networkConfig(30, 10, 10, 10, TimeUnit.SECONDS)\n        .connectionPool(new okhttp3.ConnectionPool(8, 1, TimeUnit.SECONDS))\n        .build();\n \n```\n\n### spring Controller 示例\n\n```java\npackage com.zhipu.controller;\n\nimport com.fasterxml.jackson.core.JsonProcessingException;\nimport com.fasterxml.jackson.databind.ObjectMapper;\nimport com.wd.common.core.domain.R;\nimport com.zhipu.oapi.ClientV4;\nimport com.zhipu.oapi.Constants;\nimport com.zhipu.oapi.service.v4.deserialize.MessageDeserializeFactory;\nimport com.zhipu.oapi.service.v4.model.ChatCompletionRequest;\nimport com.zhipu.oapi.service.v4.model.ModelApiResponse;\nimport com.zhipu.oapi.service.v4.model.ModelData;\nimport org.slf4j.Logger;\nimport org.slf4j.LoggerFactory;\nimport org.springframework.web.bind.annotation.RequestBody;\nimport org.springframework.web.bind.annotation.RequestMapping;\nimport org.springframework.web.bind.annotation.RestController;\n\nimport java.util.concurrent.TimeUnit;\n\n@RestController\npublic class TestController {\n\n  private final static Logger logger = LoggerFactory.getLogger(TestController.class);\n  private static final String API_SECRET_KEY = Constants.getApiKey();\n\n  private static final ClientV4 client = new ClientV4.Builder(API_SECRET_KEY)\n          .networkConfig(300, 100, 100, 100, TimeUnit.SECONDS)\n          .connectionPool(new okhttp3.ConnectionPool(8, 1, TimeUnit.SECONDS))\n          .build();\n  private static final ObjectMapper mapper = MessageDeserializeFactory.defaultObjectMapper();\n\n\n  @RequestMapping(\"/test\")\n  public R\u003cModelData\u003e test(@RequestBody ChatCompletionRequest chatCompletionRequest) {\n    ModelApiResponse sseModelApiResp = client.invokeModelApi(chatCompletionRequest);\n\n    return R.ok(sseModelApiResp.getData());\n  }\n}\n\n```\n\n\n## 升级内容\n\n#### release-V4-2.3.0\n- 知识库业务\n- 智能助手业务\n- 增加embedding-3支持\n\n#### release-V4-2.2.0\n- 重构代码\n- 高级检索接口\n- codegeex接口\n- 视频生成功能\n\n\n#### release-V4-2.1.0\n- 增加拓展报文序列化工具类\n- 增加测试样例\n- 修改为使用api key鉴权\n- 统一通信客户端\n- 删除部分序列化框架依赖\n- 增加批处理API\n\n#### release-V4-2.0.2\n- readTimeOut时间设置为300s\n- 修改测试demo中apiKey命名\n\n\n#### release-V4-2.0.1\n- 统一client4构造apikey入参\n- 延长token过期时间\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmetaglm%2Fzhipuai-sdk-java-v4","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmetaglm%2Fzhipuai-sdk-java-v4","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmetaglm%2Fzhipuai-sdk-java-v4/lists"}