Twitter Flickr Pinterest LinkedIn YouTube Google Maps E-mail RSS
formats

Proyectos con la IA de LLaMA 3 en local y .NET

LLaMA 3 es la última versión del modelo de lenguaje desarrollado por Meta, diseñado para comprender y generar texto de manera inteligente. Este modelo se presenta como una herramienta poderosa y accesible, que promete revolucionar el procesamiento del lenguaje natural. En este blog, exploraremos por qué LLaMA 3 es gratuita, qué es un LLM (Large Language Model), y cómo puedes acceder al código para empezar a usarlo hoy mismo. Además veremos como sacar provecho de la IA desde .net con el uso de la librería desde Visual Studio. Comencemos cuando arranque la llama…

¿Por Qué LLaMA 3 es Gratuita?

Meta ha decidido hacer LLaMA 3 gratuita para democratizar el acceso a la tecnología avanzada de procesamiento del lenguaje natural. Esto permite que investigadores, desarrolladores y empresas de todos los tamaños puedan utilizar y beneficiarse de esta herramienta sin barreras económicas.

Al proporcionar acceso gratuito, Meta fomenta la investigación y el desarrollo en el campo de la inteligencia artificial. Esto puede llevar a innovaciones adicionales, mejoras en el modelo y nuevas aplicaciones prácticas.

Ofrecer LLaMA 3 de forma gratuita ayuda a construir una comunidad de usuarios y desarrolladores que pueden colaborar, compartir conocimientos y mejorar colectivamente el modelo. Esto crea un ecosistema dinámico de desarrollo y uso del modelo

Hacer el modelo gratuito permite un mayor escrutinio público y académico, lo que ayuda a identificar y mitigar problemas éticos, como los sesgos en el modelo, de manera más efectiva.

Al ser gratuito, LLaMA 3 puede competir mejor con otros modelos de lenguaje desarrollados por empresas como OpenAI y Google, aumentando su adopción y uso en diversas aplicaciones.

¿Qué es un LLM (Large Language Model)?

Un LLM, o Large Language Model, es un tipo de modelo de inteligencia artificial diseñado para procesar y generar lenguaje natural. Estos modelos están entrenados en grandes volúmenes de texto y utilizan técnicas avanzadas de aprendizaje profundo para comprender y generar texto de manera coherente y contextual.

La arquitectura más común utilizada en los LLM es la de Transformer, que permite manejar dependencias a largo plazo en el texto y realizar tareas complejas de procesamiento del lenguaje natural con alta eficiencia.

Capacidades:

    • Comprensión de Texto: Los LLM pueden analizar y comprender el contexto y el significado del texto.
    • Generación de Texto: Pueden generar texto coherente y relevante basado en una entrada dada.
    • Traducción: Capaces de traducir texto de un idioma a otro.
    • Resumen: Pueden resumir textos largos en versiones más cortas y comprensibles.
    • Conversación: Utilizados en chatbots y asistentes virtuales para interactuar de manera natural con los usuarios.

Aplcaciones:

    • Asistentes Virtuales: Siri, Alexa, Google Assistant.
    • Generación de Contenido: Artículos, blogs, informes.
    • Análisis de Sentimientos: Evaluación de opiniones en redes sociales, reseñas de productos.
    • Traducción y Localización: Servicios de traducción automática.

Entrenamiento:

Los LLM se entrenan en grandes conjuntos de datos que incluyen libros, artículos, sitios web, y más. Este proceso de entrenamiento permite que el modelo aprenda patrones en el lenguaje y cómo utilizarlos para generar texto coherente.

Instalación de Ollama y LlaMA3 en el equipo, comencemos

Lo vamos a hacer de forma sencilla con ollama, lo primero de todo teneís que ir a la web:

https://ollama.com/

En mi caso he descargado la versión para windows.

 

Se puede comprobar que se encuentra instalado en el equipo ya que abre un servidor http en localhost ,

http://localhost:11434/

Lanzo el último modelo, si no se encuentra lo descarga. En este caso 5 gigas.

Importante:

Si tu tarjeta gráfica puede cargar el archivo en la memoria, el modelo funcionará muy rápido, a un ritmo de alrededor de 500 palabras por segundo. Si tienes que ejecutarlo en la CPU, será extremadamente lento, procesando entre 2 y 5 palabras por segundo.

Os dejo una imagen demo de unas pocas palabras para ver la velocidad en un equipo sin GPU.

Una vez en ejecución podemos usar la consola de comandos o montar una web que use la IA en local, como si fuera chatGPT

Si lo deseas, puedes instalar una interfaz web para facilitar la interacción con tu Chat Bot Llama 3. Hay varias opciones disponibles; personalmente, recomiendo esta: https://github.com/ivanfioravanti/chatbot-ollama, basada en el proyecto chatbot-ui de Mckay Wrigley.

Para instalarlo, primero crea una carpeta en la ubicación de tu elección en tu ordenador. Luego, dentro de esa carpeta, sigue estos pasos:

git clone https://github.com/ivanfioravanti/chatbot-ollama.git
npm ci
npm run dev

Y listo! Tendrás un ChatBot web conectado a tu modelo LLaMA3 funcionando en Ollama.

También puedes instalar docker desktop y despues desplegarlo

Docker

Build local:

docker build -t chatbot-ollama .
docker run -p 3000:3000 chatbot-ollama

Pull desde ghcr:
docker run -p 3000:3000 ghcr.io/ivanfioravanti/chatbot-ollama:main

Instalación en Visual studio y demo en un programa C#

OllamaSharp es una biblioteca de enlace (binding) de C# diseñada para facilitar la interacción con la API de Ollama utilizando los lenguajes del ecosistema .NET. Proporciona una forma sencilla de integrar las capacidades de procesamiento de lenguaje natural y generación de texto de Ollama en aplicaciones desarrolladas en C#. Con OllamaSharp, los desarrolladores pueden realizar solicitudes a la API de Ollama, enviar prompts, recibir respuestas y gestionar la comunicación con el modelo de inteligencia artificial de Ollama de manera eficiente y con menos código.

OllamaSharp simplifica la integración de funcionalidades avanzadas de procesamiento de lenguaje natural en tus aplicaciones .NET, permitiéndote enfocarte en el desarrollo de la lógica de tu aplicación sin preocuparte por los detalles de la comunicación con la API.

Para crear una aplicación en C# que se conecte con LLaMA3 usando Ollama y OllamaSharp, podemos seguir estos pasos:

1. Crear un nuevo proyecto en .NET
Primero, crea un nuevo proyecto de consola en .NET. Abre tu terminal y ejecuta el siguiente comando:

dotnet new console -n OllamaApp cd OllamaApp
2. Añadir el paquete OllamaSharp desde NuGet
A continuación, añade el paquete OllamaSharp a tu proyecto usando el siguiente comando:
dotnet add package OllamaSharp

3. Escribir el código para conectar con LLaMA3

Edita el archivo Program.cs para incluir el siguiente código, que muestra cómo utilizar OllamaSharp para conectar con LLaMA3 y realizar consultas.

using System;
using System.Threading.Tasks;
using OllamaSharp;

class Program
{
static async Task Main(string[] args)
{
// Configurar la conexión con Ollama
var client = new OllamaClient("your-ollama-api-key");

// Definir la consulta que deseas enviar a LLaMA3
string query = "Hola, ¿cómo estás?";

try
{
// Enviar la consulta y obtener la respuesta
var response = await client.QueryLLaMA3Async(query);

// Mostrar la respuesta en la consola
Console.WriteLine("Respuesta de LLaMA3:");
Console.WriteLine(response);
}
catch (Exception ex)
{
Console.WriteLine("Error al conectar con LLaMA3:");
Console.WriteLine(ex.Message);
}
}
}

4. Configurar la API Key de Ollama

Asegúrate de reemplaza “your-ollama-api-key” con tu propia clave de API de Ollama. Puedes obtener esta clave registrándote en el sitio web de Ollama y creando un proyecto. Puedes poner la que quieras, al ser gratuito.

5. Ejecutar la aplicación

Finalmente, ejecuta la aplicación usando el siguiente comando en tu terminal:

dotnet run

Si todo está configurado correctamente, deberías ver la respuesta de LLaMA3 en la consola.

Consideraciones Adicionales

  • Asegúrate de manejar las excepciones adecuadamente en tu código para una mayor robustez.
  • Podrías necesitar configurar permisos de red o ajustes de firewall si estás trabajando en un entorno restringido.

Este es un ejemplo básico para empezar. Dependiendo de tus necesidades, puedes ampliar esta aplicación para incluir más funcionalidades, como una interfaz gráfica de usuario, almacenamiento de resultados, etc.

 

Anexo ->  ver una comparativa de LLM.

https://chat.lmsys.org/

 

Etiquetas:
Home Sin categoría Proyectos con la IA de LLaMA 3 en local y .NET
© www.palentino.es, desde el 2012 - Un Blog para compartir conocimientos ...

Uso de cookies en mi sitio palentino.es

Este sitio web utiliza cookies para que tengamos la mejor experiencia de usuario. Si continúas navegando estás dando tu consentimiento para la aceptación de las mencionadas cookies y la aceptación de la política de cookies

ACEPTAR
Aviso de cookies