File size: 2,300 Bytes
01b6230 6e26571 01b6230 6e26571 ecd5e22 efd8602 ecd5e22 c43f857 01b6230 83bb155 6e26571 941f5ca 6e26571 013bfec 37cd238 80974fc 11d07e4 a7d53ec 11d07e4 bb3ad1f 80974fc f06d789 37cd238 a21e898 37cd238 9332fb5 a21e898 59de313 a21e898 37cd238 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 80 81 82 83 |
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("DrDomedag/LocoLamav3M4bit")
"""The following models work as well"""
#client = InferenceClient("T3lli/test_v2")
#client = InferenceClient("DrDomedag/HumanDialoguev2")
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="Word Game",
description="This is a friendly chatbot game.",
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_input = gr.Textbox(label="Enter Title", value="Initial Title")
chat_interface = gr.ChatInterface(
respond,
title="title_input", # Dynamically set the title
additional_inputs=[title_input], # Pass the title input to the `respond` function
)"""
if __name__ == "__main__":
demo.launch() |