11. LLM con Novita: img2prompt y adaptación de prompts

11. LLM con Novita: img2prompt y adaptación de prompts

Actualizado: 20 de febrero de 2026.

Este capítulo conecta dos capacidades LLM de Novita dentro del flujo principal de creación.

Prerrequisitos

  1. Tener clonado o disponible codigo/ de esta serie.
  2. Contar con Firebase y Novita configurados para pruebas.
  3. Haber completado el capítulo anterior del curso.

Paso 1: generar prompt desde imagen

Método:

  • GeneratePromptAsync(imageUrl)

Endpoint:

  • POST /v3/img2prompt

Uso:

  1. Si el usuario sube foto, se obtiene descripción automática.
  2. Esa descripción se combina con prompt base del modelo.

Paso 2: adaptar prompt con LLM

Método:

  • AdaptPromptAsync(prompt)

Endpoint:

  • POST /openai/v1/chat/completions

Uso:

  1. Se aplica antes de llamar a StartGenerationAsync.
  2. Limpia referencias no deseadas y homogeneiza vocabulario.

Paso 3: pipeline de prompt final

flowchart LR
    A[Prompt usuario] --> D[Merge prompt]
    B[Prompt base modelo] --> D
    C[img2prompt foto] --> D
    D --> E[AdaptPromptAsync]
    E --> F[StartGenerationAsync]

Paso 4: verificación

cd codigo/backend
rg -n "GeneratePromptAsync|AdaptPromptAsync|openai/v1/chat/completions|img2prompt" InvitaIA.Api/Services -S

Troubleshooting

  1. img2prompt vacío: imagen no accesible o formato inválido.
  2. chat/completions falla: API key/modelo LLM incorrectos.
  3. Prompt final raro: revisa orden de composición en InvitationService.

FAQ corta

¿Es obligatorio usar ambos (img2prompt + AdaptPrompt)?

No, pero mejora consistencia cuando hay foto real.

¿Qué modelo usa AdaptPromptAsync?

NovitaCompletionModel desde configuración.

¿Se puede desactivar adaptación?

Sí, comentando la llamada en InvitationService.

Fuente verificada

Share this content:

Curso Flutter y .NET 8 con Novita AI: índice completo paso a paso

0. ControlNet completo en backend y Flutter 2. Despliegue, checklist final y publicación WordPress

Comentarios

Aún no hay comentarios. ¿Por qué no comienzas el debate?

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.