Siddhant
Update demo
b9a6dd9
import gradio as gr
disable_btn = gr.Button(interactive=False, visible=False)
def get_ip(request: gr.Request) -> str:
"""
Retrieve the IP address from an incoming HTTP request.
Args:
request (gr.Request):
The incoming HTTP request from which the IP address will be extracted.
Returns:
str:
The IP address as a string.
"""
if "cf-connecting-ip" in request.headers:
ip = request.headers["cf-connecting-ip"]
elif "x-forwarded-for" in request.headers:
ip = request.headers["x-forwarded-for"]
if "," in ip:
ip = ip.split(",")[0]
else:
ip = request.client.host
return ip
def natural_vote1_last_response(request: gr.Request):
"""
Handle a user vote for naturalness as "Very Natural".
Args:
request (gr.Request):
The Gradio request object providing access to HTTP headers and metadata.
Returns:
tuple:
A tuple containing:
("Very Natural", <ip_address>, (disable_btn,) * 4)
- "Very Natural": The selected vote or label.
- <ip_address>: The IP address of the client retrieved from the request.
- disable_btn: An object repeated four times,
to disable natural vote buttons.
"""
ip_address1 = get_ip(request)
print(f"Very Natural (voted). ip: {ip_address1}")
return (
"Very Natural",
ip_address1,
) + (disable_btn,) * 4
def natural_vote2_last_response(request: gr.Request):
"""
Handle a user vote for naturalness as "Somewhat Awkward".
Args:
request (gr.Request):
The Gradio request object providing access to HTTP headers and metadata.
Returns:
tuple:
A tuple containing:
("Somewhat Awkward", <ip_address>, (disable_btn,) * 4)
- "Somewhat Awkward": The selected vote or label.
- <ip_address>: The IP address of the client retrieved from the request.
- disable_btn: An object repeated four times,
to disable natural vote buttons.
"""
ip_address1 = get_ip(request)
print(f"Somewhat Awkward (voted). ip: {ip_address1}")
return (
"Somewhat Awkward",
ip_address1,
) + (disable_btn,) * 4
def natural_vote3_last_response(request: gr.Request):
"""
Handle a user vote for naturalness as "Very Awkward".
Args:
request (gr.Request):
The Gradio request object providing access to HTTP headers and metadata.
Returns:
tuple:
A tuple containing:
("Very Awkward", <ip_address>, (disable_btn,) * 4)
- "Very Awkward": The selected vote or label.
- <ip_address>: The IP address of the client retrieved from the request.
- disable_btn: An object repeated four times,
to disable natural vote buttons.
"""
ip_address1 = get_ip(request)
print(f"Very Awkward (voted). ip: {ip_address1}")
return (
"Very Awkward",
ip_address1,
) + (disable_btn,) * 4
def natural_vote4_last_response(request: gr.Request):
"""
Handle a user vote for naturalness as "Unnatural".
Args:
request (gr.Request):
The Gradio request object providing access to HTTP headers and metadata.
Returns:
tuple:
A tuple containing:
("Unnatural", <ip_address>, (disable_btn,) * 4)
- "Unnatural": The selected vote or label.
- <ip_address>: The IP address of the client retrieved from the request.
- disable_btn: An object repeated four times,
to disable natural vote buttons.
"""
ip_address1 = get_ip(request)
print(f"Unnatural (voted). ip: {ip_address1}")
return (
"Unnatural",
ip_address1,
) + (disable_btn,) * 4
def relevant_vote1_last_response(request: gr.Request):
"""
Handle a user vote for relevance as "Highly Relevant".
Args:
request (gr.Request):
The Gradio request object providing access to HTTP headers and metadata.
Returns:
tuple:
A tuple containing:
("Highly Relevant", <ip_address>, (disable_btn,) * 4)
- "Highly Relevant": The selected vote or label.
- <ip_address>: The IP address of the client retrieved from the request.
- disable_btn: An object repeated four times,
to disable relevance vote buttons.
"""
ip_address1 = get_ip(request)
print(f"Highly Relevant (voted). ip: {ip_address1}")
return (
"Highly Relevant",
ip_address1,
) + (disable_btn,) * 4
def relevant_vote2_last_response(request: gr.Request):
"""
Handle a user vote for relevance as "Partially Relevant".
Args:
request (gr.Request):
The Gradio request object providing access to HTTP headers and metadata.
Returns:
tuple:
A tuple containing:
("Partially Relevant", <ip_address>, (disable_btn,) * 4)
- "Partially Relevant": The selected vote or label.
- <ip_address>: The IP address of the client retrieved from the request.
- disable_btn: An object repeated four times,
to disable relevance vote buttons.
"""
ip_address1 = get_ip(request)
print(f"Partially Relevant (voted). ip: {ip_address1}")
return (
"Partially Relevant",
ip_address1,
) + (disable_btn,) * 4
def relevant_vote3_last_response(request: gr.Request):
"""
Handle a user vote for relevance as "Slightly Irrelevant".
Args:
request (gr.Request):
The Gradio request object providing access to HTTP headers and metadata.
Returns:
tuple:
A tuple containing:
("Slightly Irrelevant", <ip_address>, (disable_btn,) * 4)
- "Slightly Irrelevant": The selected vote or label.
- <ip_address>: The IP address of the client retrieved from the request.
- disable_btn: An object repeated four times,
to disable relevance vote buttons.
"""
ip_address1 = get_ip(request)
print(f"Slightly Irrelevant (voted). ip: {ip_address1}")
return (
"Slightly Irrelevant",
ip_address1,
) + (disable_btn,) * 4
def relevant_vote4_last_response(request: gr.Request):
"""
Handle a user vote for relevance as "Completely Irrelevant".
Args:
request (gr.Request):
The Gradio request object providing access to HTTP headers and metadata.
Returns:
tuple:
A tuple containing:
("Completely Irrelevant", <ip_address>, (disable_btn,) * 4)
- "Completely Irrelevant": The selected vote or label.
- <ip_address>: The IP address of the client retrieved from the request.
- disable_btn: An object repeated four times,
to disable relevance vote buttons.
"""
ip_address1 = get_ip(request)
print(f"Completely Irrelevant (voted). ip: {ip_address1}")
return (
"Completely Irrelevant",
ip_address1,
) + (disable_btn,) * 4