Bhaskar2611 commited on
Commit
3f011e2
·
verified ·
1 Parent(s): 4bbb5db

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +87 -34
app.py CHANGED
@@ -368,6 +368,72 @@ For more information on `huggingface_hub` Inference API support, please check th
368
 
369
  # if __name__ == "__main__":
370
  # demo.launch()
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
371
  import os
372
  import gradio as gr
373
  from huggingface_hub import InferenceClient
@@ -375,15 +441,15 @@ from dotenv import load_dotenv
375
 
376
  # Load environment variables
377
  load_dotenv()
378
- HF_TOKEN = os.getenv("HF_TOKEN") # Ensure this is set in .env
379
 
380
  # Initialize Hugging Face Inference Client
381
  client = InferenceClient(
382
- model="deepseek-ai/DeepSeek-R1-0528-Qwen3-8B",
383
  token=HF_TOKEN
384
  )
385
 
386
- # Define system instructions for the chatbot
387
  system_message = (
388
  "You are a helpful and experienced coding assistant specialized in web development. "
389
  "Help the user by generating complete and functional code for building websites. "
@@ -391,46 +457,34 @@ system_message = (
391
  "based on their requirements."
392
  )
393
 
394
- # Define the response generation function
395
  def respond(message, history):
396
- max_tokens = 2048
397
- temperature = 0.7
398
- top_p = 0.95
399
-
400
- # Convert chat history into OpenAI-style format
401
  messages = [{"role": "system", "content": system_message}]
402
- for item in history:
403
- role = item["role"]
404
- content = item["content"]
405
- messages.append({"role": role, "content": content})
406
-
407
- # Add the latest user message
408
  messages.append({"role": "user", "content": message})
409
 
 
410
  response = ""
411
-
412
- # Streaming response from the Hugging Face Inference API
413
  for chunk in client.chat.completions.create(
414
- model="deepseek-ai/DeepSeek-R1-0528-Qwen3-8B",
415
  messages=messages,
416
- max_tokens=max_tokens,
 
 
417
  stream=True,
418
- temperature=temperature,
419
- top_p=top_p,
420
  ):
421
- token = chunk.choices[0].delta.get("content")
422
- if token is not None:
423
- response += token
424
- yield response
425
-
426
- # Create Gradio Chat Interface
427
- demo = gr.ChatInterface(
428
- fn=respond,
429
- title="Website Building Assistant",
430
- chatbot=gr.Chatbot(show_label=False),
431
- type="openai", # Use OpenAI-style message format
432
- )
433
 
 
 
 
 
 
 
434
  if __name__ == "__main__":
435
  demo.launch()
436
 
@@ -441,4 +495,3 @@ if __name__ == "__main__":
441
 
442
 
443
 
444
-
 
368
 
369
  # if __name__ == "__main__":
370
  # demo.launch()
371
+ # import os
372
+ # import gradio as gr
373
+ # from huggingface_hub import InferenceClient
374
+ # from dotenv import load_dotenv
375
+
376
+ # # Load environment variables
377
+ # load_dotenv()
378
+ # HF_TOKEN = os.getenv("HF_TOKEN") # Ensure this is set in .env
379
+
380
+ # # Initialize Hugging Face Inference Client
381
+ # client = InferenceClient(
382
+ # model="deepseek-ai/DeepSeek-R1-0528-Qwen3-8B",
383
+ # token=HF_TOKEN
384
+ # )
385
+
386
+ # # Define system instructions for the chatbot
387
+ # system_message = (
388
+ # "You are a helpful and experienced coding assistant specialized in web development. "
389
+ # "Help the user by generating complete and functional code for building websites. "
390
+ # "You can provide HTML, CSS, JavaScript, and backend code (like Flask, Node.js, etc.) "
391
+ # "based on their requirements."
392
+ # )
393
+
394
+ # # Define the response generation function
395
+ # def respond(message, history):
396
+ # max_tokens = 2048
397
+ # temperature = 0.7
398
+ # top_p = 0.95
399
+
400
+ # # Convert chat history into OpenAI-style format
401
+ # messages = [{"role": "system", "content": system_message}]
402
+ # for item in history:
403
+ # role = item["role"]
404
+ # content = item["content"]
405
+ # messages.append({"role": role, "content": content})
406
+
407
+ # # Add the latest user message
408
+ # messages.append({"role": "user", "content": message})
409
+
410
+ # response = ""
411
+
412
+ # # Streaming response from the Hugging Face Inference API
413
+ # for chunk in client.chat.completions.create(
414
+ # model="deepseek-ai/DeepSeek-R1-0528-Qwen3-8B",
415
+ # messages=messages,
416
+ # max_tokens=max_tokens,
417
+ # stream=True,
418
+ # temperature=temperature,
419
+ # top_p=top_p,
420
+ # ):
421
+ # token = chunk.choices[0].delta.get("content")
422
+ # if token is not None:
423
+ # response += token
424
+ # yield response
425
+
426
+ # # Create Gradio Chat Interface
427
+ # demo = gr.ChatInterface(
428
+ # fn=respond,
429
+ # title="Website Building Assistant",
430
+ # chatbot=gr.Chatbot(show_label=False),
431
+ # type="openai", # Use OpenAI-style message format
432
+ # )
433
+
434
+ # if __name__ == "__main__":
435
+ # demo.launch()# app.py
436
+
437
  import os
438
  import gradio as gr
439
  from huggingface_hub import InferenceClient
 
441
 
442
  # Load environment variables
443
  load_dotenv()
444
+ HF_TOKEN = os.getenv("HF_TOKEN")
445
 
446
  # Initialize Hugging Face Inference Client
447
  client = InferenceClient(
448
+ model="mistralai/Devstral-Small-2505",
449
  token=HF_TOKEN
450
  )
451
 
452
+ # System prompt for coding assistant
453
  system_message = (
454
  "You are a helpful and experienced coding assistant specialized in web development. "
455
  "Help the user by generating complete and functional code for building websites. "
 
457
  "based on their requirements."
458
  )
459
 
460
+ # Streaming chatbot logic
461
  def respond(message, history):
462
+ # Prepare messages with system prompt
 
 
 
 
463
  messages = [{"role": "system", "content": system_message}]
464
+ for msg in history:
465
+ messages.append(msg)
 
 
 
 
466
  messages.append({"role": "user", "content": message})
467
 
468
+ # Stream response from the model
469
  response = ""
 
 
470
  for chunk in client.chat.completions.create(
471
+ model="mistralai/Devstral-Small-2505",
472
  messages=messages,
473
+ max_tokens=1024,
474
+ temperature=0.7,
475
+ top_p=0.95,
476
  stream=True,
 
 
477
  ):
478
+ token = chunk.choices[0].delta.get("content", "") or ""
479
+ response += token
480
+ yield response
 
 
 
 
 
 
 
 
 
481
 
482
+ # Create Gradio interface
483
+ with gr.Blocks() as demo:
484
+ chatbot = gr.Chatbot(type='messages') # Use modern message format
485
+ gr.ChatInterface(fn=respond, chatbot=chatbot, type="messages") # Match format
486
+
487
+ # Launch app
488
  if __name__ == "__main__":
489
  demo.launch()
490
 
 
495
 
496
 
497