Spaces:
Sleeping
Sleeping
File size: 1,048 Bytes
33f44dd 8330c96 33f44dd a269d46 8330c96 a269d46 8330c96 a269d46 8330c96 a269d46 5dd3e3f a269d46 33f44dd a269d46 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 | from fastapi import FastAPI, Request
from transformers import AutoModelForCausalLM, AutoTokenizer
from peft import PeftModel
import torch
import uvicorn
app = FastAPI()
print("Loading base model...")
base_model = AutoModelForCausalLM.from_pretrained(
"unsloth/mistral-7b-instruct-v0.3-bnb-4bit",
device_map="cpu"
)
print("Base model loaded")
print("Loading NYXA adapter...")
model = PeftModel.from_pretrained(base_model, "ScuraDimensions/NYXA-Mistral-7B")
tokenizer = AutoTokenizer.from_pretrained("ScuraDimensions/NYXA-Mistral-7B")
print("NYXA loaded")
@app.post("/generate")
async def generate(request: Request):
data = await request.json()
prompt = data.get("prompt", "")
inputs = tokenizer(prompt, return_tensors="pt")
outputs = model.generate(**inputs, max_new_tokens=500)
response = tokenizer.decode(outputs[0], skip_special_tokens=True)
return {"response": response}
@app.get("/health")
def health():
return {"status": "ok"}
if __name__ == "__main__":
uvicorn.run(app, host="0.0.0.0", port=7860) |