Vilyam888 commited on
Commit
95b9705
·
verified ·
1 Parent(s): 7e6772d

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +3 -45
app.py CHANGED
@@ -1,7 +1,7 @@
1
  """
2
  Gradio Space для интерактивного использования модели Code Analyzer
3
  Модель анализирует код студента на основе условия задачи
4
- Поддерживает как веб-интерфейс, так и API endpoint через FastAPI
5
  """
6
  import gradio as gr
7
  from transformers import AutoModelForCausalLM, AutoTokenizer
@@ -107,7 +107,7 @@ with gr.Blocks(title="Code Analyzer Model") as demo:
107
  3. Нажмите "Анализировать код"
108
  4. Получите детальный анализ в формате JSON
109
 
110
- **API Endpoint:** `/api/analyze` - используйте для интеграции в другие проекты
111
  """)
112
 
113
  with gr.Row():
@@ -176,47 +176,5 @@ with gr.Blocks(title="Code Analyzer Model") as demo:
176
  outputs=[result_output, result_text]
177
  )
178
 
179
- # Добавляем FastAPI endpoint для API доступа
180
- from fastapi import FastAPI
181
- from fastapi.middleware.cors import CORSMiddleware
182
- from pydantic import BaseModel
183
-
184
- api_app = FastAPI(title="Code Analyzer API")
185
-
186
- api_app.add_middleware(
187
- CORSMiddleware,
188
- allow_origins=["*"],
189
- allow_credentials=True,
190
- allow_methods=["*"],
191
- allow_headers=["*"],
192
- )
193
-
194
- class AnalyzeRequest(BaseModel):
195
- task: str
196
- code: str
197
-
198
- @api_app.post("/api/analyze")
199
- async def api_analyze(request: AnalyzeRequest):
200
- """API endpoint для анализа кода"""
201
- result_str = analyze_code(request.task, request.code)
202
- try:
203
- result_json = json.loads(result_str)
204
- return {"success": True, "analysis": result_json}
205
- except:
206
- return {"success": True, "analysis": {"raw_response": result_str}}
207
-
208
- @api_app.get("/api/health")
209
- async def health():
210
- """Проверка здоровья API"""
211
- return {
212
- "status": "ok",
213
- "model_loaded": model is not None and tokenizer is not None
214
- }
215
-
216
- # Интегрируем FastAPI с Gradio
217
- app = gr.mount_gradio_app(api_app, demo, path="/")
218
-
219
  if __name__ == "__main__":
220
- # Запуск через uvicorn для поддержки FastAPI
221
- import uvicorn
222
- uvicorn.run(app, host="0.0.0.0", port=7860)
 
1
  """
2
  Gradio Space для интерактивного использования модели Code Analyzer
3
  Модель анализирует код студента на основе условия задачи
4
+ Поддерживает как веб-интерфейс, так и API endpoint
5
  """
6
  import gradio as gr
7
  from transformers import AutoModelForCausalLM, AutoTokenizer
 
107
  3. Нажмите "Анализировать код"
108
  4. Получите детальный анализ в формате JSON
109
 
110
+ **API Endpoint:** Используйте встроенный API Gradio через `/api/predict`
111
  """)
112
 
113
  with gr.Row():
 
176
  outputs=[result_output, result_text]
177
  )
178
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
179
  if __name__ == "__main__":
180
+ demo.launch(theme=gr.themes.Soft(), server_name="0.0.0.0")