LarryDpk
发布于 2023-03-30 / 1620 阅读
2

Spring Boot Integration with Google Bard - Web API to access the Google AI chat box

Spring Boot Integration with Google Bard - Web API to access the Google AI chat box

I have created a Java library for Google Bard that can help us make a simple call to ask questions and get answers. Now I integrated the Java library into the Spring Boot application. So that we can make it publicly available to others.

Add Dependencies

Add the pkslow google-bard to the Spring Boot project:

<dependencies>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-web</artifactId>
    </dependency>
    <dependency>
        <groupId>com.pkslow</groupId>
        <artifactId>google-bard</artifactId>
        <version>0.1.0</version>
    </dependency>
</dependencies>

Create a bean of GoogleBardClient

We need to create a bean of GoogleBardClient before you can use it to ask the questions:

@Configuration
public class GoogleBardConfig {

    @Bean
    public GoogleBardClient googleBardClient(@Value("${ai.google-bard.token}") String token) {
        return new GoogleBardClient(token);
    }
}

BardController

Inject the GoogleBardClient bean in the Controller, and get the question from request param.

@RestController
@RequestMapping("/google-bard")
public class BardController {
    private final GoogleBardClient client;

    public BardController(GoogleBardClient client) {
        this.client = client;
    }


    @GetMapping("/ask")
    public BardAnswer ask(@RequestParam("q") String question) {
        Answer answer = client.ask(question);
        if (answer.status() == AnswerStatus.OK) {
            return new BardAnswer(answer.chosenAnswer(), answer.draftAnswers());
        }

        if (answer.status() == AnswerStatus.NO_ANSWER) {
            return new BardAnswer("No Answer", null);
        }

        throw new RuntimeException("Can't access to Google Bard");

    }
}

After we asked and got the answers, we will return the related DTO object.

properties

Set the token from browser:

server.port=8088
ai.google-bard.token=UgiXYPjpaIYuE9K_3BSqCWnT2W**********************

How to get the token?

Go to https://bard.google.com/

  • F12 for console
  • Copy the values
    • Session: Go to Application → Cookies → __Secure-1PSID. Copy the value of that cookie.

Test with Postman

Question 1: How to be a good father?

Queston 2: what is pkslow.com?

Log:

Code

The code is on GitHub.


References: