File size: 1,802 Bytes
ed16dde dc732ec ed16dde dc732ec ed16dde fad1354 dc732ec fad1354 dc732ec ed16dde dc732ec a256d3e dc732ec b2f2152 dc732ec b2f2152 a256d3e dc732ec a256d3e ed16dde a256d3e fad1354 dc732ec fad1354 dc732ec ed16dde dc732ec fad1354 dc732ec |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 |
import gradio as gr
from huggingface_hub import InferenceClient
from typing import List, Dict
# Response function for the chatbot
def respond(
message: str,
history: List[Dict[str, str]],
system_message: str,
max_tokens: int,
temperature: float,
top_p: float,
hf_token: gr.OAuthToken,
):
"""
Sends a user input to the summarization model using text-to-text interface.
"""
client = InferenceClient(
token=hf_token.token,
model="Bocklitz-Lab/lit2vec-tldr-bart-model"
)
# You can prepend the system message if needed
input_text = f"{system_message}\n\n{message}"
response = client.text_to_text(
input=input_text,
max_new_tokens=max_tokens,
temperature=temperature,
top_p=top_p
)
yield response
# Define the Gradio interface
chatbot = gr.ChatInterface(
fn=respond,
type="messages",
additional_inputs=[
gr.Textbox(
value="You are a friendly chatbot.",
label="System message",
lines=1
),
gr.Slider(
minimum=1,
maximum=2048,
value=512,
step=1,
label="Max new tokens"
),
gr.Slider(
minimum=0.1,
maximum=4.0,
value=0.7,
step=0.1,
label="Temperature"
),
gr.Slider(
minimum=0.1,
maximum=1.0,
value=0.95,
step=0.05,
label="Top-p (nucleus sampling)"
),
],
)
# Set up the full Gradio Blocks layout with login
with gr.Blocks() as demo:
with gr.Row():
with gr.Column(scale=1):
gr.LoginButton()
chatbot.render()
# Run the app
if __name__ == "__main__":
demo.launch()
|