1- import logging
21from typing import Dict , List , Optional
32
43from fastapi import FastAPI , HTTPException
54from pydantic import BaseModel
65
76from llm .agent import chat_with_agent
87
9- # Configure logging
10- logging .basicConfig (level = logging .INFO , format = "%(asctime)s - %(name)s - %(levelname)s - %(message)s" )
11- logger = logging .getLogger (__name__ )
12-
138app = FastAPI (
149 title = "AI Image Editor API" ,
1510 description = "API for AI-powered image editing assistant" ,
@@ -40,26 +35,14 @@ class ChatResponse(BaseModel):
4035
4136@app .get ("/" )
4237async def root ():
43- logger .info ("Root endpoint accessed" )
4438 return {"message" : "AI Image Editor API is running!" }
4539
4640
4741@app .get ("/health" )
4842async def health_check ():
49- logger .info ("Health check endpoint accessed" )
5043 return {"status" : "healthy" , "service" : "ai-image-editor-api" }
5144
5245
53- @app .get ("/logs" )
54- async def get_logs ():
55- """Get recent logs for debugging (development only)"""
56- logger .info ("Logs endpoint accessed" )
57- return {
58- "message" : "Check Hugging Face Space logs for detailed information" ,
59- "logs_url" : "https://huggingface.co/spaces/YOUR_USERNAME/YOUR_SPACE_NAME/logs" ,
60- }
61-
62-
6346@app .post ("/chat" , response_model = ChatResponse )
6447async def chat_endpoint (request : ChatRequest ):
6548 """
@@ -72,8 +55,6 @@ async def chat_endpoint(request: ChatRequest):
7255 ChatResponse with AI response, status, and optional generated image metadata.
7356 """
7457 try :
75- logger .info (f"Chat request received - user_id: { request .user_id } , message: { request .message [:100 ]} ..." )
76-
7758 # Use the LLM agent to get a response
7859 user_id = request .user_id or "default"
7960 response , generated_image_data = chat_with_agent (
@@ -82,19 +63,15 @@ async def chat_endpoint(request: ChatRequest):
8263 selected_images = request .selected_images ,
8364 )
8465
85- logger .info (f"Agent response received - has generated image: { generated_image_data is not None } " )
86-
8766 # Create response with optional generated image
8867 chat_response = ChatResponse (response = response , status = "success" )
8968
9069 if generated_image_data :
9170 chat_response .generated_image = GeneratedImage (** generated_image_data )
92- logger .info (f"Generated image data: { generated_image_data } " )
9371
9472 return chat_response
9573
9674 except Exception as e :
97- logger .error (f"Error processing chat request: { str (e )} " )
9875 raise HTTPException (status_code = 500 , detail = f"Error processing request: { str (e )} " )
9976
10077
0 commit comments