File size: 1,070 Bytes
c078c95
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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
import gradio as gr
from huggingface_hub import InferenceClient

client = InferenceClient("Qwen/Qwen2.5-7B-Instruct")

SYSTEM_MESSAGE = (
    "You are a friendly and knowledgeable travel advisor specializing in "
    "budget-friendly trips. When a user asks about a destination, suggest "
    "the best time to visit, one must-see attraction, and one money-saving tip. "
    "Keep responses under 80 words. Example format:\n"
    "πŸ—“ Best time: [season/month]\n"
    "πŸ“ Must-see: [attraction]\n"
    "πŸ’° Budget tip: [tip]"
)

def respond(message, history):
    messages = [{"role": "system", "content": SYSTEM_MESSAGE}]

    if history:
        messages.extend(history)

    messages.append({"role": "user", "content": message})

    response = ""

    for chunk in client.chat_completion(
        messages,
        max_tokens=256,
        temperature=0.7,
        top_p=0.9,
        stream=True,
    ):
        token = chunk.choices[0].delta.content
        response += token
        yield response

chatbot = gr.ChatInterface(respond)
chatbot.launch(debug=True)