Spaces:
Build error
Build error
Subida a S3 eliminada
Browse files
starvector/serve/vllm_api_gradio/gradio_web_server.py
CHANGED
|
@@ -8,13 +8,6 @@ import requests
|
|
| 8 |
from starvector.serve.conversation import default_conversation
|
| 9 |
from starvector.serve.constants import LOGDIR, CLIP_QUERY_LENGTH
|
| 10 |
from starvector.serve.util import (build_logger, server_error_msg)
|
| 11 |
-
import boto3
|
| 12 |
-
import hashlib
|
| 13 |
-
from io import BytesIO
|
| 14 |
-
|
| 15 |
-
# Configure your S3 bucket and key prefix (you can also use environment variables)
|
| 16 |
-
S3_BUCKET_NAME = os.getenv("S3_BUCKET_NAME", "your-bucket-name")
|
| 17 |
-
S3_KEY_PREFIX = os.getenv("S3_KEY_PREFIX", "uploads")
|
| 18 |
|
| 19 |
logger = build_logger("gradio_web_server", "gradio_web_server.log")
|
| 20 |
headers = {"User-Agent": "StarVector Client"}
|
|
@@ -27,11 +20,6 @@ priority = {
|
|
| 27 |
"starvector-1b": "aaaaaaa",
|
| 28 |
}
|
| 29 |
|
| 30 |
-
|
| 31 |
-
# Configure your S3 bucket and key prefix (you can also use environment variables)
|
| 32 |
-
S3_BUCKET_NAME = os.getenv("S3_BUCKET_NAME", "your-bucket-name")
|
| 33 |
-
S3_KEY_PREFIX = os.getenv("S3_KEY_PREFIX", "starvector_uploads")
|
| 34 |
-
|
| 35 |
def get_conv_log_filename():
|
| 36 |
t = datetime.datetime.now()
|
| 37 |
name = os.path.join(LOGDIR, f"{t.year}-{t.month:02d}-{t.day:02d}-conv.json")
|
|
@@ -120,22 +108,6 @@ def clear_history(request: gr.Request):
|
|
| 120 |
state = default_conversation.copy()
|
| 121 |
return (state, None, None) + (disable_btn,) * 7
|
| 122 |
|
| 123 |
-
def upload_image_to_s3(image, bucket_name=S3_BUCKET_NAME, key_prefix=S3_KEY_PREFIX):
|
| 124 |
-
"""
|
| 125 |
-
Upload a PIL Image to S3.
|
| 126 |
-
"""
|
| 127 |
-
s3 = boto3.client("s3")
|
| 128 |
-
buffer = BytesIO()
|
| 129 |
-
# Save image to buffer; adjust format as needed (e.g., "PNG" or "JPEG")
|
| 130 |
-
image.save(buffer, format="JPEG")
|
| 131 |
-
buffer.seek(0)
|
| 132 |
-
# Create a unique S3 key using a timestamp
|
| 133 |
-
timestamp = datetime.datetime.now().strftime("%Y%m%d%H%M%S")
|
| 134 |
-
img_md5 = str(hashlib.md5(buffer.getvalue()).hexdigest())
|
| 135 |
-
s3_key = f"{key_prefix}/image_{img_md5}.jpeg"
|
| 136 |
-
s3.upload_fileobj(buffer, bucket_name, s3_key)
|
| 137 |
-
return s3_key
|
| 138 |
-
|
| 139 |
def send_data(state, image, image_process_mode, text_caption, task, request: gr.Request):
|
| 140 |
logger.info(f"send_data. ip: {request.client.host}.")
|
| 141 |
if task == 'Image2SVG':
|
|
@@ -143,14 +115,10 @@ def send_data(state, image, image_process_mode, text_caption, task, request: gr.
|
|
| 143 |
state.skip_next = True
|
| 144 |
return (state, None, None, image) + (no_change_btn,) * 7
|
| 145 |
|
| 146 |
-
# Upload the image to S3
|
| 147 |
-
s3_key = upload_image_to_s3(image)
|
| 148 |
-
logger.info(f"Image uploaded to S3 at key: {s3_key}")
|
| 149 |
-
|
| 150 |
# Reset the conversation state when a new image is uploaded
|
| 151 |
state = default_conversation.copy()
|
| 152 |
|
| 153 |
-
# Prepare image message
|
| 154 |
image_message = (image, image_process_mode)
|
| 155 |
state.append_message(state.roles[0], image_message)
|
| 156 |
state.append_message(state.roles[1], "▌")
|
|
|
|
| 8 |
from starvector.serve.conversation import default_conversation
|
| 9 |
from starvector.serve.constants import LOGDIR, CLIP_QUERY_LENGTH
|
| 10 |
from starvector.serve.util import (build_logger, server_error_msg)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 11 |
|
| 12 |
logger = build_logger("gradio_web_server", "gradio_web_server.log")
|
| 13 |
headers = {"User-Agent": "StarVector Client"}
|
|
|
|
| 20 |
"starvector-1b": "aaaaaaa",
|
| 21 |
}
|
| 22 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 23 |
def get_conv_log_filename():
|
| 24 |
t = datetime.datetime.now()
|
| 25 |
name = os.path.join(LOGDIR, f"{t.year}-{t.month:02d}-{t.day:02d}-conv.json")
|
|
|
|
| 108 |
state = default_conversation.copy()
|
| 109 |
return (state, None, None) + (disable_btn,) * 7
|
| 110 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 111 |
def send_data(state, image, image_process_mode, text_caption, task, request: gr.Request):
|
| 112 |
logger.info(f"send_data. ip: {request.client.host}.")
|
| 113 |
if task == 'Image2SVG':
|
|
|
|
| 115 |
state.skip_next = True
|
| 116 |
return (state, None, None, image) + (no_change_btn,) * 7
|
| 117 |
|
|
|
|
|
|
|
|
|
|
|
|
|
| 118 |
# Reset the conversation state when a new image is uploaded
|
| 119 |
state = default_conversation.copy()
|
| 120 |
|
| 121 |
+
# Prepare image message
|
| 122 |
image_message = (image, image_process_mode)
|
| 123 |
state.append_message(state.roles[0], image_message)
|
| 124 |
state.append_message(state.roles[1], "▌")
|