mbaye commited on
Commit
7ddf5c9
·
1 Parent(s): 1f05c91

exposition du modele Mistral

Browse files
Files changed (3) hide show
  1. app.py +28 -20
  2. requirements.txt +2 -1
  3. start.sh +9 -11
app.py CHANGED
@@ -1,26 +1,34 @@
 
 
1
  import requests
 
2
 
3
- # Configuration
4
- OLLAMA_URL = "http://localhost:11434/api/generate" # API locale par défaut
5
- MODEL_NAME = "mistral:7b-instruct-q4_K_M" # Le modèle que tu veux utiliser
6
 
7
- # Exemple de prompt
8
- prompt = "Explique-moi la théorie de la relativité de manière simple."
9
 
10
- # Corps de la requête
11
- payload = {
12
- "model": MODEL_NAME,
13
- "prompt": prompt,
14
- "stream": False # Si tu veux une réponse en streaming, mets True
15
- }
16
 
17
- # Appel de l’API Ollama
18
- response = requests.post(OLLAMA_URL, json=payload)
 
 
 
 
 
 
 
 
 
 
 
19
 
20
- # Traitement de la réponse
21
- if response.status_code == 200:
22
- data = response.json()
23
- print("Réponse du modèle :")
24
- print(data.get("response"))
25
- else:
26
- print(f"Erreur {response.status_code} : {response.text}")
 
1
+ from fastapi import FastAPI, Request
2
+ from pydantic import BaseModel
3
  import requests
4
+ import uvicorn
5
 
6
+ app = FastAPI()
 
 
7
 
8
+ OLLAMA_URL = "http://localhost:11434/api/generate"
9
+ MODEL_NAME = "mistral:7b-instruct-q4_K_M"
10
 
11
+ class PromptRequest(BaseModel):
12
+ prompt: str
 
 
 
 
13
 
14
+ @app.post("/generate")
15
+ def generate_text(request_data: PromptRequest):
16
+ payload = {
17
+ "model": MODEL_NAME,
18
+ "prompt": request_data.prompt,
19
+ "stream": False
20
+ }
21
+ response = requests.post(OLLAMA_URL, json=payload)
22
+ if response.status_code == 200:
23
+ data = response.json()
24
+ return {"response": data.get("response")}
25
+ else:
26
+ return {"error": response.status_code, "message": response.text}
27
 
28
+ @app.get("/")
29
+ def read_root():
30
+ return {"message": "Bienvenue sur l'API FastAPI + Ollama"}
31
+
32
+ if __name__ == "__main__":
33
+ # Démarrage du serveur FastAPI
34
+ uvicorn.run(app, host="0.0.0.0", port=7860)
requirements.txt CHANGED
@@ -4,4 +4,5 @@ langchain-ollama
4
  ollama
5
  fastapi
6
  uvicorn
7
- pydantic
 
 
4
  ollama
5
  fastapi
6
  uvicorn
7
+ pydantic
8
+ requests
start.sh CHANGED
@@ -1,17 +1,15 @@
1
  #!/bin/bash
2
 
3
- # Démarrer le serveur Ollama en arrière-plan
4
  echo "Démarrage du serveur Ollama..."
5
  ollama serve &
6
- sleep 1 # Attente pour que le serveur démarre bien
7
 
8
- # Extraire les modèles de la variable d’environnement et les télécharger
9
- IFS=',' read -ra MODELS <<< "$model"
10
- for m in "${MODELS[@]}"; do
11
- echo "Téléchargement du modèle : $m"
12
- ollama pull "$m"
13
- sleep 5
14
- done
15
 
16
- # Garder le conteneur en vie tant que le serveur tourne
17
- wait
 
 
1
  #!/bin/bash
2
 
3
+ # Démarrer Ollama en arrière-plan
4
  echo "Démarrage du serveur Ollama..."
5
  ollama serve &
6
+ sleep 5
7
 
8
+ # Télécharger le modèle
9
+ echo "Téléchargement du modèle : $model"
10
+ ollama pull "$model"
11
+ sleep 5
 
 
 
12
 
13
+ # Lancer FastAPI via uvicorn
14
+ echo "Lancement de FastAPI..."
15
+ uvicorn app:app --host 0.0.0.0 --port 7860