Spaces:
Running
Running
File size: 4,244 Bytes
738953f 0187999 738953f d40212f 738953f 8298882 a000d3e d40212f a000d3e 99ff628 a000d3e d49fd2b a8db81b 389cd6c 885e40e e627f14 32f683a 7b4c465 885e40e 7b4c465 4dfe0d2 508369d fe70582 508369d 5a01777 83a09dd 508369d 4dfe0d2 885e40e 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=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)
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,
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) |