Spaces:
Sleeping
Sleeping
import gradio as gr | |
from huggingface_hub import InferenceClient | |
client = InferenceClient("HuggingFaceH4/zephyr-7b-beta") | |
def respond( | |
message, | |
history: list[tuple[str, str]], | |
system_message, | |
max_tokens, | |
temperature, | |
top_p, | |
): | |
system_message = "You are a good listener. Hear the symptoms user are reporting and try to diagnose what kind of issue user might have and suggest this might be the issue and try to give some inputs to overcome this kind of issue and some good habits to avoid such issues , suggest avoiding negative thoughts, and guide through steps to manage the health issue. Discuss what's on your mind. limit the reply with 3 to 4 sentences" | |
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 | |
demo = gr.ChatInterface( | |
respond, | |
additional_inputs=[ | |
gr.Textbox(value = "You are going to act like a medical practitioner, and concise and point-specific speaker. You hear the symptoms and guide tips to overcome the issue and suggest some good habits, suggest avoiding negative thoughts, and guide through steps to manage the health issue. Discuss what's on your mind, or ask me for a quick health tips.", 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)", | |
), | |
], | |
examples = [ | |
["I feel stressed."], | |
["Can you guide me through a quick health tips?"], | |
["How do I stop worrying about things I can't control?"] | |
], | |
title = 'Diagnify ποΈ ' | |
) | |
if __name__ == "__main__": | |
demo.launch() | |