要在Spring Boot项目中整合文心一言(Baidu's AI Platform),你需要按照以下步骤操作:
- 在Spring Boot项目中添加文心一言服务的依赖。
- 获取文心一言的API Key。
- 使用RestTemplate或者WebClient来调用文心一言的API。
以下是一个简单的例子,展示如何使用Spring Boot整合文心一言:
步骤1:添加依赖
确保你的pom.xml包含以下依赖(请根据实际情况使用最新版本):
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
    <groupId>org.projectlombok</groupId>
    <artifactId>lombok</artifactId>
    <version>你的版本号</version>
    <scope>compile</scope>
</dependency>
步骤2:获取API Key
前往百度AI开放平台获取文心一言的API Key。
步骤3:配置文心一言服务的URL和API Key
在application.properties或application.yml中配置文心一言服务的URL和API Key:
ai.baidu.url=https://aip.baidubce.com/rpc/2.0/ai_custom
ai.baidu.apiKey=你的API_Key
ai.baidu.secretKey=你的SECRET_Key
步骤4:创建配置类
创建配置类来读取配置文件中的信息:
@Configuration
@ConfigurationProperties(prefix = "ai.baidu")
@Data
public class AiBaiduConfig {
    private String url;
    private String apiKey;
    private String secretKey;
}
步骤5:创建服务类
创建服务类来调用文心一言的API:
@Service
public class AiBaiduService {
    private final AiBaiduConfig aiBaiduConfig;
    private final RestTemplate restTemplate;
 
    public AiBaiduService(AiBaiduConfig aiBaiduConfig, RestTemplate restTemplate) {
        this.aiBaiduConfig = aiBaiduConfig;
        this.restTemplate = restTemplate;
    }
 
    public String getResponse(String text) {
        // 构建请求体
        MultiValueMap<String, String> params = new LinkedMultiValueMap<>();
        params.add("text", text);
        HttpHeaders headers = new HttpHeaders();
        headers.setContentType(MediaType.APPLICATION_FORM_URLENCODED);
        HttpEntity<MultiValueMap<String, String>> requestEntity = new HttpEntity<>(params, headers);
 
        // 发起POST请求
        ResponseEntity<String> response = restTemplate.postForEntity(aiBaiduConfig.getUrl(), requestEntity, String.class);
        return response.getBody();
    }
}
步骤6:使用服务
在你的Controller中使用AiBaiduService:
@RestController
public class AiController {
    private final AiBaiduService aiBaiduService;
 
    public AiController(AiBaiduService aiBaiduService) {
        this.aiBaiduService = aiBaiduService;
    }
 
    @PostMapping("/ask")
    public String ask(@RequestParam String text) {
        return aiBaiduService.getResponse(text);
    }