- 长臂猿-企业应用及系统软件平台
plugins {id 'java'id 'org.springframework.boot' version '3.0.1'id 'io.spring.dependency-management' version '1.1.0'}group = 'com.openai'version = '0.0.1-SNAPSHOT'sourceCompatibility = '17'repositories {mavenCentral()}dependencies {implementation 'org.springframework.boot:spring-boot-starter-web'testImplementation 'org.springframework.boot:spring-boot-starter-test'}tasks.named('test') {useJUnitPlatform()}
public class OpenAi {private static final String OPENAI_URL = "https://api.openai.com/v1/images/generations";private final String apiKey = "<your-api-key";private final RestTemplate restTemplate = new RestTemplate();public String generateImages(String prompt, float temperature, int maxTokens, String stop, final int logprobs, final boolean echo) {HttpHeaders headers = new HttpHeaders();headers.setContentType(MediaType.APPLICATION_JSON);headers.set("Authorization", "Bearer " + apiKey);// We are including only some of the parameters to the json requestString requestJson = "{\"prompt\":\"" + prompt + "\",\"n\":" + n + "}";HttpEntity < String > request = new HttpEntity < > (requestJson, headers);ResponseEntity < String > response = restTemplate.postForEntity(OPENAI_URL, request, String.class);return response.getBody();}}
public class OpenAiController {private final OpenAi openAi;public OpenAiController(OpenAi openAi) {this.openAi = openAi;}public String generateImages( GenerateImagesRequest request) {return openAi.generateImages(request.getPrompt(), request.getTemperature(), request.getMaxTokens(), request.getStop(),request.getLogprobs(), request.isEcho(), request.getN());}}
public class GenerateImagesRequest {private String prompt;private float temperature;private int maxTokens;private String stop;private int logprobs;private boolean echo;private int n;// getters and setters}

限时福利

本文来自程序员老鬼