Implantando Open LLMs com o Servidor LLAMA-CPP: Um Guia Passo a Passo
Implantando Open LLMs com o Servidor LLAMA-CPP: Um Guia Passo a Passo. Aprenda como instalar e configurar o servidor LLAMA-CPP para servir modelos de linguagem de grande porte de código aberto, fazendo solicitações via cURL, cliente OpenAI e pacote de solicitações do Python. Otimize para implantação local e remota.
15 de fevereiro de 2025

Desbloqueie o poder dos modelos de linguagem de código aberto (LLMs) com este guia abrangente sobre a implantação do Servidor LLAMA-CPP. Descubra como atender vários usuários com um único LLM, otimizando o desempenho e a acessibilidade para suas aplicações alimentadas por IA.
Instalando o LLAMA-CPP
Iniciando o Servidor LLAMA-CPP
Fazendo Solicitações ao Servidor LLAMA-CPP
Personalizando o Servidor LLAMA-CPP
Interagindo com o Servidor LLAMA-CPP Usando Diferentes Métodos
Conclusão
Instalando o LLAMA-CPP
Instalando o LLAMA-CPP
A maneira mais fácil de começar com o LLAMA-CPP é usar o gerenciador de pacotes Homebrew para instalá-lo. Isso funcionará nativamente em máquinas macOS e Linux. Para instalar o LLAMA-CPP em uma máquina Windows, você precisará usar o Windows Subsystem for Linux (WSL).
Para instalar o LLAMA-CPP usando o Homebrew, execute o seguinte comando no seu terminal:
brew install llama-cpp
Esse comando baixará e instalará o pacote LLAMA-CPP em seu sistema. Após a conclusão da instalação, você pode começar a usar o comando llama-server
para servir seus modelos LLM.
Iniciando o Servidor LLAMA-CPP
Iniciando o Servidor LLAMA-CPP
Para iniciar o servidor LLAMA-CPP, siga estas etapas:
-
Instale o LLAMA-CPP usando o gerenciador de pacotes Homebrew:
brew install llama.cpp
Esse comando instalará o LLAMA-CPP em seu Mac ou máquina Linux. Para usuários do Windows, você precisará usar o WSL (Windows Subsystem for Linux) para instalar o LLAMA-CPP.
-
Inicie o servidor LLAMA-CPP executando o seguinte comando:
llama-server --model <hugging-face-repo-id> --model-file <quantization-file>
Substitua
<hugging-face-repo-id>
pelo ID do repositório Hugging Face do modelo que você deseja servir e<quantization-file>
pelo arquivo de quantização específico que você deseja usar (por exemplo, a versão quantizada em 4 bits no formato GGML). -
O servidor LLAMA-CPP começará a ouvir as solicitações recebidas em
localhost:8080
por padrão. Você pode personalizar o endereço do host e a porta usando as opções disponíveis, como--host
e--port
. -
O servidor suporta várias opções de configuração, incluindo a definição da janela de contexto máxima, tamanho do lote e muito mais. Você pode explorar essas opções executando
llama-server --help
. -
Depois que o servidor estiver em execução, você poderá interagir com ele usando diferentes métodos, como cURL, o cliente OpenAI ou o pacote Python
requests
, conforme demonstrado nas seções anteriores.
Fazendo Solicitações ao Servidor LLAMA-CPP
Fazendo Solicitações ao Servidor LLAMA-CPP
Existem várias maneiras de interagir com o servidor LLAMA-CPP e fazer solicitações ao modelo servido:
-
Usando o comando cURL:
curl -X POST -H "Content-Type: application/json" -d '{"prompt": "Hello, how are you?", "max_tokens": 50}' http://localhost:8080/v1/chat/completions
Isso fará uma solicitação POST para o endpoint de conclusão de chat em execução no host local na porta 8080.
-
Usando o cliente OpenAI:
import openai openai.api_base = "http://localhost:8080/v1" openai.Model.list() response = openai.ChatCompletion.create( model="chat-gpt-3.5", messages=[ {"role": "system", "content": "You are a helpful assistant."}, {"role": "user", "content": "Hello, how are you?"} ] ) print(response.choices[0].message.content)
Isso usa o cliente OpenAI para interagir com o servidor LLAMA-CPP, que é compatível com a API OpenAI.
-
Usando o pacote Python Requests:
import requests url = "http://localhost:8080/v1/chat/completions" headers = {"Content-Type": "application/json"} data = { "prompt": "Hello, how are you?", "max_tokens": 50 } response = requests.post(url, headers=headers, json=data) print(response.json())
Isso usa o pacote Python Requests para fazer uma solicitação POST para o endpoint de conclusão de chat.
Personalizando o Servidor LLAMA-CPP
Personalizando o Servidor LLAMA-CPP
O LLAMA-CPP fornece um servidor altamente personalizável que permite que você ajuste o comportamento da implantação do seu LLM. Aqui estão algumas das principais opções que você pode configurar:
-
Janela de Contexto Máxima: Você pode definir o tamanho máximo da janela de contexto para o LLM, que determina o comprimento máximo da sequência de entrada que o modelo pode processar.
-
Tamanho do Lote: O LLAMA-CPP suporta o agrupamento de prompts, permitindo que você processe várias entradas simultaneamente para melhorar o desempenho. Você pode configurar o tamanho do lote para otimizar o desempenho.
-
Endereço do Host: Por padrão, o servidor LLAMA-CPP escuta em
localhost
, mas você pode alterar o endereço do host para tornar o servidor acessível a partir de outras máquinas em sua rede. -
Porta: O servidor escuta na porta
8080
por padrão, mas você pode especificar uma porta diferente, se necessário. -
Caminho do Modelo: O LLAMA-CPP permite que você personalize o caminho a partir do qual ele carrega os arquivos do modelo LLM, dando a você flexibilidade na organização de seus ativos de modelo.
-
Modelos de Embedding: Além dos modelos de linguagem, o LLAMA-CPP também pode servir modelos de embedding, permitindo que você integre recursos de geração de texto e codificação de texto em seus aplicativos.
-
Rastreamento de Métricas: O servidor LLAMA-CPP pode rastrear várias métricas, como latência e taxa de transferência de solicitações, para ajudá-lo a monitorar e otimizar o desempenho de sua implantação.
Interagindo com o Servidor LLAMA-CPP Usando Diferentes Métodos
Interagindo com o Servidor LLAMA-CPP Usando Diferentes Métodos
Para interagir com o servidor LLAMA-CPP, podemos usar vários métodos:
-
Usando o Comando cURL:
- Faça uma solicitação POST para o endpoint
chat completion
em execução nolocalhost
. - Forneça os cabeçalhos necessários e o objeto de dados contendo o prompt e o número desejado de tokens a serem gerados.
- A resposta incluirá o texto gerado, bem como informações sobre o processo de geração, como temperatura, top-P, top-K e tokens previstos por segundo.
- Faça uma solicitação POST para o endpoint
-
Usando o Cliente OpenAI:
- Crie um cliente OpenAI com a URL base definida para a URL do servidor LLAMA-CPP local.
- Use o endpoint de conclusão de chat do cliente e forneça o nome do modelo (por exemplo,
chat-gpt-3.5
). - Defina o prompt do sistema e o prompt do usuário, em seguida, faça a solicitação ao servidor.
- A resposta será retornada no mesmo formato da API OpenAI.
-
Usando o Pacote Requests (Python):
- Defina a URL e os cabeçalhos para a solicitação POST.
- Passe várias mensagens diferentes para o servidor e observe como ele processa as solicitações de forma concorrente.
- O servidor enfileirará as solicitações e as processará uma de cada vez, sem ficar sobrecarregado.
Conclusão
Conclusão
Neste vídeo, exploramos a instalação e o uso do LlamaCPP, um poderoso projeto de código aberto para servir modelos de linguagem de grande porte de código aberto. Aprendemos como instalar o LlamaCPP em nossa máquina local, iniciar o servidor e interagir com ele usando vários métodos, incluindo cURL, o cliente OpenAI e o pacote Python requests.
Também discutimos as várias opções de configuração disponíveis no LlamaCPP, permitindo que personalizemos o servidor de acordo com nossas necessidades específicas, como definir a janela de contexto máxima, o tamanho do lote e o endereço do host. Além disso, vimos como o LlamaCPP pode rastrear métricas, tornando-o uma escolha adequada para ambientes de produção.
Finalmente, abordamos as aplicações práticas do LlamaCPP, particularmente no contexto da implantação de modelos de linguagem de grande porte para vários casos de uso. Mencionamos o framework Rasa como uma aplicação potencial e fornecemos um link para um curso relacionado na descrição do vídeo.
Em geral, este vídeo forneceu uma introdução abrangente ao LlamaCPP e suas capacidades, equipando você com o conhecimento para começar a servir modelos de linguagem de grande porte de código aberto em sua máquina local ou em um ambiente de produção.
Perguntas frequentes
Perguntas frequentes