pp

java
import com.google.cloud.functions.HttpFunction;
import com.google.cloud.functions.HttpRequest;
import com.google.cloud.functions.HttpResponse;
import java.io.IOException;
import java.io.PrintWriter;
import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest.Builder;
import java.net.http.HttpResponse.BodyHandlers;
import java.nio.charset.StandardCharsets;
import java.util.Map;
import java.util.logging.Logger;

public class AiBlogPost implements HttpFunction {

private static final Logger logger = Logger.getLogger(AiBlogPost.class.getName());

private static final HttpClient client = HttpClient.newHttpClient();

@Override
public void service(HttpRequest request, HttpResponse response)
throws IOException {
logger.info(“Starting AI blog post”);

// Get the request body.
// The incoming request will have a JSON payload e.g. { ‘prompt’: ‘The prompt to generate’ }
Map bodyMap = request.getQueryParameters();
String prompt = bodyMap.getOrDefault(“prompt”, “The default prompt”);

// POST request to the OpenAI API.
Builder httpRequestBuilder =
HttpRequest.newBuilder()
.uri(URI.create(“https://generativelanguage.googleapis.com/v1beta2/models/text-bison-001:generateText?key={{API_KEY}}”))
.POST(HttpRequest.BodyPublishers.ofString(“{\”prompt\”: {\”text\”: \”” + prompt + “\”}}”))
.header(“Content-Type”, “application/json”);
java.net.http.HttpResponse apiResponse =
client.send(httpRequestBuilder.build(), BodyHandlers.ofString(StandardCharsets.UTF_8));
String body = apiResponse.body();

// Write the response back to the caller.
response.setContentType(“text/html; charset=utf-8”);
PrintWriter writer = new PrintWriter(response.getWriter());
writer.printf(“

AI Generated Blog Post

%s

“, body);
}
}