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 Ollama Download (https://ollama.com/download), 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:
ollama serve con esto empezara a cargar el servidor junto con el puerto 11434, de forma predeterminada esta url en nuestro sistema Ollama running (http://127.0.0.1:11434/)
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 Models (https://ollama.com/search), para este ejemplo usaremos Llama3.2:3b (https://ollama.com/library/llama3.2:3b), para ejecutarlo abrimos una terminal de nuestro sistema operativo y escribimos:
ollama run llama3.2:3bEsto lo que hara es descargarnos directamente el LLM a nuestro ordenador. Al finalizar veremos un prompt como el siguiente:
>>>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:
>>>/?
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
>>>/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)
/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.
>>> /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 /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:
/set systemCon el comando anterior se le cambia el mensaje por defecto al LLM el cual agregamos de la siguiente manera:
>>> /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.
(https://i.imgur.com/NkaBGrS.png)
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 >>>/bye
¿Como guardamos el historial en nuestro chat?
con el comando /set history
¿Como ordenamos la salida?
/set wordwrap
¿Como vemos los tokens usados?
/set verbose
¿Como guardamos nuestra conversación?
/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:
/set parameter num_ctx 6144por 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!