↓ Aller au contenu

IA Locale & Souveraine #2 : LLM en Python sans Ollama — llama.cpp brut

·260 mots·2 mins
Pierre Dupont
Auteur
Pierre Dupont
Data Architect Freelance | Expert Modern Data Stack Open Source | 20+ ans d’XP | KISS & DRY Advocate
IA Locale - Cet article fait partie d'une série.
Partie 2: Cet article

IA Locale & Souveraine #2 : LLM en Python sans Ollama — llama.cpp brut
#

IA Locale & Souveraine #2

Ollama c’est pratique. Mais parfois vous voulez juste from llama_cpp import Llama dans votre pipeline Python, sans serveur intermédiaire, sans API REST, sans couche en plus. Ce tuto montre comment.

Ce que fait ce tuto (en 15 min)
#

  • Construit une image de base unique (local-ia/base-llm) avec llama-cpp-python compilé (OpenBLAS activé) + venv isolé — build une seule fois pour tous les tutos 2 à 6.
  • Crée un volume shared-models monté sur /models : le modèle GGUF (Qwen2.5-3B-Instruct Q4_K_M, 1,8 Go) est téléchargé une seule fois, partagé par tous les conteneurs dérivés.
  • Deux approches au choix :
    • Image de base + llama.cpp : contrôle total, extensible, volume partagé.
    • llamafile : binaire unique portable (Cosmopolitan Libc), zéro build, zéro dépendance — idéal pour tester vite.
  • Test non-interactif, streaming token par token, changement de modèle à la volée (SmolLM2, Phi-3-mini…).

Pourquoi cette approche ?
#

CritèreOllama (tuto 1)llama.cpp direct (ce tuto)
Intégration PythonVia client HTTP / SDKNatif, in-process
OverheadServeur + APIZéro (appel fonction)
PersonnalisationModelfileCode Python pur
Poids déploiementImage + serveurImage de base partagée

Pour qui ?
#

Équipes Data/ML qui intègrent de l’inférence LLM dans leurs pipelines Python existants (Airflow, Prefect, scripts ETL, notebooks) — sans ajouter de service réseau à maintenir.

Accès au code complet
#

👉 Tutoriel pas à pas (GitHub) : 02-raw-llama/docs/tutoriel.md

Prochain épisode : on utilise ce socle pour classifier des tickets d’incidents — département, frustration, urgence — en JSON structuré, zéro hallucination.

IA Locale - Cet article fait partie d'une série.
Partie 2: Cet article