Spaces:
Sleeping
Sleeping
File size: 1,991 Bytes
6f7d7b4 4062a25 6f7d7b4 0f347bb 4062a25 0f347bb 4062a25 6f7d7b4 0f347bb 4062a25 0f347bb 4062a25 6f7d7b4 4062a25 0f347bb 4062a25 6f7d7b4 4062a25 6f7d7b4 4062a25 6f7d7b4 4062a25 6f7d7b4 4062a25 0f347bb |
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 |
import gradio as gr
from huggingface_hub import InferenceClient
# Initialize an empty list to store the conversation history
conversation_history = []
# Function to interact with the model using the Inference API
def chat_with_model(user_input, hf_api_key):
global conversation_history
# Initialize the InferenceClient with the provided API key
client = InferenceClient(api_key=hf_api_key)
# Add the user's message to the conversation history
conversation_history.append({"role": "user", "content": user_input})
# Define the system message (defining the assistant role)
system_message = {
"role": "system",
"content": "You are a code assistant that helps with code generation, debugging, and explanations."
}
# Add system message to the conversation history
conversation_history.insert(0, system_message)
# Create a stream for chat completions using the API
stream = client.chat.completions.create(
model="Qwen/Qwen2.5-Coder-32B-Instruct",
messages=conversation_history,
max_tokens=500,
stream=True
)
# Collect the generated response from the model
response = ""
for chunk in stream:
response += chunk.choices[0].delta.content
# Add the assistant's response to the conversation history
conversation_history.append({"role": "assistant", "content": response})
return response
# Create the Gradio interface
iface = gr.Interface(
fn=chat_with_model,
inputs=[
gr.Textbox(lines=5, placeholder="Ask me anything about coding..."),
gr.Textbox(lines=1, placeholder="Enter your Hugging Face API key", type="password") # API key input
],
outputs="text",
title="Code Assistant with Qwen2.5-Coder",
description="A code assistant that helps you with code generation, debugging, and explanations using the Qwen2.5-Coder model via Hugging Face Inference API."
)
# Launch the interface
iface.launch() |