Add initial tutorials for using vLLM and update .gitignore

This commit is contained in:
2024-12-10 21:00:17 +01:00
parent fe87335bfd
commit 13d014c24c
3 changed files with 308 additions and 0 deletions
+152
View File
@@ -0,0 +1,152 @@
{
"cells": [
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Tutorial: Uso de vLLM con un modelo local\n",
"En este tutorial aprenderás a utilizar **vLLM** para cargar un modelo descargado localmente y realizar inferencias.\n",
"\n",
"## ¿Qué es vLLM?\n",
"vLLM es un runtime de alto rendimiento para modelos de lenguaje grande (LLMs). Ofrece características avanzadas como el manejo eficiente de memoria y procesamiento paralelo.\n",
"\n",
"Este tutorial asumirá que ya tienes un modelo descargado localmente, por ejemplo, un modelo de Hugging Face."
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Paso 1: Instalación de vLLM\n",
"Primero, necesitamos instalar la biblioteca **vLLM**. Puedes hacerlo con el siguiente comando."
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"!pip install vllm"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Paso 2: Verificación de dependencias\n",
"Asegúrate de que las dependencias requeridas, como PyTorch, estén instaladas. Si no tienes PyTorch, instálalo con el comando apropiado para tu entorno."
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"!pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cpu"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Paso 3: Carga del modelo local\n",
"Usaremos la clase `LLM` de vLLM para cargar el modelo desde una carpeta local. En este ejemplo, asumimos que el modelo está almacenado en un directorio llamado `./modelo_local`."
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"from vllm import LLM\n",
"\n",
"# Ruta al modelo local\n",
"ruta_modelo = \"./modelo_local\"\n",
"\n",
"# Inicialización del modelo\n",
"llm = LLM(model=ruta_modelo)\n",
"print(\"Modelo cargado exitosamente.\")"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Paso 4: Realización de inferencias\n",
"Con el modelo cargado, podemos realizar inferencias utilizando la función `generate`. Proporciona un texto de entrada y el modelo generará una respuesta."
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"# Texto de entrada\n",
"texto_entrada = \"¿Cuál es la capital de Francia?\"\n",
"\n",
"# Generar respuesta\n",
"respuesta = llm.generate(texto_entrada)\n",
"print(\"Respuesta generada:\", respuesta)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Paso 5: Ajuste de parámetros (opcional)\n",
"Puedes ajustar parámetros como la temperatura o el número máximo de tokens generados para personalizar el comportamiento del modelo."
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"# Ajuste de parámetros\n",
"respuesta_ajustada = llm.generate(\n",
" texto_entrada,\n",
" temperature=0.7, # Controla la aleatoriedad\n",
" max_tokens=100 # Límite de tokens generados\n",
")\n",
"print(\"Respuesta ajustada:\", respuesta_ajustada)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Paso 6: Conclusión\n",
"Has aprendido a instalar y usar vLLM para cargar un modelo local y realizar inferencias. Puedes explorar más características en la [documentación oficial de vLLM](https://vllm.org).\n",
"\n",
"¡Ahora estás listo para usar modelos de lenguaje eficientemente con vLLM!"
]
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 3",
"language": "python",
"name": "python3"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 3
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.8.5"
}
},
"nbformat": 4,
"nbformat_minor": 4
}