klydekushy commited on
Commit
de3503b
·
verified ·
1 Parent(s): bd9312e

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +28 -14
app.py CHANGED
@@ -1,28 +1,42 @@
1
- from fastapi import FastAPI, Request
2
  from pydantic import BaseModel
3
  import chromadb
4
  from sentence_transformers import SentenceTransformer
5
- import numpy as np
6
- import google.generativeai as genai
7
  import os
 
8
 
9
- # Secrets Hugging Face / environnement
10
- GEMINI_API_KEY = os.environ.get("GEMINI_API_KEY", "")
11
- genai.configure(api_key=GEMINI_API_KEY)
12
- model_gemini = genai.GenerativeModel("gemini-2.0-flash-lite")
13
-
14
- # Utilisez /tmp/ qui est toujours accessible en écriture
15
- cache_dir = "/tmp/model_cache"
16
- os.makedirs(cache_dir, exist_ok=True)
17
 
18
- # Chargement du modèle avec cache personnalisé
19
- model = SentenceTransformer('all-MiniLM-L6-v2', cache_folder=cache_dir)
 
 
 
 
 
 
 
 
 
 
 
 
20
 
21
- # Initialiser ChromaDB - utilisez aussi /tmp/ si possible
22
  client = chromadb.PersistentClient(path="/tmp/chroma_db")
23
 
 
 
 
 
 
24
  app = FastAPI()
25
 
 
 
26
  class Query(BaseModel):
27
  query: str
28
 
 
1
+ from fastapi import FastAPI
2
  from pydantic import BaseModel
3
  import chromadb
4
  from sentence_transformers import SentenceTransformer
 
 
5
  import os
6
+ import google.generativeai as genai
7
 
8
+ # === 1. Configurer le cache dans /tmp/ (accessible en écriture) ===
9
+ os.environ['HF_HOME'] = '/tmp/huggingface' # Dossier pour les modèles Hugging Face
10
+ os.environ['TRANSFORMERS_CACHE'] = '/tmp/huggingface' # Dossier pour Transformers
11
+ os.makedirs('/tmp/huggingface', exist_ok=True) # Crée le dossier si inexistant
 
 
 
 
12
 
13
+ # === 2. Charger le modèle avec gestion des erreurs ===
14
+ try:
15
+ # Essayer avec le nom court
16
+ model = SentenceTransformer(
17
+ 'all-MiniLM-L6-v2',
18
+ cache_folder='/tmp/huggingface'
19
+ )
20
+ except Exception as e:
21
+ print(f"Erreur de chargement (nom court): {e}")
22
+ # Fallback: utiliser le nom complet du modèle
23
+ model = SentenceTransformer(
24
+ 'sentence-transformers/all-MiniLM-L6-v2',
25
+ cache_folder='/tmp/huggingface'
26
+ )
27
 
28
+ # === 3. Configurer ChromaDB dans /tmp/ ===
29
  client = chromadb.PersistentClient(path="/tmp/chroma_db")
30
 
31
+ # === 4. Configurer Gemini (existant) ===
32
+ GEMINI_API_KEY = os.environ.get("GEMINI_API_KEY", "")
33
+ genai.configure(api_key=GEMINI_API_KEY)
34
+ model_gemini = genai.GenerativeModel("gemini-2.0-flash-lite")
35
+
36
  app = FastAPI()
37
 
38
+ # ... (le reste de votre code reste inchangé) ...
39
+
40
  class Query(BaseModel):
41
  query: str
42