LLaMA C++ - Utilize Inteligência Artificial no seu computador ou smartphone

🚀 Um inferência LLM feita com C++


LLaMA C++ - Utilize Inteligência Artificial no seu computador ou smartphone


llama.cpp é uma biblioteca de software de código aberto escrita em C++ que realiza inferência em vários modelos de grandes linguagens, como Llama. Junto com a biblioteca, um CLI e um servidor web estão inclusos. Foi desenvolvida junto com o projeto GGML, uma biblioteca tensora de uso geral.

Foi desenvolvida por Georgi Gerganov, formado em Física, no final de 2022 e inspirada pela LibNC que foi criado por Fabrice Bellard inventor do FFmpeg e do QuickJS.

O diferencial do LLaMA C++ é que não possui depedências e funciona em computadores sem GPU e smartphones. LLaMA.cpp utiliza o formato de arquivo GGUF que é um formato binário que armazena tensores e metadados em um único arquivo.


Instalação

Você pode utilizar binários pré-compilados para Windows, macOS, GNU/Linux e FreeBSD.

Basta fazer o download na página de releases. Exemplo para Ubuntu(funciona e serve em qualquer distro, mas precisa ter a lib cURL instalada):

Exemplo para a versão de build: 3615.

curl -LO https://github.com/ggerganov/llama.cpp/releases/download/b3615/llama-b3615-bin-ubuntu-x64.zip
unzip llama-b3615-bin-ubuntu-x64.zip
cd build
./llama-cli --help

Você também pode compilar do zero, foi assim que eu fiz, pois desta forma há optimizações na construção para seu hardware. Basta clonar o repositório do GitHub e compilar com make:

git clone https://github.com/ggerganov/llama.cpp
cd llama.cpp
make
./llama-cli --help

Utilização

Você precisará de algum modelo de exemplo, existem modelos para diversos propósitos: Criar conversa para Chat, Gerar código de linguagens de programação,… E você pode procurar e fazer download no site: Hugging Face. Exemplo de download para um Modelo para Chat: Qwen1.5-4B-Chat-GGUF

curl -LO 'https://huggingface.co/Qwen/Qwen1.5-4B-Chat-GGUF/resolve/main/qwen1_5-4b-chat-q4_k_m.gguf?download=true'

Para mais informações acesse a aba Files and versions no link: https://huggingface.co/Qwen/Qwen1.5-4B-Chat-GGUF.

Agora basta usar o llama-cli e rodar com os seguintes parâmetros:

Nesse exemplo, vamos supôr que queremos que a I.A. no responda: O que é C++?(em inglês):

./llama-cli -m qwen1_5-4b-chat-q4_k_m.gguf -p "Whats is C++?" -n 128
  • -m para indicar o caminho do modelo;
  • -p para fazer a pergunta;
  • e -n é usado para especificar o número de tokens que o modelo deve gerar em resposta a uma entrada. Neste caso, o valor 128 indica que o modelo deve gerar até 128 tokens.

Aguarde, em alguns casos, dependendo do seu hardware, pode demorar.


Conclusão

Eu achei o projeto excelente, principalmente porque você pode usá-lo na sua máquina sem nenhum custo e nem regra de contas free. No entanto, apesar de toda a melhoria significativa, aqueles que possuem somente CPU e com 2 núcleos não terá muita facilidade de uso, sem dizer que essa simples pergunta consumiu quase 15GB da minha RAM.

Mas, isso é porque meu hardware realmente está bem defasado, porém, mesmo assim, rodou!

Existem alguns front-end para o LLaMA C++, incluindo server web e desktop, dentre eles:

Além de diversos outros citados no próprio repositório do llama.cpp, além de várias outras informações que você pode obter por lá!


inteligenciaartificial cpp


Compartilhe


Nosso canal no Youtube

Inscreva-se


Marcos Oliveira

Marcos Oliveira

Desenvolvedor de software
https://github.com/terroo


Crie Aplicativos Gráficos para Linux e Windows com C++

Aprenda C++ Moderno e crie Games, Programas CLI, GUI e TUI de forma fácil.

Saiba Mais

Receba as novidades no seu e-mail!

Após cadastro e confirmação do e-mail, enviaremos semanalmente resumos e também sempre que houver novidades por aqui para que você mantenha-se atualizado!