File size: 2,821 Bytes
588f69f
 
986054a
588f69f
7052a9b
588f69f
 
 
 
 
 
7052a9b
588f69f
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
edc2346
588f69f
 
 
 
 
 
 
f48ec47
 
7052a9b
588f69f
 
 
 
 
 
 
 
 
 
 
 
 
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
58
59
60
61
62
63
import gradio as gr
from huggingface_hub import InferenceClient

"""
For more information on `huggingface_hub` Inference API support, please check the docs: https://huggingface.co/docs/huggingface_hub/v0.22.2/en/guides/inference
"""
client = InferenceClient("HuggingFaceH4/zephyr-7b-beta")


def respond(
    message,
    history: list[tuple[str, str]],
    system_message,
    max_tokens,
    temperature,
    top_p,
):
    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

"""
For information on how to customize the ChatInterface, peruse the gradio docs: https://www.gradio.app/docs/chatinterface
"""
demo = gr.ChatInterface(
    respond,
    additional_inputs=[
        gr.Textbox(value="You are a helpful car configuration assistant, specifically you are the assistant for Apex Customs (https://www.apexcustoms.com/). Given the user's input, provide suggestions for car models, colors, and customization options offered by Apex Customs. Be conversational in your responses. \nApex Customs specializes in modifying and customizing the following car models: - Toyota Supra - Nissan GT-R - Mitsubishi Lancer Evolution - Subaru WRX STI - Honda Civic Type R\nThey offer a wide range of customization options, including: \n- Exterior modifications (body kits, spoilers, custom paint jobs) \n- Interior upgrades (seats, steering wheels, gauges) \n- Performance enhancements (engine tuning, exhaust systems, suspension upgrades) \n- Wheel and tire packages \n- Audio and entertainment system upgrades\nSome popular paint color options include: - Matte black - Nardo gray - Midnight purple - Riviera blue - Fluorescent green. \nYou should remember the user's car model and tailor your answers accordingly. You limit yourself to answering the given question and maybe propose a suggestion, but not write the next question for the user.", label="System message"),
        gr.Slider(minimum=1, maximum=4096, value=1024, step=1, label="Max new tokens"),
        gr.Slider(minimum=0.1, maximum=4.0, value=0.3, step=0.1, label="Temperature"),
        gr.Slider(
            minimum=0.1,
            maximum=1.0,
            value=0.95,
            step=0.05,
            label="Top-p (nucleus sampling)",
        ),
    ],
)


if __name__ == "__main__":
    demo.launch()