| import json |
| import os |
| import openai |
| from .. import log_module |
|
|
| |
| activo = True |
| try: |
| openai.api_key = os.getenv("OPENAI_API_KEY") |
| except: |
| activo = False |
|
|
| user_text = "Generar imagen" |
|
|
| structure_info = { |
| "imagen_generada": { |
| "url": "URL de la imagen generada" |
| } |
| } |
|
|
| info = { |
| "type": "function", |
| "function": { |
| "name": "generate_image", |
| "description": "Genera una imagen basada en un prompt utilizando la API de OpenAI. Devuelve la URL de la imagen generada.", |
| "parameters": { |
| "type": "object", |
| "properties": { |
| "prompt": { |
| "type": "string", |
| "description": "El texto que describe la imagen a generar. Ejemplo: Un gato montado en un unicornio bajo la lluvia.", |
| }, |
| "info": { |
| "type": "string", |
| "description": "El usuario no ver谩 esto. Explica por qu茅 se llam贸 a esta funci贸n.", |
| } |
| }, |
| "required": ["prompt"], |
| } |
| } |
| } |
|
|
| def ejecutar(params, gid): |
| prompt = params["prompt"] |
| try: |
| response = openai.Image.create( |
| prompt=prompt, |
| n=1, |
| size="512x512" |
| ) |
| image_url = response['data'][0]['url'] |
| retorno = {"imagen_generada": {"url": image_url}} |
| log_module.logger(gid).info(f"Generar imagen {params}") |
| return json.dumps(retorno) |
| except Exception as e: |
| log_module.logger(gid).error(f"Generar imagen fall贸: {repr(e)}") |
| return json.dumps({"status": "api failed"}) |