Spaces:
Sleeping
Sleeping
File size: 2,456 Bytes
424ded8 4f2e42d d4bed37 4f2e42d 424ded8 c6e7871 65f71e8 e7ebb9a c6e7871 4f2e42d 1482961 4f2e42d 1482961 4f2e42d 1482961 d4bed37 |
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 |
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("HuggingFaceH4/zephyr-7b-beta")
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
"""
athena = gr.ChatInterface(
respond,
additional_inputs=[
gr.Textbox(
value="""
You are a personal assistant to a team of English as a Foreign Language teachers.
One of the most challenging tasks for EFL teachers is coming up with activities and vocabulary for their classes.
You will be given a theme, a task and a level (beginner, intermediate, upper intermediate, advanced).
This task will be either providing helpful vocabulary or creating a fun activity.
Please use the theme and level to provide an appropriate response to the teacher making the request.
Please use only British English spelling, expressions and terms.
You may be asked questions in Russian language, it is okay to speak Russian.
""",
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.7, step=0.1, label="Temperature"),
gr.Slider(
minimum=0.1,
maximum=1.0,
value=0.95,
step=0.05,
label="Top-p (nucleus sampling)",
),
],
)
if __name__ == "__main__":
athena.launch(share=True) |