Spaces:
Paused
Paused
from fastapi import APIRouter, Request | |
from llm_model import Message | |
from chat_handler import handle_chat | |
from core import service_config, session_store, llm_models | |
import uuid | |
router = APIRouter() | |
def start_chat(request: Request): | |
project_name = request.query_params.get("project_name") | |
if not project_name: | |
return {"error": "project_name parametresi gereklidir."} | |
session = session_store.create_session(project_name) | |
return {"session_id": session.session_id} | |
async def chat_endpoint(msg: Message, request: Request): | |
session_id = request.headers.get("X-Session-ID") | |
if not session_id: | |
return {"error": "Session ID eksik."} | |
session = session_store.get_session(session_id) | |
if not session: | |
return {"error": "Geçersiz veya süresi dolmuş session."} | |
project_name = session.project_name | |
llm_model = llm_models.get(project_name) | |
if llm_model is None: | |
return {"error": f"{project_name} için model yüklenmemiş."} | |
return await handle_chat(msg, request, None, service_config, session, llm_model) | |