Spaces:
Running
Running
File size: 4,446 Bytes
738953f b33ea97 738953f b33ea97 738953f b33ea97 738953f 8298882 a000d3e b33ea97 389cd6c 885e40e e627f14 32f683a 7b4c465 885e40e 7b4c465 4dfe0d2 508369d fe70582 508369d 5a01777 83a09dd 508369d 4dfe0d2 885e40e b33ea97 a000d3e b33ea97 |
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 |
from huggingface_hub import InferenceClient
import gradio as gr
client = InferenceClient("mistralai/Mixtral-8x7B-Instruct-v0.1")
def format_prompt(message, history, system_prompt=None):
prompt = "<s>"
for user_prompt, bot_response in history:
prompt += f"[INST] {user_prompt} [/INST]"
prompt += f" {bot_response}</s> "
if system_prompt:
prompt += f"[SYS] {system_prompt} [/SYS]"
prompt += f"[INST] {message} [/INST]"
return prompt
def generate(
prompt, history, system_prompt=None, temperature=0.2, max_new_tokens=512, 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, system_prompt)
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
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="Hello! I'm Elisa by SpriFi.π How can I help you today?",
retry_btn=None,
undo_btn=None,
examples=[
["Hello", [], "Your name is Elisa, an AI created by SpriFi Inc. on February 14 2023.", 0.2, 512, 0.95, 1.0],
# Add more examples as needed
],
css="body { background-color: inherit; overflow-x:hidden;}"
":root {--color-accent: transparent !important; --color-accent-soft:transparent !important; --code-background-fill:black !important;}"
"#component-2 {background:#ffffff1a; display:contents;}"
"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; padding:0;}"
".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; min-width:fit-content;}"
".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;}"
".bubble-wrap.svelte-12dsd9j.svelte-12dsd9j.svelte-12dsd9j {padding: 0;}"
".prose h1 { color: white !important; font-size: 16px !important; font-weight: normal !important; background: #ffffff1a; padding: 20px; border-radius: 20px; width: fit-content; margin-left: auto !important; margin-right: auto !important;}"
)
demo.queue().launch(show_api=False)
|