AbuAlone09 commited on
Commit
29b7a44
·
verified ·
1 Parent(s): ceb5a79

Update backend_api.py

Browse files
Files changed (1) hide show
  1. backend_api.py +9 -7
backend_api.py CHANGED
@@ -729,13 +729,16 @@ def extract_reasoning(code: str, language: str) -> str:
729
  async def generate_code(request: CodeGenerationRequest, authorization: Optional[str] = Header(None)):
730
  query = request.query
731
  language = request.language
732
- model_id = request.model_id # Ví dụ: "gemini-1.5-flash" hoặc "gemini-1.5-pro"
 
 
 
 
733
 
734
  async def event_stream() -> AsyncGenerator[str, None]:
735
  try:
736
- # 1. Khởi tạo model Gemini trực tiếp
737
- # Không cần qua get_inference_client hay get_real_model_id cũ
738
- model = genai.GenerativeModel(model_id)
739
 
740
  # 2. Định nghĩa System Prompt
741
  system_prompt = SYSTEM_PROMPT_CACHE.get(language, GENERIC_SYSTEM_PROMPT.format(language=language))
@@ -747,7 +750,6 @@ async def generate_code(request: CodeGenerationRequest, authorization: Optional[
747
  # 4. Stream phản hồi về frontend
748
  for chunk in response:
749
  if chunk.text:
750
- # Giữ nguyên định dạng JSON để frontend không cần sửa code
751
  yield f"data: {json.dumps({'type': 'chunk', 'content': chunk.text})}\n\n"
752
  await asyncio.sleep(0.001)
753
 
@@ -755,11 +757,11 @@ async def generate_code(request: CodeGenerationRequest, authorization: Optional[
755
  yield f"data: {json.dumps({'type': 'complete'})}\n\n"
756
 
757
  except Exception as e:
758
- # Gửi thông báo lỗi chi tiết nếu
759
  yield f"data: {json.dumps({'type': 'error', 'message': str(e)})}\n\n"
760
 
761
  return StreamingResponse(event_stream(), media_type="text/event-stream")
762
-
763
  @app.post("/api/deploy")
764
  async def deploy(
765
  request: DeploymentRequest,
 
729
  async def generate_code(request: CodeGenerationRequest, authorization: Optional[str] = Header(None)):
730
  query = request.query
731
  language = request.language
732
+ model_id = request.model_id # Ví dụ: "gemini-1.5-flash"
733
+
734
+ # Đảm bảo model_id có tiền tố 'models/' để tránh lỗi 404
735
+ if not model_id.startswith("models/"):
736
+ model_id = f"models/{model_id}"
737
 
738
  async def event_stream() -> AsyncGenerator[str, None]:
739
  try:
740
+ # 1. Khởi tạo model với ID đã chuẩn hóa
741
+ model = genai.GenerativeModel(model_name=model_id)
 
742
 
743
  # 2. Định nghĩa System Prompt
744
  system_prompt = SYSTEM_PROMPT_CACHE.get(language, GENERIC_SYSTEM_PROMPT.format(language=language))
 
750
  # 4. Stream phản hồi về frontend
751
  for chunk in response:
752
  if chunk.text:
 
753
  yield f"data: {json.dumps({'type': 'chunk', 'content': chunk.text})}\n\n"
754
  await asyncio.sleep(0.001)
755
 
 
757
  yield f"data: {json.dumps({'type': 'complete'})}\n\n"
758
 
759
  except Exception as e:
760
+ # Gửi thông báo lỗi chi tiết để debug
761
  yield f"data: {json.dumps({'type': 'error', 'message': str(e)})}\n\n"
762
 
763
  return StreamingResponse(event_stream(), media_type="text/event-stream")
764
+
765
  @app.post("/api/deploy")
766
  async def deploy(
767
  request: DeploymentRequest,