Spaces:
Running
Running
File size: 3,823 Bytes
738953f d40212f 738953f d40212f 738953f 8d0f449 0aef7de 738953f 8298882 a000d3e d40212f a000d3e 4dfe0d2 a000d3e d49fd2b 0aef7de 32f683a d7ad13d 5a01777 32f683a 7b4c465 4dfe0d2 508369d fe70582 508369d 5a01777 508369d 4dfe0d2 a000d3e |
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 |
from huggingface_hub import InferenceClient
import gradio as gr
client = InferenceClient("mistralai/Mixtral-8x7B-Instruct-v0.1")
def format_prompt(message, history):
prompt = "<s>"
for user_prompt, bot_response in history:
prompt += f"[INST] {user_prompt} [/INST]"
prompt += f" {bot_response}</s> "
prompt += f"[INST] {message} [/INST]"
return prompt
def generate(
prompt, history, temperature=0.2, max_new_tokens=256, top_p=0.95, repetition_penalty=1.0,
):
temperature = float(temperature)
if temperature < 1e-2:
temperature = 1e-2
top_p = float(top_p)
generate_kwargs = dict(
temperature=temperature,
max_new_tokens=max_new_tokens,
top_p=top_p,
repetition_penalty=repetition_penalty,
do_sample=True,
seed=42,
)
formatted_prompt = format_prompt(prompt, history)
stream = client.text_generation(formatted_prompt, **generate_kwargs, stream=True, details=True, return_full_text=False)
output = ""
for response in stream:
output += response.token.text
yield output
return output
custom_html = ""<div style="background-color: white; padding: 10px; text-align: center;"><h2>Custom HTML Content</h2><p>This is an example of adding custom HTML content to the Gradio interface.</p></div>""
mychatbot = gr.Chatbot(
avatar_images=["./user.png", "./botm.png"], bubble_full_width=False, show_label=False, show_copy_button=True, likeable=True,)
demo = gr.ChatInterface(fn=generate,
chatbot=mychatbot,
title="Elisa AI",
retry_btn=None,
undo_btn=None,
html=custom_html,
css="body { background-color: inherit; }"
"#component-2 {display: none;}"
"div#component-0 { height: auto !important;}"
".gradio-container.gradio-container-4-8-0.svelte-1kyws56.app {max-width: 100% !important;}"
"gradio-app {background: linear-gradient(134deg,#00425e 0%,#001a3f 43%,#421438 77%) !important; background-attachment: fixed !important; background-position: top;}"
".panel.svelte-vt1mxs {background: transparent;}"
".block.svelte-90oupt { background: transparent; border-color: transparent;}"
".bot.svelte-12dsd9j.svelte-12dsd9j.svelte-12dsd9j { background: #ffffff1a; border-color: transparent; color: white;}"
".user.svelte-12dsd9j.svelte-12dsd9j.svelte-12dsd9j { background: #ffffff1a; border-color: transparent; color: white; padding: 10px 18px;}"
"div.svelte-iyf88w{ background: #cc98d445; border-color: transparent; border-radius: 25px;}"
"textarea.scroll-hide.svelte-1f354aw { background: transparent; color: #fff !important;}"
".primary.svelte-cmf5ev { background: transparent; color: white;}"
".primary.svelte-cmf5ev:hover { background: transparent; color: white;}"
"button#component-8 { display: none; position: absolute; margin-top: 60px; border-radius: 25px;}"
"button#component-10 { flex: none; margin-left: auto; border-radius: 25px;}"
".share-button.svelte-12dsd9j { display: none;}"
"footer.svelte-mpyp5e { display: none !important;}"
".message-buttons-bubble.svelte-12dsd9j.svelte-12dsd9j.svelte-12dsd9j { border-color: #31546E; background: #31546E;}"
)
demo.queue().launch(show_api=False) |