Spring Boot整合Google Bard - Web接口拜访Google AI聊天机器人

之前开发了一个对于Google Bard的Java库,能够帮忙咱们简略的发问并取得答案。当初我把它整合到Spring Boot利用中,通过Web API让大家能够拜访。

增加依赖

pkslow google bard增加到Spring Boot我的项目中去:

<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.0.3</version>    </dependency></dependencies>

创立GoogleBardClient

在应用它之前,咱们须要创立一个对应的GoogleBardClient Bean:

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

BardController

GoogleBardClient对象注入,通过HTTP GET办法来发问。所以Controller要从GET申请中获取问题,并向Google Bard发问:

@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");    }}

获取到答案后,咱们返回一个对应的DTO对象。

配置

须要配置一个用于鉴权的Token:

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

如何获取token

拜访: https://bard.google.com/

  • F12
  • 找到Cookie并复制

    • Session: Go to Application → Cookies → __Secure-1PSID.

通过Postman测试

Question 1: How to be a good father?

Queston 2: what is pkslow.com?

Log:

代码

整合的代码在GitHub.


References:

  • Try out Google Bard, Will Google Bard beat the ChatGPT?
  • Use Python to Build a Google Bard Chatbot Client Locally
  • Java Library for Google Bard to Ask Questions and Receive Answers