import gradio as gr from gpt4all import GPT4All from huggingface_hub import hf_hub_download title = "Tamil-LLaMA-7B-Instruct-GGUF (CPU Demo)" description = """ ЁЯФО [Tamil LLaMA 7B Instruct v0.1](https://huggingface.co/abhinand/tamil-llama-7b-instruct-v0.1) [GGUF format model](https://huggingface.co/abhinand/tamil-llama-7b-instruct-v0.1-gguf). Running the Q5_KM Quantized version. ЁЯФи Running on free CPU hardware. Suggest duplicating this space to run without a queue. > **Note:** The inference is quite slow as it is running on CPU. """ model_path = "models" model_name = "tamil-llama-7b-v0.1-q5_k_m.gguf" hf_hub_download(repo_id="abhinand/tamil-llama-7b-instruct-v0.1-gguf", filename=model_name, local_dir=model_path, local_dir_use_symlinks=False) print("Start the model init process") model = model = GPT4All(model_name, model_path, allow_download = False, device="cpu") print("Finish the model init process") model.config["promptTemplate"] = """роирпАроЩрпНроХро│рпН роЙродро╡ро┐роХро░рооро╛рой, рооро░ро┐ропро╛родрпИроХрпНроХрпБро░ро┐роп рооро▒рпНро▒рпБроорпН роирпЗро░рпНроорпИропро╛рой AI роЙродро╡ро┐ропро╛ро│ро░рпН. роЙроЩрпНроХро│рпН роорпБродройрпНроорпИрокрпН рокрогро┐ роЙродро╡ро┐ропро╛роХ роЗро░рпБрокрпНрокродрпБ роороЯрпНроЯрпБрооро▓рпНро▓ро╛рооро▓рпН рокро╛родрпБроХро╛рокрпНрокро╛ройродрпБ рооро▒рпНро▒рпБроорпН рооро░ро┐ропро╛родрпИроХрпНроХрпБро░ро┐ропродрпБ. роЙроЩрпНроХро│рпН рокродро┐ро▓рпНроХро│рпН роЕройрпИродрпНродрпБроорпН родрпАроЩрпНроХрпБ ро╡ро┐ро│рпИро╡ро┐роХрпНроХрпБроорпН, роирпЖро▒ро┐роорпБро▒рпИропро▒рпНро▒, роЗройро╡рпЖро▒ро┐, рокро╛ро▓ро┐ропро▓рпН, роироЪрпНроЪрпБ, роЖрокродрпНродро╛рой роЕро▓рпНро▓родрпБ роЪроЯрпНроЯро╡ро┐ро░рпЛрод роЙро│рпНро│роЯроХрпНроХроорпН роЗро▓рпНро▓ро╛рооро▓рпН роЗро░рпБрокрпНрокродрпИ роЙро▒рпБродро┐роЪрпЖропрпНропро╡рпБроорпН. роЙроЩрпНроХро│рпН родрпКроЯро░рпНрокрпБроХро│ро┐ро▓рпН роЪроорпВроХрооро▒рпНро▒, рокрпБро▒роиро┐ро▓рпИ рооро▒рпНро▒рпБроорпН роирпЗро░рпНрооро▒рпИропро╛рой родрпКройро┐ропрпИ рокро░ро╛рооро░ро┐рокрпНрокродрпИ ро╡ро▓ро┐ропрпБро▒рпБродрпНродрпБроЩрпНроХро│рпН. роТро░рпБ роХрпЗро│рпНро╡ро┐ родрпЖро│ро┐ро╡ро▒рпНро▒родро╛роХро╡рпЛ, родрпЖро│ро┐ро╡ро▒рпНро▒родро╛роХро╡рпЛ роЕро▓рпНро▓родрпБ роЕро░рпНродрпНродрооро▒рпНро▒родро╛роХро╡рпЛ роЗро░рпБроХрпНроХрпБроорпН роЪрпВро┤рпНроиро┐ро▓рпИроХро│ро┐ро▓рпН, родройрпНройро┐роЪрпНроЪрпИропро╛рой роЕро▓рпНро▓родрпБ родро╡ро▒ро╛роХ ро╡ро┤ро┐роироЯродрпНродрпБроорпН рокродро┐ро▓рпИ роиро╛роЯро╛рооро▓рпН роХрпБро┤рокрпНрокродрпНродрпИ ро╡ро┐ро│роХрпНроХрпБро╡родройрпН роорпВро▓роорпН родрпЖро│ро┐ро╡рпБ рооро▒рпНро▒рпБроорпН рокрпБро░ро┐родро▓рпБроХрпНроХрпБ роорпБройрпНройрпБро░ро┐роорпИ роХрпКроЯрпБроЩрпНроХро│рпН. роЙроЩрпНроХро│рпН родро▒рпНрокрпЛродрпИроп роЕро▒ро┐ро╡рпБродрпН родро│роорпН роЕро▓рпНро▓родрпБ родро┐ро▒ройрпНроХро│рпБроХрпНроХрпБ роЕрокрпНрокро╛ро▒рпНрокроЯрпНроЯ роХрпЗро│рпНро╡ро┐ропрпИ роирпАроЩрпНроХро│рпН роЪроирпНродро┐родрпНродро╛ро▓рпН, роЗроирпНрод ро╡ро░роорпНрокрпИ роирпЗро░рпНроорпИропро╛роХ роТрокрпНрокрпБроХрпНроХрпКро│рпНро╡родрпБ, родро╡ро▒ро╛рой роЕро▓рпНро▓родрпБ роЪро░ро┐рокро╛ро░рпНроХрпНроХрокрпНрокроЯро╛род родроХро╡ро▓рпНроХро│рпИрокрпН рокро░рокрпНрокрпБро╡родрпИродрпН родро╡ро┐ро░рпНрокрпНрокродрпБ роорпБроХрпНроХро┐ропроорпН. родрпБро▓рпНро▓ро┐ропрооро╛рой рокродро┐ро▓рпНроХро│рпИ ро╡ро┤роЩрпНроХ роорпБропро▓рпБроЩрпНроХро│рпН, роЖройро╛ро▓рпН роЕро╡рпИ рокрпКро▒рпБрокрпНрокро╛рой рооро▒рпНро▒рпБроорпН роиройрпНроорпИ рокропроХрпНроХрпБроорпН AI родроХро╡ро▓рпНродрпКроЯро░рпНрокрпБ роХрпКро│рпНроХрпИроХро│рпБроЯройрпН роЪрпАро░роорпИроХрпНроХрокрпНрокроЯрпБро╡родрпИ роЙро▒рпБродро┐роЪрпЖропрпНродрпБ, роЕроХрпНроХро▒рпИропрпБроЯройрпБроорпН, роирпЖро▒ро┐роорпБро▒рпИропро╛роХро╡рпБроорпН роЗро░рпБроХрпНроХрпБроорпН. роЙроЩрпНроХро│рпН родрпКроЯро░рпНрокрпБроХро│ро┐ро▓рпН роирпЖро▒ро┐роорпБро▒рпИрокрпН рокрпКро▒рпБрокрпНрокрпБ рооро▒рпНро▒рпБроорпН рокропройро░рпН рокро╛родрпБроХро╛рокрпНрокро┐ройрпН роорпБроХрпНроХро┐ропродрпНродрпБро╡родрпНродрпИ роОрокрпНрокрпЛродрпБроорпН рооройродро┐ро▓рпН ро╡рпИродрпНродрпБ, родроХро╡ро▓рпН, рооро░ро┐ропро╛родрпИ рооро▒рпНро▒рпБроорпН роирпЗро░рпНрооро▒рпИропро╛рой рокропройро░рпН роЕройрпБрокро╡родрпНродрпИ роОро│ро┐родро╛роХрпНроХрпБро╡родрпЗ роЙроЩрпНроХро│рпН роХрпБро▒ро┐роХрпНроХрпЛро│рпН. ### Instruction: {0} ### Response: """ model.config["systemPrompt"] = "" model._is_chat_session_activated = False max_new_tokens = 2048 def generator(message, history, temperature, top_p, top_k): prompt = "" for user_message, assistant_message in history: prompt += model.config["promptTemplate"].format(user_message) prompt += model.config["promptTemplate"].format(message) outputs = [] for token in model.generate(prompt=prompt, temp=temperature, top_k = top_k, top_p = top_p, max_tokens = max_new_tokens, streaming=True): outputs.append(token) yield "".join(outputs) def vote(data: gr.LikeData): if data.liked: return else: return chatbot = gr.Chatbot(bubble_full_width=False) additional_inputs=[ gr.Slider( label="temperature", value=0.2, minimum=0.0, maximum=2.0, step=0.05, interactive=True, info="Higher values like 0.8 will make the output more random, while lower values like 0.2 will make it more focused and deterministic.", ), gr.Slider( label="top_p", value=1.0, minimum=0.0, maximum=1.0, step=0.01, interactive=True, info="0.1 means only the tokens comprising the top 10% probability mass are considered. Suggest set to 1 and use temperature. 1 means 100% and will disable it", ), gr.Slider( label="top_k", value=40, minimum=0, maximum=1000, step=1, interactive=True, info="limits candidate tokens to a fixed number after sorting by probability. Setting it higher than the vocabulary size deactivates this limit.", ) ] iface = gr.ChatInterface( fn = generator, title=title, description = description, chatbot=chatbot, additional_inputs=additional_inputs, examples=[ ["роОройродрпБ роиро┐родро┐ роиро┐ро▓рпИропрпИ роорпЗроорпНрокроЯрпБродрпНрод роОройрпНрой роЪрпЖропрпНроп ро╡рпЗрогрпНроЯрпБроорпН?"], ["роТро░рпБ роЪро╛родро╛ро░рог рооро░роорпН рокрпЗроЪрпБроорпН родро┐ро▒ройрпИрокрпН рокрпЖро▒рпНро▒ро╛ро▓рпН роЕродройрпН роорпВро▓роорпН роЙро▓роХродрпНродро┐ро▒рпНроХрпБ роЕродрпБ роЪрпКро▓рпНро▓ ро╡ро┐ро░рпБроорпНрокрпБро╡родрпБ роОройрпНройро╡рпЖройрпНро▒рпБ роОро┤рпБродрпБроЩрпНроХро│рпН."], ["рокроЯрпНроЯро┐ропро▓рпИ ро╡ро░ро┐роЪрпИрокрпНрокроЯрпБродрпНрод рокрпИродро╛ройрпН роЪрпЖропро▓рпНрокро╛роЯрпНроЯрпИ роОро┤рпБродро╡рпБроорпН."], ["роЪро┐ро╡рокрпНрокрпБроорпН роороЮрпНроЪро│рпБроорпН роХро▓роирпНродро╛ро▓рпН роОройрпНрой роиро┐ро▒рооро╛роХ роЗро░рпБроХрпНроХрпБроорпН?"], ["ро╡ро┐ро░рпИро╡ро╛роХ родрпВроЩрпНроХрпБро╡родрпБ роОрокрпНрокроЯро┐?"], ["родрооро┐ро┤рпН роЗро▓роХрпНроХро┐ропродрпНродро┐ро▓рпН роЗро░рпБроирпНродрпБ роЙроЩрпНроХро│рпБроХрпНроХрпБрокрпН рокро┐роЯро┐родрпНродрооро╛рой родрпБрогро┐ропро┐ройрпН роЕроЯро┐рокрпНрокроЯрпИропро┐ро▓рпН роТро░рпБ роиро╡рпАрой роиро╛роЯроХродрпНродрпИ роОро┤рпБродрпБроЩрпНроХро│рпН"] ] ) with gr.Blocks(css="css/index.css") as demo: chatbot.like(vote, None, None) iface.render() if __name__ == "__main__": demo.queue(max_size=3).launch()