# # SPDX-FileCopyrightText: Hadad # SPDX-License-Identifier: Apache-2.0 # import os # Used for accessing environment variables import gradio as gr # Used to create the user interface # Gradio user interface with gr.Blocks( fill_height=True, # Adjusting to the height of the user's screen fill_width=True # Adjusting to the width of the user's screen ) as app: # Sidebar with gr.Sidebar(): # Project description gr.HTML( """ Demo only! Click here to continue.

Please read the discussions before you go.

In this demo, only image upload are allowed. The maximum file size for an image upload is 1MB. The system will automatically reject any file that exceeds this limit.

It is also not permitted to input prohibited content. The system will automatically return an error if an attempt is made.

Please read the Terms of Service before deciding to move on to the more advanced version.

Like this project? Feel free to buy me a coffee. """ ) # Load chat interface gr.load_chat( os.getenv("OPENAI_API_BASE_URL"), # Endpoint token=os.getenv("OPENAI_API_KEY"), # API Key model="gpt-4.1-nano", # Model chatbot=gr.Chatbot( label="ChatGPT | GPT-4.1 (Nano)", # Chatbot title type="messages", # OpenAI-style messages format show_copy_button=True, # Allow users to copy responses scale=1 # Standard display scaling ), file_types=["image"], # Multimodal examples=[ ["Please introduce yourself."], [{"text": "Explain about this image.", "files": ["assets/images/9299765.jpg"]}], ["Give me a short introduction to large language model."], ["Explain about quantum computers."] ], # Provide sample inputs for users to try cache_examples=False, # Ensure responses always fresh show_api=False # Disable Gradio API ) # Start the app app.launch( max_file_size="1mb", # Max image upload size limit server_name="0.0.0.0", # Listen on all network interfaces pwa=True # Progressive Web App )