Add tutorial for installing and using llama.cpp on Windows

This commit is contained in:
2024-12-17 20:22:56 +01:00
parent 8d1274dbec
commit 80b4f2f686
2 changed files with 307 additions and 0 deletions
+142
View File
@@ -0,0 +1,142 @@
{
"cells": [
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Tutorial: Instalación y Uso de llama.cpp en Windows\n",
"\n",
"Este notebook guía sobre cómo instalar llama.cpp en Windows, compilarlo y usar su binding de Python para cargar un modelo en formato GGUF."
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Paso 1: Descarga de llama.cpp\n",
"Vamos a clonar el repositorio oficial de llama.cpp desde GitHub."
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"!git clone https://github.com/ggerganov/llama.cpp.git llama_cpp"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Paso 2: Compilación de llama.cpp\n",
"Usaremos el compilador `mingw32-make` para compilar llama.cpp en Windows."
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"!cd llama_cpp && mingw32-make"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Paso 3: Verificación de la instalación\n",
"Después de la compilación, confirmamos que el archivo ejecutable se generó correctamente."
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"!dir llama_cpp"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Paso 4: Instalación del binding de Python\n",
"Instalamos las dependencias necesarias y configuramos el entorno para usar llama.cpp desde Python."
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"# Instalación de los bindings de Python\n",
"pip install llama-cpp-python"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Paso 5: Carga de un modelo GGUF en Python\n",
"Vamos a cargar un modelo GGUF utilizando el binding de Python de llama.cpp. Asegúrate de haber descargado un modelo compatible previamente."
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"# Código para cargar un modelo GGUF usando llama.cpp en Python\n",
"from llama_cpp import Llama\n",
"\n",
"# Ruta al modelo en formato GGUF\n",
"model_path = \"path_to_your_model.gguf\"\n",
"\n",
"# Carga del modelo\n",
"llm = Llama(model_path=model_path)\n",
"\n",
"# Ejemplo de consulta\n",
"response = llm(\"¿Qué es llama.cpp?\")\n",
"print(response)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Paso 6: Pruebas y Debugging\n",
"Si encuentras errores durante la instalación o carga del modelo, verifica:\n",
"- Que todos los requisitos previos estén instalados (compilador, Python, etc.).\n",
"- Que el modelo GGUF esté correctamente descargado y ubicado en la ruta especificada.\n",
"- Consultar la documentación oficial para más información: https://github.com/ggerganov/llama.cpp"
]
}
],
"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
}