Mahmoud Amiri
change chat completion to text to text
a256d3e
raw
history blame
1.8 kB
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()