From 69d392c19959e52bf9f79a7ef8c5deac26d71d81 Mon Sep 17 00:00:00 2001
From: Hugo SIMON <hugo.simon@dgfip.finances.gouv.fr>
Date: Tue, 2 Jul 2024 13:22:55 +0200
Subject: [PATCH] feat: Add Ollama mode to makefile

---
 Makefile  | 10 ++++++++++
 README.md |  7 ++++++-
 2 files changed, 16 insertions(+), 1 deletion(-)

diff --git a/Makefile b/Makefile
index 863d0b6..1f787f1 100644
--- a/Makefile
+++ b/Makefile
@@ -3,8 +3,12 @@ SHELL := /bin/bash
 
 EMBEDDING_DIM ?= 1024
 
+use_ollama = 0
 use_proxy = 0
 
+LLM_OLLAMA ?=mistral
+EMBEDDING_OLLAMA ?=mxbai-embed-large
+
 base_api_img_tag = base-r1
 api_img_tag = 1.0
 web_img_tag = 1.0
@@ -80,6 +84,12 @@ else
 	--build-arg https_proxy_arg=""
 endif
 
+ifeq ($(use_ollama), 1)
+	@ollama serve & \
+	ollama run $(LLM_OLLAMA) & \
+	ollama pull $(EMBEDDING_OLLAMA) &
+endif
+
 	@cd docker_compose && \
 	docker compose -f external_components/docker_compose_mlflow.yml --env-file external_components/config.env up -d && \
 	docker compose -f docker_compose_caradoc.yml up -d && \
diff --git a/README.md b/README.md
index d2cfb2d..8efa001 100644
--- a/README.md
+++ b/README.md
@@ -126,11 +126,16 @@ Par la suite, pour lancer l'application, il suffit de lancer le script suivant :
 
 ```bash
 make launch-docker-compose EMBEDDING_DIM=1024
-```
+# make launch-docker-compose  use_ollama=1 LLM_OLLAMA=mistral EMBEDDING_OLLAMA=mxbai-embed-large EMBEDDING_DIM=1024
 
+```
 Cela lancera notre application ainsi que le script permettant de créer une collection dans qdrant au nom : `caradoc`
 
+NB : Il est possible de lancer l'application avec un serveru ollama directement avec le flag use_ollama=1
+
+Le choix du modèle est disponible à l'aide des deux arguments : LLM_OLLAMA et EMBEDDING_OLLAMA
 
+Les modèles disponibles sont dans [la documentation d'Ollama](https://ollama.com/library) 
 ### 3. Installation via Helm
 Charts Helm [ici](./k8s/charts/README.md)
 
-- 
GitLab