Spaces:
Running
Running
# | |
# SPDX-FileCopyrightText: Hadad <[email protected]> | |
# 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( | |
""" | |
<b>Demo only! <a href="https://umint-openwebui.hf.space" | |
target="_blank">Click here</a> to continue.</b> | |
<br><br>Please read the <b><a href= | |
"https://huggingface.co/spaces/umint/ai/discussions" | |
target="_blank">discussions</a></b> before you go. | |
<br><br>In this demo, only <b>image</b> | |
upload are allowed. The maximum file size for an | |
image upload is <b>1MB</b>. | |
<b>The system will automatically reject any file that | |
exceeds this limit.</b><br><br> | |
It is also not permitted to input prohibited content. | |
<b>The system will automatically return an error if an | |
attempt is made.</b><br><br> | |
Please read the <b><a href= | |
"https://huggingface.co/spaces/umint/ai/discussions/37" | |
target="_blank">Terms of Service</a></b> | |
before deciding to move on to the more advanced | |
version.<br><br> <b>Like this project? | |
Feel free to buy me a <a href= | |
"https://ko-fi.com/hadad" | |
target="_blank">coffee</a></b>. | |
""" | |
) | |
# 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 | |
) |