David commited on
Commit
b1d6dea
·
1 Parent(s): 70d6cd4

Refactor main.py to implement model loading on startup and add Hugging Face token login

Browse files
Files changed (1) hide show
  1. main.py +14 -2
main.py CHANGED
@@ -1,15 +1,27 @@
 
1
  from fastapi import FastAPI
2
  from pydantic import BaseModel
3
  from transformers import pipeline
 
4
 
5
- # Load a small model to test (can change to bigger one later)
6
- generator = pipeline("text-generation", model="mistralai/Mistral-7B-Instruct-v0.2")
 
7
 
8
  app = FastAPI()
9
 
10
  class Prompt(BaseModel):
11
  text: str
12
 
 
 
 
 
 
 
 
 
 
13
  @app.get("/")
14
  def read_root():
15
  return {"Hello": "docker embeddings!"}
 
1
+ import os
2
  from fastapi import FastAPI
3
  from pydantic import BaseModel
4
  from transformers import pipeline
5
+ from huggingface_hub import login
6
 
7
+ # Login if token is available (e.g., via Hugging Face Spaces secrets)
8
+ if "HF_TOKEN" in os.environ:
9
+ login(token=os.environ["HF_TOKEN"])
10
 
11
  app = FastAPI()
12
 
13
  class Prompt(BaseModel):
14
  text: str
15
 
16
+ @app.on_event("startup")
17
+ async def load_model():
18
+ global generator
19
+ try:
20
+ generator = pipeline("text-generation", model="mistralai/Mistral-7B-Instruct-v0.2", use_auth_token=True)
21
+ except Exception:
22
+ # fallback to public model
23
+ generator = pipeline("text-generation", model="distilgpt2")
24
+
25
  @app.get("/")
26
  def read_root():
27
  return {"Hello": "docker embeddings!"}