2025 · Arquivado
dspy_llamacpp
Um wrapper leve em Python que criei para a minha tese, para iniciar, configurar e encerrar o llama-server do llama.cpp em workflows com DSPy.

Visão geral
O dspy_llamacpp é um pequeno pacote Python que criei enquanto trabalhava na minha tese de mestrado, onde precisava de experiências locais repetíveis com DSPy sobre llama.cpp. Em vez de iniciar manualmente o llama-server, configurar o endpoint LM e lembrar de o encerrar, o pacote encapsula esse ciclo de vida numa classe AutoLlamaCpp.
A implementação inicia o llama-server no seu próprio process group, aceita opções do servidor em formato keyword-style, configura o DSPy para comunicar com o endpoint local e regista limpeza através de atexit e signal handling. O objetivo foi evitar problemas de memória e limpeza que encontrei noutras abordagens locais com llama.cpp.
O pacote pode ser instalado diretamente a partir do GitHub e inclui exemplos para configurar o caminho do modelo via variáveis de ambiente, iniciar o servidor e usar chamadas DSPy contra o modelo local em execução.
Destaques
- Criei tooling para a tese à volta do llama-server do llama.cpp para que experiências com DSPy pudessem iniciar um endpoint local com pouco boilerplate.
- Tratei process groups, limpeza com atexit e signal handling para evitar processos llama-server pendurados.
- Expus opções do servidor através de uma pequena API em Python, configurando automaticamente o cliente LM do DSPy.