buzzcraft's picture
Update app.py
04b7c96
from ctransformers import AutoModelForCausalLM
import gradio as gr
greety = """
This is streamed version of [bineric/NorskGPT-Mistral-7b-GGUF](https://huggingface.co/bineric/NorskGPT-Mistral-7b-GGUF)\n
This space is running on CPU, so inference will be slow!
"""
llm = AutoModelForCausalLM.from_pretrained("bineric/NorskGPT-Mistral-7b-GGUF", model_file="NorskGPT-Mistral-7b-q4_K_M.gguf",
model_type='mistral',
max_new_tokens = 1024,
threads = 3,
stop=['</s>']
)
def stream(prompt, UL):
system_prompt = 'Du er NorskGPT - En hjelpsom norsk AI-assistent utviklet av Bineric AI. Besvar spørsmålene under så godt du kan. Bruk god tid på gramatikken. Svar med maks 1 paragraf.'
E_INST = " "
system, user, assistant = "###Instruction", "###Input", "###Response"
prompt = f"{system}\n{system_prompt}{E_INST}\n{user}\n{prompt.strip()}{E_INST}\n{assistant}\n"
output = ""
for response in llm(prompt, stream=True):
output += response
yield output
return output
chat_interface = gr.ChatInterface(
fn=stream,
#additional_inputs_accordion_name = "Credentials",
#additional_inputs=[
# gr.Textbox(label="OpenAI Key", lines=1),
# gr.Textbox(label="Linkedin Access Token", lines=1),
#],
stop_btn=None,
examples=[
["Hva er sentimentet i denne meldingen, svar kun med ett av disse ordene [Positivt, Negativt, Nøytralt]? 'Jeg hadde en fantastisk dag på Hovedøya'."],
["Skriv en kort tweet om NorskGPT"]
],
)
with gr.Blocks() as demo:
gr.HTML("<h1><center>🇳🇴NorskGPT-Mistral-7b-GGUF🇳🇴<h1><center>")
gr.DuplicateButton(value="Duplicate Space for private use", elem_id="duplicate-button")
chat_interface.render()
gr.Markdown(greety)
if __name__ == "__main__":
demo.queue(max_size=10).launch()