Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
1
respuesta

Solución consulta chatGPT.

Intente de muchas maneras crear la cuenta de ChatGPT con el saldo de 5dls, pero fue imposible. Entonces cree un servicio de traductor con Azure y cree nuevamente la clase como traductor para que hiciera la traducción de la sinopsis.

Dejo el código de la nueva clase para que lo revisen y se ayuden, dejo oculto el api key

package com.lcastillodv.screenmatch.service;

import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
import org.json.JSONArray;

public class TraductorMicrosoft {
    // Configuración de la API
    private static final String API_KEY = "API_KEY";
    private static final String REGION = "brazilsouth"; 
    private static final String ENDPOINT = "https://api.cognitive.microsofttranslator.com/translate?api-version=3.0&to=es";

    public static String traducir(String texto) {
        try {
            // Crear el cliente HTTP
            HttpClient cliente = HttpClient.newHttpClient();

            // Preparar el cuerpo de la petición
            String jsonBody = "[{\"Text\": \"" + texto + "\"}]";

            // Crear la petición
            HttpRequest request = HttpRequest.newBuilder()
                    .uri(URI.create(ENDPOINT))
                    .header("Ocp-Apim-Subscription-Key", API_KEY)
                    .header("Ocp-Apim-Subscription-Region", REGION)
                    .header("Content-Type", "application/json")
                    .POST(HttpRequest.BodyPublishers.ofString(jsonBody))
                    .build();

            // Enviar la petición y obtener la respuesta
            HttpResponse<String> response = cliente.send(request,
                    HttpResponse.BodyHandlers.ofString());

            // Procesar la respuesta
            JSONArray jsonArray = new JSONArray(response.body());
            return jsonArray.getJSONObject(0)
                    .getJSONArray("translations")
                    .getJSONObject(0)
                    .getString("text");

        } catch (Exception e) {
            return "Error en la traducción: " + e.getMessage();
        }
    }
}

y se llama de la siguiente manera en la clase serie

        this.sinopsis = TraductorMicrosoft.traducir(datosSerie.sinopsis());
1 respuesta

¡Hola Luis!

Entiendo que has estado trabajando en la integración de ChatGPT para traducir la sinopsis de una serie al español. Veo que has creado un servicio de traducción con Azure y has implementado la clase TraductorMicrosoft para realizar la traducción.

Me parece que realizaste una excelente implementación, felicidades, porque de eso se trata el ser programador, te estabas enfrentando a una dificultad y decidiste encontrar una solución en paralelo para resolver el problema final que en este caso era traducir la sinopsis de las series.

Espero haber ayudado y buenos estudios!