alexfremont commited on
Commit
5160659
·
1 Parent(s): c35fb5d

Add Gradio UI service and update Docker config for dual API/UI setup

Browse files
Files changed (4) hide show
  1. Dockerfile +2 -1
  2. app.py +24 -0
  3. docker-compose.yml +12 -1
  4. requirements.txt +2 -1
Dockerfile CHANGED
@@ -21,6 +21,7 @@ ENV HOME=/home/user \
21
 
22
  # Exposer le port sur lequel l'application va tourner
23
  EXPOSE 7860
 
24
 
25
 
26
  # RUN --mount=type=secret,id=api_read,mode=0444,required=true \
@@ -30,4 +31,4 @@ EXPOSE 7860
30
  # git clone $(cat /run/secrets/api_read)
31
 
32
  # Commande pour lancer l'application
33
- CMD ["uvicorn", "main:app", "--host", "0.0.0.0", "--port", "7860"]
 
21
 
22
  # Exposer le port sur lequel l'application va tourner
23
  EXPOSE 7860
24
+ EXPOSE 8000
25
 
26
 
27
  # RUN --mount=type=secret,id=api_read,mode=0444,required=true \
 
31
  # git clone $(cat /run/secrets/api_read)
32
 
33
  # Commande pour lancer l'application
34
+ CMD ["uvicorn", "main:app", "--host", "0.0.0.0", "--port", "8000"]
app.py ADDED
@@ -0,0 +1,24 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # Interface Gradio pour afficher la liste des modèles chargés
2
+ import gradio as gr
3
+ import asyncio
4
+ from db.models import fetch_models_for_group
5
+ from models.loader import load_models, model_pipelines
6
+ from config.settings import RESOURCE_GROUP
7
+
8
+ async def init_models():
9
+ """Charger les modèles au démarrage"""
10
+ models_data = await fetch_models_for_group(RESOURCE_GROUP)
11
+ await load_models(models_data)
12
+
13
+ # Initialisation des modèles
14
+ asyncio.run(init_models())
15
+
16
+ def get_model_list():
17
+ """Retourner la liste des modèles chargés"""
18
+ return list(model_pipelines.keys())
19
+
20
+ with gr.Blocks() as demo:
21
+ demo.title("Tamis AI - Liste des modèles chargés")
22
+ gr.JSON(get_model_list)
23
+
24
+ demo.launch()
docker-compose.yml CHANGED
@@ -1,11 +1,22 @@
1
  version: '3.8'
2
 
3
  services:
4
- inference-lamp-api:
5
  build: .
 
6
  ports:
7
  - "8000:8000"
8
  volumes:
9
  - .:/app
 
 
 
 
 
 
 
 
 
 
10
  env_file:
11
  - .env
 
1
  version: '3.8'
2
 
3
  services:
4
+ api:
5
  build: .
6
+ command: uvicorn main:app --host 0.0.0.0 --port 8000
7
  ports:
8
  - "8000:8000"
9
  volumes:
10
  - .:/app
11
+ env_file:
12
+ - .env
13
+
14
+ ui:
15
+ build: .
16
+ command: python app.py
17
+ ports:
18
+ - "7860:7860"
19
+ volumes:
20
+ - .:/app
21
  env_file:
22
  - .env
requirements.txt CHANGED
@@ -8,4 +8,5 @@ huggingface_hub
8
  torch
9
  numpy
10
  httpx
11
- asyncpg
 
 
8
  torch
9
  numpy
10
  httpx
11
+ asyncpg
12
+ gradio