LLM de forma Local

Iniciado por ze0rX!, Febrero 07, 2025, 01:47:00 AM

Tema anterior - Siguiente tema

0 Miembros y 1 Visitante están viendo este tema.

Hola Underc0der,
Este año donde mas nos invade la IA en todos los niveles, esta disponible de forma open source algunos LLM que podemos usar para crear lo que se nos venga en gana.

Primero tenemos que ir a la pagina oficial del Ollama que es uno de los rápidos para mi ya que lo puedes ejecutar desde la terminal de comandos y consume menos recursos que una interfaz grafica y pues como vamos a usar la GPU pues hay que ahorrar recursos.
Bien primero hay que ir a No tienes permitido ver enlaces. Registrate o Entra a tu cuenta, eliges tu sistema operativo y hay que seguir las instrucciones de instalación, si tienes problemas deja abajo problema e intentare ayudarte lo mas pronto posible.

Una vez instalado por defecto el servidor de ollama se inicia al iniciar el sistema, si no es el caso hay que abrir una terminal, no es necesario ejecutarlo con privilegios de administrador ni nada:
Código: text
ollama serve
con esto empezara a cargar el servidor junto con el puerto 11434, de forma predeterminada esta url en nuestro sistema No tienes permitido ver enlaces. Registrate o Entra a tu cuenta

Para ejecutar un modelo es necesario mas no indispensable para algunos modelos que podamos disponer de una tarjeta de video nvidia con al menos 4GB de VRAM y 8GB de ram, esto es porque el modelo se ejecuta de forma local, no se conecta de forma predeterminada a internet y aunque puede simular que se conecta a internet o hace ping a algún lado en realidad solo esta mostrando una simulación.

Descargamos el modelo que prefieramos desde la pagina del ollama, estos se encuentran en No tienes permitido ver enlaces. Registrate o Entra a tu cuenta, para este ejemplo usaremos No tienes permitido ver enlaces. Registrate o Entra a tu cuenta, para ejecutarlo abrimos una terminal de nuestro sistema operativo y escribimos:
Código: text
ollama run llama3.2:3b
Esto lo que hara es descargarnos directamente el LLM a nuestro ordenador. Al finalizar veremos un prompt como el siguiente:
Código: text
>>>Send a message (/? for help)
Esto significa que nuestro LLM esta listo para recibir instrucciones. Por ahora podemos preguntarle lo que quieras o puedes ejecutar el comando siguiente:
Código: text
>>>/?
Available Commands:
  /set            Set session variables
  /show           Show model information
  /load <model>   Load a session or model
  /save <model>   Save your current session
  /clear          Clear session context
  /bye            Exit
  /?, /help       Help for a command
  /? shortcuts    Help for keyboard shortcuts

Use """ to begin a multi-line message.

>>> Send a message (/? for help)

En este momento nos centraremos en el comando /set
Código: text
>>>/set
Available Commands:
  /set parameter ...     Set a parameter
  /set system <string>   Set system message
  /set history           Enable history
  /set nohistory         Disable history
  /set wordwrap          Enable wordwrap
  /set nowordwrap        Disable wordwrap
  /set format json       Enable JSON mode
  /set noformat          Disable formatting
  /set verbose           Show LLM stats
  /set quiet             Disable LLM stats

>>> Send a message (/? for help)

Código: text
/set parameter
sirve para que podamos modificar el LLM en la mayoría de las características que lo componen, por ejemplo podemos cambiar el LLM para que sea muy creativo o muy preciso, esto dependera de sus necesidades.

Código: text
>>> /set parameter
Available Parameters:
  /set parameter seed <int>             Random number seed
  /set parameter num_predict <int>      Max number of tokens to predict
  /set parameter top_k <int>            Pick from top k num of tokens
  /set parameter top_p <float>          Pick token based on sum of probabilities
  /set parameter min_p <float>          Pick token based on top token probability * min_p
  /set parameter num_ctx <int>          Set the context size
  /set parameter temperature <float>    Set creativity level
  /set parameter repeat_penalty <float> How strongly to penalize repetitions
  /set parameter repeat_last_n <int>    Set how far back to look for repetitions
  /set parameter num_gpu <int>          The number of layers to send to the GPU
  /set parameter stop <string> <string> ...   Set the stop parameters

>>> Send a message (/? for help)

usaremos
Código: text
/set parameter temperature 0.4
para modificar el valor por defecto que es 0.7, esto hará que el LLM responda de forma menos errónea posible.

Podemos crearle un entorno a nuestro LLM para que sepa que es lo que es, y que es lo que estará haciendo, aqui pueden ser tan creativos como sea posible eso hará tener mejores resultados en sus respuestas:
Código: text
/set system
Con el comando anterior se le cambia el mensaje por defecto al LLM el cual agregamos de la siguiente manera:
Código: text
>>> /set system Eres agenteIA, un asistente de IA para operaciones de analisis de datos.

Pueden cambiarle el mensaje por el que quieran.


A continuación les presento a KotZek, mi asistente personal de IA para cuando tengo una idea y quiero llevarla mas lejos.



El LLM no es ni mas ni menos que qwen2.5-coder:7b configurado para funcionar en mi hardware.

Para detener el LLM despues de haber consultado nuestro proposito lo hacemos con el comando
Código: text
>>>/bye

¿Como guardamos el historial en nuestro chat?
con el comando 
Código: text
/set history

¿Como ordenamos la salida?
Código: text
/set wordwrap

¿Como vemos los tokens usados?
Código: text
/set verbose

¿Como guardamos nuestra conversación?
Código: text
/save llama3.2:3b

¿Con esta configuración mi LLM puede recordar todo?
No, el LLM solo puede contener un contexto de 4 a 5 chats continuos para darte una respuesta amplia, se puede ampliar con el siguiente comando:
Código: text
/set parameter num_ctx 6144
por defecto algunos LLM vienen a 4096 o 2048 por lo que hay que ir subiendo con cuidado según nuestro hardware.

Espero con esta pequeña introducción se animen a usarlo si su hardware se lo permite y si no pueden probar las apis directamente desde las paginas oficiales de los proveedores de IA.

Gracias por leerme!
Hail! Underc0de!

Todos los días tenemos la oportunidad de aprender algo nuevo. ¡Hazlo posible!