Team Ai
Apppublic

vohoangnam/Neosoft_Coding_Assistant

sourceHugging Facemitupdated 2y agoView on Hugging Face
0likes
app.py69 linesDownload Raw Back to root
1import gradio as gr # type: ignore2from huggingface_hub import InferenceClient # type: ignore3import json4client = InferenceClient("HuggingFaceH4/zephyr-7b-beta")5 6def load_custom_data(file_path):7    with open(file_path, "r", encoding="utf-8") as f:8        data = json.load(f)9    return data10 11custom_data = load_custom_data("custom_training_data.json")12 13def respond(14    message,15    history: list[tuple[str, str]],16    system_message,17    max_tokens,18    temperature,19    top_p,20):21    messages = [{"role": "system", "content": system_message}]22 23    for val in history:24        if val[0]:25            messages.append({"role": "user", "content": val[0]})26        if val[1]:27            messages.append({"role": "assistant", "content": val[1]})28 29    messages.append({"role": "user", "content": message})30 31    response = ""32 33    for item in custom_data["data"]:34        if item["prompt"].lower() in message.lower():35            response = item["completion"]36            break37    else:38        for message in client.chat_completion(39            messages,40            max_tokens=max_tokens,41            stream=True,42            temperature=temperature,43            top_p=top_p,44        ):45            token = message.choices[0].delta.content46            response += token47 48    yield response49 50 51demo = gr.ChatInterface(52    respond,53    additional_inputs=[54        gr.Textbox(value="Hello, From Neosoft Coding Assistant", label="System message"),55        gr.Slider(minimum=1, maximum=10240, value=10240, step=1, label="Max new tokens"),56        gr.Slider(minimum=0.1, maximum=4.0, value=0.7, step=0.1, label="Temperature"),57        gr.Slider(58            minimum=0.1,59            maximum=1.0,60            value=0.95,61            step=0.05,62            label="Top-p (nucleus sampling)",63        ),64    ],65)66 67if __name__ == "__main__":68    demo.launch()69