2025 · Arkiveret
dspy_llamacpp
En let Python-wrapper, jeg byggede til mit speciale, som starter, konfigurerer og rydder op efter llama.cpp's llama-server til DSPy-workflows.

Overblik
dspy_llamacpp er en lille Python-pakke, jeg byggede under arbejdet med mit speciale, hvor jeg havde brug for gentagelige lokale DSPy-eksperimenter oven på llama.cpp. I stedet for manuelt at starte llama-server, koble et LM-endpoint op og huske at lukke serveren ned, samler pakken livscyklussen i en AutoLlamaCpp-klasse.
Implementeringen starter llama-server i sin egen process group, accepterer keyword-style serverindstillinger, konfigurerer DSPy til at tale med det lokale endpoint og registrerer oprydning via atexit og signal handling. Målet var at undgå de memory- og cleanup-problemer, jeg havde mødt i andre lokale llama.cpp-tilgange.
Pakken kan installeres direkte fra GitHub og indeholder eksempler på at konfigurere modelstien via miljøvariabler, starte serveren og bruge DSPy-kald mod den kørende lokale model.
Højdepunkter
- Jeg byggede speciale-drevet tooling omkring llama.cpp's llama-server, så DSPy-eksperimenter kunne starte et lokalt model-endpoint med minimal boilerplate.
- Jeg håndterede process groups, atexit-oprydning og signal handling for at undgå hængende llama-server-processer.
- Jeg eksponerede serverindstillinger gennem en lille Python-API og konfigurerede samtidig DSPy's LM-klient automatisk.