Spaces:
Runtime error
Runtime error
| import torch | |
| from fastapi import FastAPI | |
| from pydantic import BaseModel | |
| from transformers import AutoModelForCausalLM, AutoTokenizer | |
| app = FastAPI() | |
| # Laad jouw eigen getrainde model in | |
| model_path = "./SpaceStar-0.01-Final" | |
| tokenizer = AutoTokenizer.from_pretrained(model_path) | |
| model = AutoModelForCausalLM.from_pretrained(model_path).to("cpu") | |
| class ChatRequest(BaseModel): | |
| message: str | |
| system_prompt: str = "Je bent SpaceStar 0.01, een geavanceerde AI-assistent die gespecialiseerd is in programmeren, wiskunde en communicatie in het Nederlands en Engels." | |
| async def chat(request: ChatRequest): | |
| # Formatteer het gesprek in de Qwen-stijl | |
| messages = [ | |
| {"role": "system", "content": request.system_prompt}, | |
| {"role": "user", "content": request.message} | |
| ] | |
| text = tokenizer.apply_chat_template(messages, tokenize=False, add_generation_prompt=True) | |
| model_inputs = tokenizer([text], return_tensors="pt").to("cpu") | |
| # Genereer het antwoord | |
| generated_ids = model.generate( | |
| **model_inputs, | |
| max_new_tokens=256, | |
| temperature=0.7, | |
| top_p=0.9 | |
| ) | |
| # Filter de input-tokens weg zodat we alleen het antwoord overhouden | |
| generated_ids = [ | |
| output_ids[len(input_ids):] for input_ids, output_ids in zip(model_inputs.input_ids, generated_ids) | |
| ] | |
| response = tokenizer.batch_decode(generated_ids, skip_special_tokens=True)[0] | |
| return {"response": response} | |
| def home(): | |
| return {"status": "SpaceStar 0.01 is online and ready!"} |