File size: 2,022 Bytes
01b6230 6e26571 01b6230 6e26571 724ddcd 01b6230 83bb155 6e26571 941f5ca 6e26571 013bfec 937c8cb 80974fc 11d07e4 e7c3890 97b7017 11d07e4 bb3ad1f 80974fc f06d789 937c8cb 83bb155 937c8cb e473f5d d06eedf 937c8cb 80974fc 00a9a1b 80974fc |
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 |
import gradio as gr
from huggingface_hub import InferenceClient
"""
For more information on `huggingface_hub` Inference API support, please check the docs: https://huggingface.co/docs/huggingface_hub/v0.22.2/en/guides/inference
"""
client = InferenceClient("T3lli/Iris")
name = "Elli"
def respond(
message,
history: list[tuple[str, str]],
system_message,
max_tokens,
temperature,
top_p,
):
messages = [{"role": "system", "content": system_message}]
for val in history:
if val[0]:
messages.append({"role": "user", "content": val[0]})
if val[1]:
messages.append({"role": "assistant", "content": val[1]})
messages.append({"role": "user", "content": message})
response = ""
for message in client.chat_completion(
messages,
max_tokens=max_tokens,
stream=True,
temperature=temperature,
top_p=top_p,
):
token = message.choices[0].delta.content
response += token
yield response
"""
For information on how to customize the ChatInterface, peruse the gradio docs: https://www.gradio.app/docs/chatinterface
"""
"""demo = gr.ChatInterface(
respond,
title="**Your word** \ Score \ Prompts left ",
description="This is a friendly chatbot.",
additional_inputs=[
gr.Textbox(value="You are a friendly Chatbot.", label="System message"),
gr.Slider(minimum=1, maximum=2048, value=512, step=1, label="Max new tokens"),
gr.Slider(minimum=0.1, maximum=4.0, value=0.75, step=0.1, label="Temperature"),
gr.Slider(
minimum=0.1,
maximum=1.0,
value=0.95,
step=0.05,
label="Top-p (nucleus sampling)",
),
],
theme = "soft",
)"""
with gr.Blocks() as demo:
title = name
chat_interface = gr.ChatInterface(
respond,
title=name, # Dynamically set the title
)
if __name__ == "__main__":
demo.launch() |