diff --git a/README.md b/README.md index 229ee54..00b25c6 100644 --- a/README.md +++ b/README.md @@ -34,6 +34,9 @@   Google PaLM +   + + Google Gemini diff --git a/README.zh_CN.md b/README.zh_CN.md index 0451e1b..3186224 100644 --- a/README.zh_CN.md +++ b/README.zh_CN.md @@ -34,6 +34,9 @@   Google PaLM +   + + Google Gemini diff --git a/docs/docs/reference/google/gemini/chat/home.md b/docs/docs/reference/google/gemini/chat/home.md index c83506b..93ecd9a 100644 --- a/docs/docs/reference/google/gemini/chat/home.md +++ b/docs/docs/reference/google/gemini/chat/home.md @@ -1,5 +1,5 @@ --- -title: Chat +title: Chat New --- > 支持 Google Gemini,产品地址: https://ai.google.dev/gemini-api diff --git a/docs/docs/release/2024.01.2.md b/docs/docs/release/2024.01.2.md new file mode 100644 index 0000000..19327da --- /dev/null +++ b/docs/docs/release/2024.01.2.md @@ -0,0 +1,16 @@ +--- +title: 2024.01.2 +--- + +| Release version | Release Time | +|:---------------:|:------------:| +| `2024.01.2` | `2024-03-10` | + +## OpenAi + +--- + +- Create thread +- Retrieve thread +- Modify thread +- Delete thread diff --git a/docs/docs/release/latest.zh.md b/docs/docs/release/2024.01.2.zh.md similarity index 100% rename from docs/docs/release/latest.zh.md rename to docs/docs/release/2024.01.2.zh.md diff --git a/docs/docs/release/latest.md b/docs/docs/release/latest.md index 19327da..d400b97 100644 --- a/docs/docs/release/latest.md +++ b/docs/docs/release/latest.md @@ -1,16 +1,115 @@ --- -title: 2024.01.2 +title: 2024.01.3 (latest) --- -| Release version | Release Time | -|:---------------:|:------------:| -| `2024.01.2` | `2024-03-10` | +| 发布版本 | 发布时间 | +|:-----------:|:------------:| +| `2024.01.3` | `2024-05-17` | ## OpenAi --- -- Create thread -- Retrieve thread -- Modify thread -- Delete thread +- 支持新模型 `gpt-4o` + +### Google Gemini + +--- + +- 支持简单对话 + + ```java + try (GoogleClient client = GoogleClient.builder() + .apiKey(token) + .build()) { + PartEntity part = PartEntity.builder() + .text("Hello, Open AI Java SDK!") + .build(); + ObjectEntity object = ObjectEntity.builder() + .parts(Lists.newArrayList(part)) + .build(); + ChatEntity chat = ChatEntity.builder() + .contents(Lists.newArrayList(object)) + .build(); + + ChatResponse response = client.createChatCompletions(chat); + response.getCandidates() + .forEach(item -> item.getContent() + .getParts() + .forEach(value -> log.info(value.getText()))); + } + ``` + +- 支持连续对话 + + ```java + List contents = Lists.newArrayList(); + PartEntity part = PartEntity.builder() + .text("你好,我叫小明") + .build(); + ObjectEntity object = ObjectEntity.builder() + .parts(Lists.newArrayList(part)) + .build(); + contents.add(object); + ChatEntity chat = ChatEntity.builder() + .contents(contents) + .build(); + ChatResponse response = client.createChatCompletions(chat); + response.getCandidates() + .forEach(item -> item.getContent() + .getParts() + .forEach(value -> { + log.info(value.getText()); + + contents.add(ObjectEntity.builder() + .role(RoleModel.MODEL) + .parts(Lists.newArrayList(PartEntity.builder() + .text(value.getText()) + .build())) + .build()); + })); + + ObjectEntity newObject = ObjectEntity.builder() + .parts(Lists.newArrayList(PartEntity.builder() + .text("我刚刚说了什么") + .build())) + .build(); + contents.add(newObject); + ChatEntity newChat = ChatEntity.builder() + .contents(contents) + .build(); + client.createChatCompletions(newChat); + ``` + +- 支持流式响应 + + ```java + // 构建客户端 + CountDownLatch countDownLatch = new CountDownLatch(1); + ConsoleEventSourceListener listener = ConsoleEventSourceListener.builder() + .countDownLatch(countDownLatch) + .build(); + GoogleClient client = GoogleClient.builder() + .apiKey(ResourceUtils.getValue("google.token")) + .listener(listener) + .build(); + + List contents = Lists.newArrayList(); + PartEntity part = PartEntity.builder() + .text("帮我写一万字的作文") + .build(); + ObjectEntity object = ObjectEntity.builder() + .parts(Lists.newArrayList(part)) + .build(); + contents.add(object); + ChatEntity chat = ChatEntity.builder() + .contents(contents) + .build(); + client.createChatCompletions(chat); + try { + countDownLatch.await(); + } + catch (InterruptedException e) { + log.error("Interrupted while waiting", e); + } + ``` diff --git a/docs/mkdocs.yml b/docs/mkdocs.yml index 007f071..a4503ce 100644 --- a/docs/mkdocs.yml +++ b/docs/mkdocs.yml @@ -9,7 +9,7 @@ repo_url: https://github.com/devlive-community/openai-java-sdk edit_uri: "https://github.com/devlive-community/openai-java-sdk/blob/master/docs/docs" banners: - - title: OpenAi Java SDK   2024.01.2   is released + - title: OpenAi Java SDK   2024.01.3   is released link: /release-latest.html description: Do you ❤️ DataCap? Give us a 🌟 on GitHub @@ -115,6 +115,7 @@ nav: - reference/google/gemini/chat/home.md - NavReleaseNote: - release/latest.md + - release/2024.01.2.md - release/2024.01.1.md - release/2023.12.1.md - released.md diff --git a/images/google-gemini.png b/images/google-gemini.png new file mode 100644 index 0000000..a82f296 Binary files /dev/null and b/images/google-gemini.png differ diff --git a/pom.xml b/pom.xml index 8cb5ff7..88317d4 100644 --- a/pom.xml +++ b/pom.xml @@ -5,7 +5,7 @@ org.devlive.sdk openai-java-sdk - 2024.01.3-SNAPSHOT + 2024.01.3 openai-java-sdk