Esta función analiza imágenes asociadas con tweets. Procesa un vector de URLs de imágenes o rutas de archivos locales, envía estas imágenes a la API de OpenAI para su análisis y devuelve un informe detallado sobre el contenido de cada imagen.
Usage
getTweetsImagesAnalysis(
img_sources,
modelo = "gpt-4o-mini",
api_key = Sys.getenv("OPENAI_API_KEY"),
dir = getwd(),
save = TRUE
)Arguments
- img_sources
Un vector de caracteres que contiene las URLs de las imágenes o rutas de archivos locales a analizar.
- modelo
Una cadena de caracteres que contiene el modelo de OpenAI. Por defecto es "gpt-4o-mini".
- api_key
Una cadena de caracteres que contiene la clave de API de OpenAI. Por defecto es
Sys.getenv("OPENAI_API_KEY").- dir
Una cadena de caracteres que especifica el directorio donde se guardarán los resultados. Por defecto es
getwd().- save
Lógico. Indica si se deben guardar los resultados (totales y parciales) en archivos RDS dentro de
dir. Por defecto esTRUE.
Value
Un tibble con las siguientes columnas:
- clasificacion
La clasificación de la imagen
- contiene_texto
Un booleano que indica si la imagen contiene texto
- texto_contenido
El contenido de texto de la imagen (si lo hay, limitado a 10 palabras)
- contenido_discriminatorio
Un booleano que indica la presencia de contenido discriminatorio
- contenido_violento
Un booleano que indica la presencia de contenido violento
- contenido_pornografico
Un booleano que indica la presencia de contenido pornográfico
- contenido_inapropiado
Un booleano que indica la presencia de contenido inapropiado
- descripcion
Una descripción detallada de la imagen
- palabras_clave
Una cadena de texto con 2 a 4 palabras clave separadas por punto y coma
- img
La URL o nombre del archivo de la imagen analizada
Details
La función realiza los siguientes pasos:
Verifica la presencia de una clave de API válida.
Procesa el vector de URLs de imágenes o rutas de archivos locales, eliminando valores NA.
Convierte los archivos locales a formato base64 si es necesario.
Define un prompt de sistema detallado para la API de OpenAI, instruyéndola sobre cómo analizar las imágenes.
Para cada imagen:
Envía una solicitud a la API de OpenAI con la URL de la imagen o los datos base64.
Procesa la respuesta de la API para extraer los resultados del análisis.
Combina todos los resultados en un solo tibble.
Guarda los resultados como archivos RDS en el directorio especificado, con resultados parciales cada 7 imágenes si el total es mayor a 7.
El análisis de la imagen incluye:
Clasificación del tipo de imagen (por ejemplo, foto, meme, captura de pantalla)
Detección de texto en la imagen (limitado a 10 palabras si es extenso)
Identificación de contenido discriminatorio, violento, pornográfico o inapropiado
Una descripción detallada del contenido de la imagen
Generación de palabras clave descriptivas
Note
Esta función requiere una conexión a internet activa y una clave de API de OpenAI válida para funcionar correctamente. La función está diseñada para manejar errores y continuar procesando otras imágenes si una falla. El tiempo de espera para las solicitudes HTTP está configurado en 300 segundos (5 minutos). Tenga en cuenta que las imágenes analizadas (sus URLs o su contenido codificado en base64) se transmiten a la API de OpenAI (un servicio de terceros).
Examples
if (FALSE) { # \dontrun{
# Ejemplo de uso con un vector de URLs de imágenes
urls <- c("https://ejemplo.com/imagen1.jpg", "https://ejemplo.com/imagen2.jpg")
resultados <- getTweetsImagesAnalysis(urls)
# Ejemplo de uso con rutas de archivos locales
archivos_locales <- c("./imagen1.jpg", "./imagen2.png")
resultados_locales <- getTweetsImagesAnalysis(archivos_locales)
} # }