Ir al contenido principal

Tutorial de FLUX.2: crea un visualizador de armario cápsula con Gradio

Aprende a usar un pipeline FLUX.2-dev cuantizado a 4 bits y referencias multiimagen para generar rejillas de looks que combinan tus propias prendas.
Actualizado 23 sept 2026  · 10 min leer

Explorar con IA

ChatGPTClaudePerplexity

FLUX.2 es un modelo de texto a imagen moderno pensado para generar imágenes de alta calidad con gran control. En este tutorial te muestro cómo usar la variante FLUX.2-dev para crear un visualizador de armario cápsula en el que subimos entre 2 y 10 imágenes de ropa (camisetas, pantalones, chaquetas, zapatos, etc.), el modelo combina esas piezas y la app devuelve una rejilla de conjuntos que las mezclan de distintas formas.

El resultado es una herramienta interactiva para explorar visualmente combinaciones de looks, impulsada por un modelo de difusión optimizado para la memoria de GPU.

Si te interesa profundizar en los principios detrás de este tutorial, te recomiendo el curso Deep Learning for Images with PyTorch.

¿Qué es FLUX 2?

FLUX.2 es una familia de modelos de texto a imagen optimizada para distintos puntos del espectro calidad/velocidad/flexibilidad, en lugar de un único checkpoint monolítico. Incorpora varias capacidades clave:

  • Soporte multirreferencia: puedes condicionar hasta 10 imágenes a la vez, algo crucial para mantener la consistencia de producto en muchas generaciones.
  • Detalle e hiperrealismo: FLUX 2 da un salto notable en detalle fino y realismo frente a versiones anteriores, acortando la distancia con la fotografía real.
  • Renderizado de texto: las versiones Pro y Flex son ideales para tipografías complejas, infografías y maquetas de interfaces.
  • Mejor seguimiento del prompt: FLUX 2 sigue mejor prompts estructurados y con varias partes, útil cuando describimos poses, iluminación y estilo concretos.
  • Conocimiento del mundo y lógica espacial: entiende mejor objetos reales, iluminación y composición, logrando escenas más coherentes.

En la práctica, verás tres variantes principales:

FLUX 2 variants

  • FLUX.2-Pro: la variante de mayor fidelidad, algo más lenta, ideal para renderizados de calidad de producción donde prima el acabado sobre la velocidad de iteración.
  • FLUX.2-Flex: el preset equilibrado ofrece gran calidad con latencia y VRAM más amables. Es la opción generalista para generación de imágenes.
  • FLUX.2-Dev: la variante experimental, más fácil de trastear en código y con ajustes pensados para demos.

Frente a Pro y Flex, la variante Dev está pensada para quien quiere experimentar y es justo lo que necesitamos para nuestra rejilla interactiva de armario cápsula.

¿Por qué elegir FLUX.2-Dev (4 bits)?

La línea FLUX.2 ya es potente de base, pero FLUX.2-Dev más cuantización a 4 bits hace que esta demo sea mucho más fácil de ejecutar, iterar y ampliar. He aquí por qué:

  • Pensado para experimentar: la variante Dev se integra directamente con lógica Python a medida, condicionamiento multiimagen y nuestra interfaz en Gradio sin código extra.
  • VRAM bajo control: los pesos a 4 bits reducen la memoria de parámetros ~3 a 4 veces frente a FP16/BF16, lo que nos permite ejecutar con comodidad:
    • lotes de 3×3 imágenes
    • 20–30 pasos de difusión
    • resoluciones medias-altas como 512×384–768×512 en una sola A100 sin errores de falta de memoria (OOM).
  • Iteración rápida: al ser un modelo más ligero, podemos ajustar semilla, pasos, guidance, tamaño de rejilla y resolución, y regenerar la rejilla sin problema.
  • Gran calidad para rejillas interactivas: incluso en Dev, el modelo puede producir fotos de moda con calidad de estudio, iluminación consistente y tejidos convincentes, justo lo que buscamos para rejillas 3×3, más que para un único render hero. Tus resultados pueden variar: para obtener esa calidad suele hacer falta un buen trabajo de prompts, curación de referencias (iluminación/ángulo/fondo consistentes) y quizá un posfiltrado.

En resumen, FLUX.2-Dev (4 bits) nos da la mejor combinación de memoria, velocidad y calidad para una herramienta interactiva de armario cápsula.

Resumen de la demo de Flux 2: visualizador de armario cápsula

En esta sección implementaremos un visualizador de armario cápsula con un modelo FLUX 2 envuelto en una aplicación de Gradio. A grandes rasgos, la app hace tres cosas:

  1. Toma varias imágenes de tu armario como referencias.
  2. Construye un prompt estructurado que indica a FLUX.2-dev crear fotos de moda de cuerpo entero usando las piezas especificadas.
  3. Genera una rejilla de conjuntos combinando al azar piezas en cada celda, con tamaño de rejilla (filas × columnas), pasos de difusión y guidance variables.

En el vídeo siguiente puedes ver una versión abreviada del flujo. Está acelerado para la demo (el proceso real puede tardar varios minutos):

Paso 1: configuración del entorno

Primero, instala la última librería diffusers desde GitHub y el resto de dependencias.

!pip install -q "git+https://github.com/huggingface/diffusers.git@main" \
               "transformers>=4.44.0" accelerate safetensors bitsandbytes gradio pillow

Luego inicia sesión en Hugging Face para poder descargar los pesos de FLUX.2-dev a 4 bits:

from huggingface_hub import login
login() 

Introduce tu token de HF cuando se te pida e inicia sesión para descargar el modelo. A continuación, haz una comprobación rápida para ver si CUDA está disponible y qué GPU tienes:

import torch, diffusers, bitsandbytes as bnb
print("diffusers:", diffusers.__version__)
print("CUDA available:", torch.cuda.is_available())
!nvidia-smi

Si ves tu GPU en la salida de nvidia-smi y CUDA available: True, ya puedes continuar.

Paso 2: modelo FLUX.2-dev (4 bits)

Ahora cargamos los componentes de FLUX.2-dev a 4 bits desde el repositorio diffusers/FLUX.2-dev-bnb-4bit.

from diffusers import Flux2Pipeline, Flux2Transformer2DModel
from transformers import Mistral3ForConditionalGeneration
import torch
bnb_repo = "diffusers/FLUX.2-dev-bnb-4bit"   
torch_dtype = torch.bfloat16
device = "cuda"
print("Loading 4-bit transformer...")
transformer = Flux2Transformer2DModel.from_pretrained(
    bnb_repo,
    subfolder="transformer",
    torch_dtype=torch_dtype,
    device_map="auto",          
)
print("Loading 4-bit text encoder...")
text_encoder = Mistral3ForConditionalGeneration.from_pretrained(
    bnb_repo,
    subfolder="text_encoder",
    torch_dtype=torch_dtype,
    device_map="auto",
)
print("Building Flux2 pipeline...")
pipe = Flux2Pipeline.from_pretrained(
    bnb_repo,
    transformer=transformer,
    text_encoder=text_encoder,
    torch_dtype=torch_dtype,
).to(device)
pipe.set_progress_bar_config(disable=False)
print("Loaded. Example param device:", next(pipe.transformer.parameters()).device)

Una vez instaladas las dependencias, podemos cargar FLUX.2 con la librería diffusers y emparejarlo con un codificador de texto Mistral 3 de transformers. Así queda en código:

  • Flux2Transformer2DModel: el transformador tipo U-Net responsable del desruido, cargado en forma cuantizada a 4 bits.
  • Mistral3ForConditionalGeneration: se usa como codificador de texto, convirtiendo tu prompt en señales de acondicionamiento para la difusión.
  • Flux2Pipeline: compone el transformador, el codificador de texto y otros componentes en una interfaz única invocable para generar imágenes.

Usar device_map="auto" y torch_dtype=torch.bfloat16 lo hace flexible en distintas GPUs y eficiente en memoria.

Paso 3: preprocesar imágenes

La app permite subir varias imágenes del armario. Necesitamos unas utilidades para:

  • Convertir archivos de Gradio a imágenes de PIL
  • Redimensionarlas a un tamaño manejable para el condicionamiento
import gradio as gr
import random, json
from typing import List, Union
from PIL import Image
MAX_REFS = 10
def files_to_pil(files: List[Union[str, dict]]) -> List[Image.Image]:
    images = []
    for f in files:
        path = f.get("name") if isinstance(f, dict) else f
        if not path:
            continue
        img = Image.open(path).convert("RGB")
        images.append(img)
    return images
def preprocess_refs(refs: List[Image.Image], max_size: int = 512) -> List[Image.Image]:
    processed = []
    for img in refs:
        img = img.convert("RGB")
        img.thumbnail((max_size, max_size), Image.LANCZOS)
        processed.append(img)
    return processed

El código anterior define dos funciones clave.

  • La función files_to_pil() toma los objetos de archivo que devuelve Gradio, extrae sus rutas y abre cada archivo como PIL.Image en RGB.
  • La función preprocess_refs() redimensiona estas imágenes a un máximo de 512 × 512 manteniendo la relación de aspecto, importante para la velocidad y el uso de memoria.

Además, limitamos el número de imágenes de referencia con MAX_REFS = 10 para no sobrecargar el conjunto de condicionamiento.

Paso 4: prompt del conjunto

En lugar de enviar un prompt de texto plano, construí un prompt estructurado tipo JSON que describe:

  • El set de estudio
  • El sujeto y la pose
  • Las prendas (vinculadas a las imágenes de referencia)
  • Iluminación, ambiente e información de cámara
def build_outfit_prompt(outfit_indices: List[int], labels: List[str]) -> str:
    item_phrases = [
        f"{labels[idx]} from reference image {idx+1}" for idx in outfit_indices
    ]
    outfit_items_str = ", ".join(item_phrases)
    mistral_prompt = """A professional full-body studio photograph of a high-end fashion editorial shoot, set against a flawless seamless neutral gray backdrop (#f5f5f5) in a controlled studio environment. The scene is bathed in soft, diffused three-point lighting (key, fill, and subtle rim) that eliminates harsh shadows, ensuring even illumination across the subject while preserving dimensionality and texture.
At the center of the frame stands a full-body adult model, exuding quiet confidence in a relaxed yet poised stance—one foot slightly forward, weight balanced, body angled subtly to the right. The model’s expression is natural, with a neutral gaze directed just off-camera, evoking a modern, minimalist lookbook aesthetic.
The outfit—meticulously styled and tailored—is the focal point, captured with ultra-realistic 8K resolution and razor-sharp detail. Fabrics display tactile depth: the weave of knits, the drape of silks, the sheen of leathers, and the crispness of cotton are all rendered with commercial-grade precision. The shallow depth of field (50mm prime lens, f/2.8) keeps the subject in crystalline focus while softly blurring the backdrop, emphasizing the outfit’s textures and proportions.
The composition adheres to classic fashion photography rules: vertical framing, ample headroom, and a slightly dynamic angle (eye-level) that flatters the model’s posture. The color palette is controlled and sophisticated, dominated by the outfit’s hues against the neutral gray, with subtle tonal contrasts to highlight layers and accessories.
Every element—from the studio-quality lighting to the catalog-ready styling—conveys luxury, clarity, and commercial appeal, designed to showcase the outfit as a covetable, high-end ensemble."""
    prompt_dict = {
        "scene": mistral_prompt,
        "subjects": [
            {
                "description": (
                    "The model is styled in an outfit composed of: "
                    + outfit_items_str
                    + ". Each garment should closely match the color, fabric, and key design details of its reference image."
                )
            }
        ]
    }
    return json.dumps(prompt_dict)

La función build_outfit_prompt() hace tres cosas importantes:

  • Primero, usa outfit_indices y labels para generar frases como «pieza del armario 1 from reference image 1», que se unen en una sola cadena describiendo las prendas seleccionadas para ese conjunto.
  • Después, inserta estas prendas en un mistral_prompt en lenguaje natural que define el entorno de estudio, la iluminación, el objetivo, la profundidad de campo, etc.
  • Por último, envolvemos todo en un prompt_dict con campos scene y subjects, y lo serializamos a JSON para pasarlo como un único prompt a la pipeline.

Conceptualmente, tratamos cada imagen subida como «pieza del armario i» y pedimos al modelo «compón un look usando la pieza 1, la 3 y la 4», preservando color, tejido y detalles clave de cada prenda.

Nota: como usamos un modelo Mistral como codificador de texto en esta pipeline, también utilicé Mistral para ayudar a redactar el prompt largo de estudio (mistral_prompt) mediante Meta prompting. Así mantenemos el estilo alineado con lo que el codificador «espera» y es fácil ajustar el texto directamente en código.

Paso 5: generar la rejilla de conjuntos

El corazón de la demo es capsule_fn, que:

  • Toma las imágenes subidas y los parámetros de la interfaz
  • Selecciona aleatoriamente subconjuntos de piezas para cada celda
  • Llama a la pipeline de FLUX.2-dev para generar múltiples imágenes
  • Y por último las compone en una única rejilla
def make_grid(images: List[Image.Image], rows: int, cols: int) -> Image.Image:
    w, h = images[0].size
    grid = Image.new("RGB", (cols * w, rows * h), (255, 255, 255))
    for idx, img in enumerate(images):
        r, c = divmod(idx, cols)
        grid.paste(img, (c * w, r * h))
    return grid
def capsule_fn(files, rows, cols, height, width, steps, guidance, seed):
    if not files or len(files) < 2:
        return None
    images = files_to_pil(files)
    images = images[:MAX_REFS]
    refs = preprocess_refs(images, max_size=512)
    labels = [f"wardrobe piece {i+1}" for i in range(len(refs))]
    random.seed(int(seed))
    tiles = []
    num_tiles = rows * cols
    for i in range(num_tiles):
        k = min(len(refs), random.randint(2, 3))
        outfit_idxs = random.sample(range(len(refs)), k=k)
        prompt = build_outfit_prompt(outfit_idxs, labels)
        generator = torch.Generator(device=device).manual_seed(int(seed) + i)
        out = pipe(
            prompt=prompt,
            image=refs,   
            height=height,
            width=width,
            num_inference_steps=steps,
            guidance_scale=guidance,
            generator=generator,
        )
        tiles.append(out.images[0])
    grid = make_grid(tiles, rows, cols)
    return grid

Estas dos funciones forman el motor central de la demo.

  • La función make_grid() crea un lienzo en blanco del tamaño filas × columnas y pega cada imagen generada en su posición, produciendo una única imagen en rejilla.
  • La función capsule_fn() prepara las referencias, selecciona aleatoriamente 2–3 piezas por celda, construye un prompt estructurado y llama a la pipeline de FLUX.2 con la resolución, pasos, guidance y semilla elegidos. Recoge todas las celdas y las pasa a make_grid() para mostrar la rejilla final de looks combinables.

Paso 6: interfaz en Gradio

Este paso conecta el motor del armario cápsula con la app de Gradio. El usuario sube imágenes, elige los ajustes de rejilla y generación, y recibe una rejilla compuesta de conjuntos.

inputs = [
    gr.File(file_types=["image"], file_count="multiple", label="Wardrobe pieces (2–10 images)"),
    gr.Slider(1, 4, value=2, step=1, label="Grid rows"),
    gr.Slider(1, 4, value=2, step=1, label="Grid cols"),
    gr.Slider(384, 896, value=512, step=64, label="Image height"),
    gr.Slider(256, 640, value=384, step=64, label="Image width"),
    gr.Slider(10, 30, value=16, step=2, label="Diffusion steps"),
    gr.Slider(1.0, 7.0, value=2.5, step=0.5, label="Guidance scale"),
    gr.Number(value=42, precision=0, label="Seed")
]
iface = gr.Interface(
    fn=capsule_fn,
    inputs=inputs,
    outputs=gr.Image(type="pil", label="Capsule wardrobe grid"),
    title="Capsule Wardrobe Visualizer – FLUX.2-dev (4-bit)",
    description="Upload 2–10 product images; mix & match outfits using FLUX.2-dev with multi-image reference.",
)
iface.launch(share=True, debug = True)

Así construimos la app de Gradio:

  • La lista de inputs define todos los controles interactivos. El input de piezas del armario admite entre 2 y 10 fotos de prendas o productos; los deslizadores de filas y columnas fijan la forma de la rejilla y, por tanto, cuántos looks se generan por lote.
  • Los deslizadores de alto y ancho controlan la resolución de cada celda: cuanto mayor, más VRAM y tiempo.
  • El deslizador de pasos de difusión determina cuántos pasos de desruido ejecuta el modelo (16–24 es un buen valor por defecto), y guidance scale controla cuánto sigue el modelo el prompt de texto frente a las referencias.
  • La llamada a gr.Interface conecta estos inputs con capsule_fn y declara una única salida gr.Image. launch(share=True, debug=True) inicia el servidor de Gradio, expone un enlace público para demos y activa el log de depuración en consola para diagnosticar problemas.

Cuando la interfaz esté activa:

  • Sube un conjunto pequeño de prendas (p. ej., 2 camisetas, 2 pantalones, 1 chaqueta, 1 par de zapatos).
  • Elige una rejilla 3x3 o 2x2, resolución 512x384, ~20 pasos y guidance de 2.5.
  • Pulsa Submit y verás cómo la rejilla se llena con imágenes de estilo editorial.

Final output

Ejemplos y observaciones de Flux 2

Para entender cómo se comporta FLUX.2-dev en la práctica, probé varios experimentos con la app final. Varié los pasos de difusión y el guidance, y probé tanto múltiples imágenes de la misma prenda como una imagen por prenda distinta para ver cuánta variedad produce el modelo.

  • Los pasos de difusión y el guidance afectan sobre todo a la velocidad y nitidez, no a la memoria. Subir de 28 a 30 pasos y de 2.5 a 5.0 en guidance mantiene la VRAM similar, pero hace cada lote algo más lento y produce conjuntos más nítidos. No obstante, teóricamente, conteos altos de pasos (como 50) pueden cambiar apreciablemente el aspecto de la rejilla e incrementar la latencia con mayor calidad.
  • En una A100, 4 bits es un valor por defecto muy cómodo. Con el checkpoint de FLUX.2-dev a 4 bits, rejillas 3x3 a 512x384 con ~20–28 pasos se sienten rápidas y seguras para demos en una sola GPU. Si tienes acceso a una H100 y puedes cargar el checkpoint original (no cuantizado), a menudo obtendrás más calidad con latencia similar. Como siempre, depende de tu VRAM y tamaño de lote.

Ejemplo 1: ajustes por defecto con varias vistas de la misma prenda

Primero subí varias imágenes del mismo conjunto desde distintos ángulos, dejé los pasos por defecto y guidance moderado. El modelo produjo iluminación de estudio consistente y detalles de tejido cuidados, con looks que parecían variaciones de un mismo armario cápsula.

Ejemplo 2: más pasos de difusión con varias vistas de la misma prenda

Después mantuve las mismas referencias pero subí los pasos de difusión a 28 (y ajusté ligeramente el guidance). La rejilla quedó algo más nítida y pulida, pero siguió recombinando las mismas prendas. A cambio, el tiempo por lote aumentó un poco.

Experimento 3: una imagen por prenda única

Por último, subí una foto de producto por prenda distinta y generé otra rejilla 3x3. Los conjuntos resultantes fueron mucho más variados entre celdas, combinando diferentes partes de arriba y abajo de formas interesantes. Hubo algo de repetición, pero en general la rejilla se sintió más cercana a un verdadero armario cápsula, con más combinaciones para la misma semilla y ajustes.

image3.png

image2.png

Conclusión

FLUX.2-dev en formato de 4 bits es un gran modelo para aplicaciones de imagen. En este tutorial configuramos una pipeline FLUX.2-dev a 4 bits con diffusers, creamos un flujo de referencias multiimagen que trata las prendas como señales de condicionamiento y lo envolvimos todo en una app de Gradio.

El resultado es un potente visualizador de armario cápsula que puede servir como prototipo para e-commerce de moda o, simplemente, como una forma divertida de remezclar tu propio armario. A partir de aquí, puedes conectar la misma pipeline con sistemas más amplios, como un LLM que sugiera looks según el código de vestimenta o el tiempo, o enlazarla con un catálogo real de productos.

Preguntas frecuentes sobre FLUX.2

¿Puedo usar la pipeline FLUX.2-Dev (4 bits) sin depender del codificador de texto Mistral en local?

Sí. FLUX.2 admite codificación de texto remota mediante el servicio de text-encoder de Hugging Face, lo que puede reducir significativamente el uso de VRAM. En lugar de cargar Mistral3ForConditionalGeneration localmente, puedes pasar prompt_embeds obtenidos del codificador remoto. Es útil para GPUs con menos VRAM (p. ej., RTX 4090 o GPUs móviles).

¿Cómo debo formatear o preparar mis fotos de referencia para obtener mejores resultados?

Aunque el modelo acepta imágenes arbitrarias, los resultados mejoran cuando:

  • Las fotos de ropa tienen fondos limpios
  • Las imágenes están bien iluminadas y son aproximadamente frontales
  • Las prendas no están muy ocluidas
  • Todos los ítems tienen un encuadre similar (p. ej., fotos de producto centradas)

¿Puede FLUX.2 garantizar que los conjuntos incluyan siempre una parte de arriba, una de abajo y un par de zapatos?

No por defecto. El modelo no entiende «categorías de prendas» salvo que las codifiques explícitamente y apliques lógica de selección en tu app.

Puedes imponer estructura:

  • Usando etiquetas como «top from reference image 1», «bottom from reference image 2»
  • O añadiendo reglas de selección en capsule_fn

¿Cómo evito que las prendas se mezclen o deformen en las imágenes generadas?

Los modos multirreferencia pueden hacer que se mezclen prendas si:

  • Las prendas se parecen mucho,
  • Pasas muchas referencias (8–10),
  • O tu prompt es demasiado vago. Para reducir la mezcla:
  • Usa menos imágenes de referencia por celda (máx. 2–3).
  • Refuerza el prompt con descripciones como «capas claramente distintas», «sin mezclas», «preserva la silueta».
  • Asegúrate de que las fotos de referencia difieran claramente en forma/color.

¿Cuántas imágenes de referencia puede manejar FLUX.2 antes de que baje la calidad?

FLUX.2 admite hasta 10 imágenes de referencia, pero la calidad no escala linealmente. En la práctica:

  • 1–4 refs → gran fidelidad a cada ítem
  • 5–7 refs → cierto debilitamiento del detalle fino
  • 8–10 refs → mayor riesgo de mezcla o límites ambiguos entre prendas

Esto se debe a cómo el bloque de condicionamiento multiimagen de FLUX fusiona embeddings visuales en el transformador de desruido. Cuantos más embeddings pasas, más señales espaciales y de estilo en competencia debe conciliar el transformador.


Aashi Dutt's photo
Author
Aashi Dutt
LinkedIn
Twitter

Soy experta Google Developers en ML (Gen AI), triple experta en Kaggle y embajadora de Women Techmakers, con más de tres años de experiencia en el sector tecnológico. Cofundé una startup de salud en 2020 y actualmente curso un máster en informática en Georgia Tech, con especialización en aprendizaje automático.

Temas
Inteligencia Artificial

Top DataCamp Courses

Curso

Deep Learning para imágenes con PyTorch

4 h
13.6K
Aplica PyTorch a imágenes y usa modelos de deep learning para detección de objetos con bounding boxes y generación de segmentación de imágenes.
Ver detallesRight Arrow
Iniciar Curso
Ver másRight Arrow
Relacionado
An AI juggles tasks

blog

Cinco proyectos que puedes crear con modelos de IA generativa (con ejemplos)

Aprende a utilizar modelos de IA generativa para crear un editor de imágenes, un chatbot similar a ChatGPT con pocos recursos y una aplicación clasificadora de aprobación de préstamos y a automatizar interacciones PDF y un asistente de voz con GPT.
Abid Ali Awan's photo

Abid Ali Awan

10 min

Tutorial

Tutorial FLAN-T5: Guía y puesta a punto

Una guía completa para afinar un modelo FLAN-T5 para una tarea de respuesta a preguntas utilizando la biblioteca de transformadores, y ejecutando la inferencia optmizada en un escenario del mundo real.
Zoumana Keita 's photo

Zoumana Keita

15 min

Tutorial

Cómo ejecutar Stable Diffusion:

Explora la IA generativa con nuestro tutorial introductorio sobre Stable Diffusion. Aprende a ejecutar el modelo de aprendizaje profundo en línea y localmente para generar imágenes detalladas.
Kurtis Pykes 's photo

Kurtis Pykes

7 min

Tutorial

Tutorial Mistral 7B: Guía paso a paso para utilizar y ajustar Mistral 7B

El tutorial cubre el acceso, la cuantización, el ajuste fino, la fusión y el almacenamiento de este potente modelo lingüístico de código abierto con 7300 millones de parámetros.
Abid Ali Awan's photo

Abid Ali Awan

12 min

Tutorial

RAG Con Llama 3.1 8B, Ollama y Langchain: Tutorial

Aprende a crear una aplicación RAG con Llama 3.1 8B utilizando Ollama y Langchain, configurando el entorno, procesando documentos, creando incrustaciones e integrando un recuperador.
Ryan Ong's photo

Ryan Ong

12 min

Tutorial

Tutorial de Python: Streamlit

Este tutorial sobre Streamlit está pensado para ayudar a los científicos de datos o ingenieros de machine learning que no son desarrolladores web y no están interesados en pasar semanas aprendiendo a utilizar estos marcos para crear aplicaciones web.
Nadia mhadhbi's photo

Nadia mhadhbi

15 min

Ver MásVer Más