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) | |