# springboot-starter-gemini **Repository Path**: minefork/springboot-starter-gemini ## Basic Information - **Project Name**: springboot-starter-gemini - **Description**: springboot-starter-gemini 一个基于gemini提供的springboot sdk - **Primary Language**: Unknown - **License**: Apache-2.0 - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 8 - **Created**: 2024-02-21 - **Last Updated**: 2024-02-21 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Springboot-starter-gemini ## Usage * Add dependency to your project ``` com.codingapi springboot-starter-gemini ${last.version} ``` * Add configuration to your application ``` gemini.api-key={your gemini api key} gemini.proxy-host={your http proxy host} gemini.proxy-port={your http proxy port} gemini.version={gemini api version, default is v1beta} ``` * Use GeminiClient in your code ```java package com.codingapi.gemini.client; import com.codingapi.gemini.pojo.Embedding; import com.codingapi.gemini.pojo.Generate; import com.codingapi.gemini.pojo.Model; import com.codingapi.gemini.pojo.Models; import lombok.SneakyThrows; import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.test.context.SpringBootTest; import java.io.File; import java.io.IOException; import java.util.List; @SpringBootTest class GeminiClientTest { @Autowired private GeminiClient client; @Test void generate() { Generate.Request request = Generate.creatTextChart("你好,请用中文简体回答我,你如何看待区块链?"); Generate.Response response = client.generate(request); String answer = Generate.toAnswer(response); System.out.println(answer); } @Test void generateConfiguration() { Generate.Request request = Generate.creatTextChart("你好,请用中文简体回答我,你如何看待区块链?"); request.setGenerationConfig(new Generate.GenerationConfig(List.of("Title"), 1.0f, 1000, 0.8f, 10)); request.addSafetySetting("HARM_CATEGORY_DANGEROUS_CONTENT", "BLOCK_ONLY_HIGH"); Generate.Response response = client.generate(request); String answer = Generate.toAnswer(response); System.out.println(answer); } @Test @SneakyThrows void stream() { Generate.Request request = Generate.creatTextChart("你好,请用中文简体回答我,你如何看待区块链?"); client.stream(request, response -> { String answer = Generate.toAnswer(response); System.out.println(answer); }); } @Test void generateVision() throws IOException { Generate.Request request = Generate.creatImageChart("这是一张什么图片?", new File("./images/test.png")); Generate.Response response = client.generate(request); String answer = Generate.toAnswer(response); System.out.println(answer); } @Test void counts() { Generate.Request request = Generate.creatTextChart("你好,请用中文简体回答我,你如何看待区块链?"); int tokens = client.counts(request); System.out.println(tokens); assert tokens > 0; } @Test void embedding() { Embedding.Request request = Embedding.creat("你好,我是小强"); Embedding.Response response = client.embedding(request); List answer = Embedding.toAnswer(response); System.out.println(answer); } @Test void model() { Model model = client.model("models/gemini-pro"); System.out.println(model); } @Test void models() { Models models = client.models(); System.out.println(models); } } ``` ## Implementation https://ai.google.dev/tutorials/rest_quickstart