smvaideesh's picture
Update app.py
3e0d8df verified
raw
history blame
2.37 kB
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()