Spaces:
Sleeping
Sleeping
## Imports | |
from huggingface_hub import hf_hub_download | |
from llama_cpp import Llama | |
import gradio as gr | |
import copy | |
## Download the GGUF model | |
model_name = "kazuma313/lora_model_dokter_consultasi_q4_k_m" | |
model_file = "lora_model_dokter_consultasi_q4_k_m-unsloth.Q4_K_M.gguf" # this is the specific model file we'll use in this example. It's a 4-bit quant, but other levels of quantization are available in the model repo if preferred | |
model_path = hf_hub_download(model_name, filename=model_file) | |
llm = Llama( | |
model_path=model_path, | |
n_ctx=2048, # Context length to use | |
n_threads=4, # Number of CPU threads to use | |
# n_gpu_layers=0 # Number of model layers to offload to GPU | |
# chat_format="chatml", | |
verbose=False | |
) | |
prompt_template="""<|begin_of_text|>Dibawah ini adalah percakapan antara dokter dengan pasiennya yang ingin berkonsultasi terkait kesehatan. Tuliskan jawaban yang tepat dan lengkap sesuai sesuai pertanyaan dari pasien.<|end_of_text|> | |
### Pertanyaan: | |
{ask} | |
### Jawaban: | |
""" | |
def output_inference(tanya, history): | |
temp = "" | |
prompt = prompt_template.format(ask=tanya) | |
output = llm( | |
prompt, | |
stop=["<|end_of_text|>","Pertanyaan:","Jawaban:", "###"], | |
max_tokens=512, | |
temperature=0.2, | |
top_p=0.95, | |
top_k=40, | |
min_p=0.05, | |
typical_p=1.0, | |
repeat_penalty=1.1, | |
stream=True, | |
) | |
for out in output: | |
stream = copy.deepcopy(out) | |
temp += stream["choices"][0]["text"] | |
yield temp | |
history = ["init", prompt] | |
gr.ChatInterface( | |
output_inference, | |
chatbot=gr.Chatbot(height=300), | |
textbox=gr.Textbox(placeholder="Tanya saya kesehatan anda", container=False, scale=7), | |
title="Konsultasi dokter", | |
description="Tanya saja semua keluhan mu", | |
theme="soft", | |
examples=["apa saja tips agar badan sehat?", "apa efek samping dari minum alkohol berlebihan?", "berapa hasil dari 10 + 5?"], | |
cache_examples=True, | |
retry_btn=None, | |
undo_btn="Delete Previous", | |
clear_btn="Clear", | |
).launch() |