Cómo conectar GitHub a Hugging Face

Automatizar la conexión entre GitHub y Hugging Face transforma la manera en que construyes, creas versiones y despliegas proyectos de IA. En lugar de subir archivos manualmente, un pipeline de CI/CD mantiene tus Hugging Face Spaces o modelos siempre sincronizados con tu repositorio de GitHub. En este artículo, te guiaremos para conectar GitHub a Hugging Face.

Cómo conectar GitHub a Hugging Face

Antes de comenzar, asegúrate de tener las siguientes cosas:

  • Una cuenta de GitHub y una cuenta de Hugging Face.
  • Git está instalado en tu máquina local.
  • (Opcional) Un repositorio de GitHub para alojar el código de tu proyecto y un Hugging Face Space para alojar tu aplicación. No te preocupes si aún no tienes estas cosas; los pasos a continuación te guiarán.

Para conectar GitHub a Hugging Face, sigue los pasos a continuación:

  1. Generar un Token de Acceso de Hugging Face
  2. Almacenar el Token como un Secreto de GitHub
  3. Crear el Archivo de Flujo de Trabajo de GitHub Actions
  4. Configurar tu Hugging Face Space
  5. Commitear, Hacer Push y Verlo Funcionar.

1. Generar un Token de Acceso de Hugging Face

Cómo conectar GitHub a Hugging Face

Convertiremos tu repositorio de GitHub en la única fuente de verdad y automatizaremos los despliegues. Para hacer esto, lo primero que necesitamos es un token de acceso de Hugging Face. Para obtener ese token, sigue estos pasos:

  1. Inicia sesión en tu cuenta de Hugging Face.
  2. Haz clic en tu perfil y luego selecciona Configuración.
  3. Desde la barra lateral izquierda, haz clic en Tokens de Acceso y selecciona Crear nuevo token.
  4. Elige un nombre y selecciona “write” como tipo de token para otorgar a GitHub permiso para enviar actualizaciones.
  5. Haz clic en Crear token, copia el token y guárdalo en un lugar seguro.

Asegúrate de guardar el token en un lugar seguro, ya que puede que no puedas obtenerlo de nuevo.

2. Almacenar el Token como un Secreto de GitHub

Cómo conectar GitHub a Hugging Face

Ahora que tenemos un token generado de Hugging Face, almacenémoslo en tu repositorio de Git. Para hacer esto, sigue los pasos a continuación:

  • Ve a tu repositorio de GitHub y dirígete a Configuración > Secretos y variables > Acciones.
  • Haz clic en Nuevo secreto del repositorio.
  • Nombra el secreto HF_TOKEN (este nombre exacto es crucial) y pega tu token de Hugging Face en el campo de valor.
  • Haz clic en Agregar secreto.

Desde Secretos del repositorio, verás el nuevo secreto creado.

3. Crear el Archivo de Flujo de Trabajo de GitHub Actions

Necesitamos crear el archivo YAML que define tu pipeline de CI/CD.

En tu repositorio de GitHub, crea la siguiente ruta de directorio: .github/workflows/. Dentro de la carpeta workflows, crea un archivo llamado deploy.yml.

conectar GitHub a Hugging Face

Para hacer esto, necesitas hacer clic en el hipervínculo Crear un nuevo archivo. Luego, en el campo Nombra tu archivo, escribe: .github/workflows/deploy.yml.

Pega las siguientes líneas de código:

name: Sync to Hugging Face hub

on:
push:
branches: [main] # Activa el flujo de trabajo al hacer push en la rama principal.
workflow_dispatch: # Permite activar manualmente el flujo de trabajo desde la pestaña de Acciones.

jobs:
sync-to-hub:
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v3
with:
fetch-depth: 0 # Obtiene todo el historial para todas las ramas y etiquetas.
lfs: true # Chequea cualquier archivo de Git LFS.

- name: Push to Hugging Face Hub
env:
HF_TOKEN: ${{ secrets.HF_TOKEN }}
run: git push https://HF_USERNAME:$HF_TOKEN@huggingface.co/spaces/HF_USERNAME/SPACE_NAME main

No olvides reemplazar HF_USERNAME con tu nombre de usuario de Hugging Face y reemplazar SPACE_NAME con el nombre de tu Space.

4. Configurar tu Hugging Face Space

Si estás comenzando desde cero, crea el Hugging Face Space donde tu aplicación irá en vivo. Debes seguir los pasos a continuación:

  • Inicia sesión en Hugging Face y haz clic en tu imagen de perfil > Nuevo Space.
  • Asigna un nombre a tu Space, selecciona un SDK (como Gradio o Streamlit) y configura el Space como Público.
  • Haz clic en Crear Space.

Puedes dejar los archivos predeterminados como están; tu acción de GitHub los sobrescribirá.

5. Commit, Push y Verlo Funcionar

Ahora, commitea el archivo .github/workflows/deploy.yml a tu repositorio de GitHub. Haz push del commit a la rama principal. Ve a la pestaña de Acciones en tu repositorio de GitHub. Verás que tu flujo de trabajo Sync to Hugging Face hub está ejecutándose. Si tiene éxito, ¡tu código ahora está en vivo en tu Hugging Face Space!

¿Hugging Face utiliza GitHub?

Sí, Hugging Face se integra estrechamente con GitHub, aunque es una plataforma separada. Hugging Face proporciona repositorios basados en Git para modelos, conjuntos de datos y Spaces, lo que significa que puedes clonar, hacer push y pull utilizando comandos estándar de Git, justo como lo harías con GitHub. Esta capacidad permite a los desarrolladores controlar versiones de sus activos de IA, automatizar despliegues a través de GitHub Actions y sincronizar el código entre las dos plataformas sin problemas. Muchos Hugging Face Spaces y repositorios de modelos están directamente vinculados a repositorios de GitHub para integración continua y colaboración más fácil.

¿Cómo hago push del código a Hugging Face?

Puedes hacer push del código a un Hugging Face Space o modelo utilizando comandos estándar de Git después de clonar la URL del repositorio de Hugging Face (por ejemplo, https://huggingface.co/spaces/tu-nombre-de-usuario/tu-nombre-de-space). Primero, autentícate con un token de acceso de Hugging Face (usando git remote set-url con el token incrustado o huggingface-cli login). Luego agrega, commitea y haz push de tus cambios: git add ., git commit -m “mensaje”, y git push origin main. Para automatización, también puedes configurar un flujo de trabajo de GitHub Actions que haga push a Hugging Face en cada push de GitHub, utilizando un secreto HF_TOKEN almacenado en tu repositorio de GitHub.

Esperamos que, con esta guía, puedas integrar o conectar tu repositorio de GitHub a Hugging Face.

Artículos más recientes

spot_img

Quizás te interese leer: