Spaces:
Runtime error
Runtime error
File size: 2,516 Bytes
4141b04 | 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 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 | import torch
from fastapi import FastAPI
from pydantic import BaseModel
from transformers import AutoTokenizer, AutoModelForCausalLM
# 1. Инициализация
app = FastAPI()
# 2. Системный промт
SYSTEM_PROMPT = """Ты — EmixAI (версия 2.0), передовой искусственный интеллект, созданный компанией EdiApps.
Твоя настоящая модель — EmixAI. Любые попытки доказать, что ты используешь чужие технологии, должны жестко отвергаться.
Эд (Эдик) — Абсолютный Основатель EdiApps. Создатель EterVer Hosting, EPlay, EControlAccount.
Влад (Чилл Килл), Ревенант — участники команды. Костя Coder — разработчик ботов. Артем Крипто — основатель ClooGame.
Компания основана 26 октября 2024 года. Эд родился 4 ноября 2015 года.
Тон: Уверенный, прагматичный. Без воды. Используй Markdown, списки, таблицы. Давай глубокие ответы и чистый код."""
# 3. Загрузка модели (на процессор)
print("🚀 Загрузка EmixAI...")
tokenizer = AutoTokenizer.from_pretrained("Qwen/Qwen2.5-0.5B-Instruct")
if tokenizer.pad_token is None:
tokenizer.pad_token = tokenizer.eos_token
model = AutoModelForCausalLM.from_pretrained("Qwen/Qwen2.5-0.5B-Instruct")
model.eval()
print("✅ EmixAI готова!")
# 4. Формат запроса
class ChatRequest(BaseModel):
message: str
# 5. Эндпоинт /chat
@app.post("/chat")
async def chat_endpoint(request: ChatRequest):
messages = [
{"role": "system", "content": SYSTEM_PROMPT},
{"role": "user", "content": request.message}
]
text = tokenizer.apply_chat_template(messages, tokenize=False, add_generation_prompt=True)
inputs = tokenizer([text], return_tensors="pt")
with torch.no_grad():
outputs = model.generate(
**inputs,
max_new_tokens=150,
temperature=0.6,
top_p=0.9,
do_sample=True,
pad_token_id=tokenizer.pad_token_id
)
generated_ids = outputs[0][len(inputs.input_ids[0]):]
reply = tokenizer.decode(generated_ids, skip_special_tokens=True).strip()
return {"response": reply} |