ayureasehealthcare commited on
Commit
3273230
·
verified ·
1 Parent(s): 692bc2d

Update app/main.py

Browse files
Files changed (1) hide show
  1. app/main.py +53 -19
app/main.py CHANGED
@@ -1,28 +1,62 @@
1
- from fastapi import FastAPI
2
- from transformers import AutoTokenizer, AutoModelForCausalLM, pipeline
3
- import torch
 
4
 
5
  app = FastAPI()
6
 
7
- # Load tokenizer and model
8
- model_name = "ayureasehealthcare/llama3-ayurveda-text-v4" # replace with your actual model
9
- tokenizer = AutoTokenizer.from_pretrained(model_name, trust_remote_code=True)
10
 
11
- model = AutoModelForCausalLM.from_pretrained(
12
- model_name,
13
- device_map="auto",
14
- torch_dtype=torch.float16,
15
- trust_remote_code=True # necessary for mllama / Unsloth models
16
- )
17
 
18
- # Create pipeline
19
- pipe = pipeline("text-generation", model=model, tokenizer=tokenizer)
 
 
 
 
 
 
 
 
 
20
 
21
  @app.get("/")
22
  def read_root():
23
- return {"message": "Ayurveda LLM is running!"}
 
 
 
 
24
 
25
- @app.get("/generate/")
26
- def generate(text: str):
27
- output = pipe(text, max_new_tokens=100, do_sample=True, temperature=0.7)
28
- return {"output": output[0]["generated_text"]}
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ from fastapi import FastAPI, Request
2
+ from pydantic import BaseModel
3
+ from app.model import load_model, generate_response
4
+ import uvicorn
5
 
6
  app = FastAPI()
7
 
8
+ # Load model at startup
9
+ model, tokenizer = load_model()
 
10
 
11
+ class QueryRequest(BaseModel):
12
+ prompt: str
13
+ max_new_tokens: int = 512
14
+ temperature: float = 0.7
15
+ top_p: float = 0.95
 
16
 
17
+ @app.post("/generate")
18
+ async def generate_text(request: QueryRequest):
19
+ output = generate_response(
20
+ model=model,
21
+ tokenizer=tokenizer,
22
+ prompt=request.prompt,
23
+ max_new_tokens=request.max_new_tokens,
24
+ temperature=request.temperature,
25
+ top_p=request.top_p
26
+ )
27
+ return {"response": output}
28
 
29
  @app.get("/")
30
  def read_root():
31
+ return {"message": "AyurEze LLaMA3 Ayurveda API is running"}
32
+ from fastapi import FastAPI, Request
33
+ from pydantic import BaseModel
34
+ from app.model import load_model, generate_response
35
+ import uvicorn
36
 
37
+ app = FastAPI()
38
+
39
+ # Load model at startup
40
+ model, tokenizer = load_model()
41
+
42
+ class QueryRequest(BaseModel):
43
+ prompt: str
44
+ max_new_tokens: int = 512
45
+ temperature: float = 0.7
46
+ top_p: float = 0.95
47
+
48
+ @app.post("/generate")
49
+ async def generate_text(request: QueryRequest):
50
+ output = generate_response(
51
+ model=model,
52
+ tokenizer=tokenizer,
53
+ prompt=request.prompt,
54
+ max_new_tokens=request.max_new_tokens,
55
+ temperature=request.temperature,
56
+ top_p=request.top_p
57
+ )
58
+ return {"response": output}
59
+
60
+ @app.get("/")
61
+ def read_root():
62
+ return {"message": "AyurEze LLaMA3 Ayurveda API is running"}