Spaces:
Sleeping
Sleeping
import gradio as gr | |
from huggingface_hub import InferenceClient | |
# Initialize the InferenceClient with the model hosted on Hugging Face Hub | |
client = InferenceClient("deepseek-ai/DeepSeek-R1") | |
def respond(message, history: list[tuple[str, str]]): | |
# System message and generation parameters | |
system_message = "You are a friendly Chatbot." | |
max_tokens = 2048 | |
temperature = 0.7 | |
top_p = 0.95 | |
# Prepare the conversation history | |
messages = [{"role": "system", "content": system_message}] | |
for user_msg, assistant_msg in history: | |
if user_msg: | |
messages.append({"role": "user", "content": user_msg}) | |
if assistant_msg: | |
messages.append({"role": "assistant", "content": assistant_msg}) | |
# Add the current user message | |
messages.append({"role": "user", "content": message}) | |
# Stream the response from the model | |
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 | |
# Create the Gradio ChatInterface with Retry, Undo, and Clear buttons | |
demo = gr.ChatInterface( | |
fn=respond, # Function to handle chat responses | |
retry_btn="Retry", # Add a Retry button | |
undo_btn="Undo", # Add an Undo button | |
clear_btn="Clear", # Add a Clear button | |
) | |
# Launch the Gradio app | |
if __name__ == "__main__": | |
demo.launch() |