- 长臂猿-企业应用及系统软件平台
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 request
String 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
}
限时福利
本文来自程序员老鬼