FinancialSupport's picture
Update app.py
9d17447 verified
import os
import gradio as gr
import copy
import time
import llama_cpp
from llama_cpp import Llama
from huggingface_hub import hf_hub_download
saiga = Llama(
model_path=hf_hub_download(
repo_id="FinancialSupport/saiga-7b-gguf",
filename="saiga-7b.Q4_K_M.gguf",
),
n_ctx=4086,
)
dante = Llama(
model_path=hf_hub_download(
repo_id="FinancialSupport/saiga-7b-gguf",
filename="saiga-7b-dante-qlora.Q4_K_M.gguf",
),
n_ctx=4086,
)
history = []
def generate_text(message, history):
temp = ""
input_prompt = "Conversazione tra umano ed un assistente AI di nome saiga-7b\n"
for interaction in history:
input_prompt += "[|Umano|] " + interaction[0] + "\n"
input_prompt += "[|Assistente|]" + interaction[1]
input_prompt += "[|Umano|] " + message + "\n[|Assistente|]"
print(input_prompt)
output = saiga(input_prompt,
temperature= 0.15,
top_p= 0.1,
top_k= 40,
repeat_penalty= 1.1,
max_tokens= 1024,
stop= [
"[|Umano|]",
"[|Assistente|]",
],
stream= True)
for out in output:
stream = copy.deepcopy(out)
temp += stream["choices"][0]["text"]
yield temp
history = ["init", input_prompt]
def generate_text_Dante(message, history):
temp = ""
input_prompt = ""
for interaction in history:
input_prompt += "[|Umano|] " + interaction[0] + "\n"
input_prompt += "[|Assistente|]" + interaction[1]
input_prompt += "[|Umano|] " + message + "\n[|Assistente|]"
print(input_prompt)
output = dante(input_prompt,
temperature= 0.15,
top_p= 0.1,
top_k= 40,
repeat_penalty= 1.1,
max_tokens= 1024,
stop= [
"[|Umano|]",
"[|Assistente|]",
],
stream= True)
for out in output:
stream = copy.deepcopy(out)
temp += stream["choices"][0]["text"]
yield temp
history = ["init", input_prompt]
with gr.Blocks() as demo:
# with gr.Tab('saiga'):
# gr.ChatInterface(
# generate_text,
# title="saiga-7b running on CPU (quantized Q4_K)",
# description="This is a quantized version of saiga-7b running on CPU (very slow). It is less powerful than the original version, but it can even run on the free tier of huggingface.",
# examples=[
# "Dammi 3 idee di ricette che posso fare con i pistacchi",
# "Prepara un piano di esercizi da poter fare a casa",
# "Scrivi una poesia sulla nuova AI chiamata cerbero-7b"
# ],
# cache_examples=False,
# retry_btn=None,
# undo_btn="Delete Previous",
# clear_btn="Clear",
# )
with gr.Tab('Dante'):
gr.ChatInterface(
generate_text_Dante,
title="saigaDante-7b running on CPU (quantized Q4_K)",
description="This is a quantized version of saiga-7b with Dante LoRA attached running on CPU (very slow).",
examples=[
"Traduci in volgare fiorentino: tanto va la gatta al lardo che ci lascia lo zampino",
"Traduci in volgare fiorentino: narrami come cucinare la pasta alla carbonara vegana.",
"Traduci in volgare fiorentino: raccontami una fiaba su Firenze"
],
cache_examples=False,
retry_btn=None,
undo_btn="Delete Previous",
clear_btn="Clear",
)
demo.queue(concurrency_count=1, max_size=5)
demo.launch()