Spaces:
Sleeping
Sleeping
Update app.py
Browse files
app.py
CHANGED
|
@@ -20,13 +20,21 @@ class ChatRequest(BaseModel):
|
|
| 20 |
message: str
|
| 21 |
reset_history: bool = False # Флаг для очистки истории
|
| 22 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 23 |
# Инициализация модели
|
| 24 |
def initialize_model(
|
| 25 |
-
model_name: str
|
| 26 |
-
sys_message: str
|
| 27 |
-
tokens: int
|
| 28 |
-
temp: float
|
| 29 |
-
top_p_value: float
|
| 30 |
):
|
| 31 |
global client, system_message, max_tokens, temperature, top_p
|
| 32 |
client = InferenceClient(model_name)
|
|
@@ -35,6 +43,21 @@ def initialize_model(
|
|
| 35 |
temperature = temp
|
| 36 |
top_p = top_p_value
|
| 37 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 38 |
# Маршрут для обработки запросов
|
| 39 |
@app.post("/chat")
|
| 40 |
async def chat(request: ChatRequest):
|
|
@@ -91,7 +114,13 @@ async def get_status():
|
|
| 91 |
}
|
| 92 |
|
| 93 |
# Инициализация модели при запуске
|
| 94 |
-
initialize_model(
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 95 |
|
| 96 |
# Запуск приложения (для локального тестирования)
|
| 97 |
if __name__ == "__main__":
|
|
|
|
| 20 |
message: str
|
| 21 |
reset_history: bool = False # Флаг для очистки истории
|
| 22 |
|
| 23 |
+
# Модель данных для инициализации
|
| 24 |
+
class InitializeRequest(BaseModel):
|
| 25 |
+
model_name: str = "Qwen/Qwen2.5-Coder-32B-Instruct"
|
| 26 |
+
system_message: str = "You are a friendly Chatbot."
|
| 27 |
+
max_tokens: int = 1024
|
| 28 |
+
temperature: float = 0.7
|
| 29 |
+
top_p: float = 0.95
|
| 30 |
+
|
| 31 |
# Инициализация модели
|
| 32 |
def initialize_model(
|
| 33 |
+
model_name: str,
|
| 34 |
+
sys_message: str,
|
| 35 |
+
tokens: int,
|
| 36 |
+
temp: float,
|
| 37 |
+
top_p_value: float,
|
| 38 |
):
|
| 39 |
global client, system_message, max_tokens, temperature, top_p
|
| 40 |
client = InferenceClient(model_name)
|
|
|
|
| 43 |
temperature = temp
|
| 44 |
top_p = top_p_value
|
| 45 |
|
| 46 |
+
# Маршрут для инициализации модели
|
| 47 |
+
@app.post("/initialize")
|
| 48 |
+
async def initialize(request: InitializeRequest):
|
| 49 |
+
try:
|
| 50 |
+
initialize_model(
|
| 51 |
+
model_name=request.model_name,
|
| 52 |
+
sys_message=request.system_message,
|
| 53 |
+
tokens=request.max_tokens,
|
| 54 |
+
temp=request.temperature,
|
| 55 |
+
top_p_value=request.top_p,
|
| 56 |
+
)
|
| 57 |
+
return {"status": "Model initialized successfully."}
|
| 58 |
+
except Exception as e:
|
| 59 |
+
raise HTTPException(status_code=500, detail=str(e))
|
| 60 |
+
|
| 61 |
# Маршрут для обработки запросов
|
| 62 |
@app.post("/chat")
|
| 63 |
async def chat(request: ChatRequest):
|
|
|
|
| 114 |
}
|
| 115 |
|
| 116 |
# Инициализация модели при запуске
|
| 117 |
+
initialize_model(
|
| 118 |
+
model_name="Qwen/Qwen2.5-Coder-32B-Instruct",
|
| 119 |
+
sys_message="You are a friendly Chatbot.",
|
| 120 |
+
tokens=1024,
|
| 121 |
+
temp=0.7,
|
| 122 |
+
top_p_value=0.95,
|
| 123 |
+
)
|
| 124 |
|
| 125 |
# Запуск приложения (для локального тестирования)
|
| 126 |
if __name__ == "__main__":
|