DevOps à l'ère de l'IA
Cycle de vie du modèle
Conversions de format de fichier de modèle (Facultatif)
Antécédents
Conditionnement et expédition de modèles
Modèles Open Source
Ollama
brew install ollama
ollama pull llama3.2
ollama serve
LlamaCpp
brew install llamacpp
llama-server --hf-repo hugging-quants/Llama-3.2-1B-Instruct-Q8_0-GGUF --hf-file llama-3.2-1b-instruct-q8_0.gguf -c 2048
Ollama dans Docker
FROM ollama/ollama:0.3.12
# Écouter sur toutes les interfaces, port 8080
ENV OLLAMA_HOST 0.0.0.0:8080
# Stocker les fichiers de poids du modèle dans /models
ENV OLLAMA_MODELS /models
# Réduire la verbosité des logs
ENV OLLAMA_DEBUG false
# Ne jamais décharger les poids du modèle du GPU
ENV OLLAMA_KEEP_ALIVE -1
# Stocker les poids du modèle dans l'image du conteneur
ENV MODEL gemma2:9b
RUN ollama serve & sleep 5 && ollama pull $MODEL
# Démarrer Ollama
ENTRYPOINT ["ollama", "serve"]
Variables prises en charge :
-
MODEL(variable de construction) -
OLLAMA_HOST(variable d'exécution) -
OLLAMA_NUM_PARALLEL(variable d'exécution)
LlamaCpp dans Docker
FROM ghcr.io/ggerganov/llama.cpp:server
# Créer des répertoires pour le serveur et les modèles
RUN mkdir -p /app/models
# Télécharger le fichier modèle dans /app/models
EXPOSE 8080
# Commande pour exécuter le serveur au démarrage du conteneur
ENTRYPOINT ["llama-server", "-m", "/app/models/llama-3.2-1b-instruct-q8_0.gguf", "-c", "2048"]
Documentation Docker de LlamaCpp
Portons vers Dagger et publions sur Google Cloud Registry
Dagger
brew install dagger
Example:
dagger call --interactive function-name --project-path=./path-to-project-in-repo \
--src-dir=https://user:$GITHUB_TOKEN@github.com/user/reponame#branchname --image-name="gcr.io/organization/project/image-name"
Déployer l'application UI
npm run build
cd client
fly launch
