Spaces:
Runtime error
Runtime error
File size: 6,698 Bytes
1b58b25 0003aa2 1b58b25 0003aa2 1b58b25 0003aa2 1b58b25 0003aa2 1b58b25 0003aa2 1b58b25 0003aa2 1b58b25 0003aa2 1b58b25 0003aa2 1b58b25 0003aa2 761c492 1b58b25 d6d075e 5b836f5 1b58b25 5b836f5 1b58b25 5b836f5 1b58b25 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 |
# coding=utf8
from gpt_index import SimpleDirectoryReader, GPTListIndex, GPTSimpleVectorIndex, LLMPredictor, PromptHelper
from langchain import OpenAI
import gradio as gr
import random
import time
import sys
import os
from transformers import pipeline
p = pipeline("automatic-speech-recognition")
os.environ["OPENAI_API_KEY"] = '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'
css = """
#component-2 {position: absolute; bottom: 0; width: 100%;
}
div.float.svelte-1frtwj3 {
position: absolute;
opacity: 0;
top: var(--block-label-margin);
left: var(--block-label-margin);}
.wrap.svelte-6roggh.svelte-6roggh {
padding: var(--block-padding);
height: 100%;
max-height: 100%;
overflow-y: auto;
}
.bot.svelte-6roggh.svelte-6roggh, .pending.svelte-6roggh.svelte-6roggh {
border-color: #759ce9;
background: #ffffff;
}
div.svelte-1frtwj3 {
display: inline-flex;
align-items: center;
z-index: var(--layer-2);
box-shadow: var(--block-shadow);
border: var(--block-label-border-width) solid #ffffff;
border-top: none;
border-left: none;
border-radius: var(--block-label-radius);
background: #eff6ff;
padding: var(--block-label-padding);
pointer-events: none;
color: var(--block-label-text-color);
font-weight: var(--block-label-text-weight);
width: 100%;
line-height: var(--line-sm);
}
div.svelte-awbtu4 {
display: flex;
flex-direction: inherit;
flex-wrap: wrap;
gap: var(--form-gap-width);
box-shadow: var(--block-shadow);
border: var(--block-border-width) solid var(--border-color-primary);
border-radius: var(--radius-lg);
background: var(--border-color-primary);
overflow: hidden;
position: fixed;
bottom: 0;
margin-left: -16px;
}
img.svelte-ms5bsk {
width: var(--size-full);
height: 90px;
object-fit: contain;
}
.app.svelte-ac4rv4.svelte-ac4rv4 {
max-width: none;
background-color: #ffffff;
}
.app.svelte-ac4rv4.svelte-ac4rv4{max-width:none}
.wrap.svelte-1o68geq.svelte-1o68geq {max-height: none}
.block.svelte-mppz8v {
position: relative;
margin: 0;
box-shadow: var(--block-shadow);
border-width: var(--block-border-width);
border-color: #dbeafe;
border-radius: var(--block-radius);
background: #dbeafe;
width: 100%;
line-height: var(--line-sm);
}
"""
def transcribe(audio):
text = p(audio)["text"]
return text
def construct_index(directory_path):
max_input_size = 10000
num_outputs = 10000
max_chunk_overlap = 20000
chunk_size_limit = 600000
prompt_helper = PromptHelper(max_input_size, num_outputs, max_chunk_overlap, chunk_size_limit=chunk_size_limit)
llm_predictor = LLMPredictor(llm=OpenAI(temperature=0.0, model_name="text-davinci-003", max_tokens=num_outputs))
documents = SimpleDirectoryReader(directory_path).load_data()
index = GPTSimpleVectorIndex.from_documents(documents)
index.save_to_disk('index.json')
return index
def chatbot(input_text):
index = GPTSimpleVectorIndex.load_from_disk('index.json')
response = index.query(input_text)
return str(response.response)
with gr.Blocks(css=css) as demo:
realPath = str(os.path.dirname(os.path.realpath(__file__)))
img1 = gr.Image("images/1024x150_cabeçalho.hippo.png", elem_classes=".img.svelte-ms5bsk", elem_id="img.svelte-ms5bsk").style(container=False)
gpt = gr.Chatbot(elem_classes=".wrap.svelte-1o68geq.svelte-1o68geq", elem_id="chatbot").style(container=True)
msg = gr.Textbox(elem_id="div.svelte-awbtu4",elem_classes="textBoxBot", show_label=False,
placeholder="Bem vindo ao Hippo Supermercados, em que posso ajuda-lo?",
).style(container=False)
#clear = gr.Button("Limpar Conversa")
# gr.Audio(source="microphone", type="filepath",label="ESTÁ COM DIFICULDADES EM ESCREVER? CLIQUE E ME DIGA O QUE DESEJA")
def respond(message, chat_history):
chat_history.append((message, chatbot(message)))
time.sleep(1)
vetor = []
realPath = str(os.path.dirname(os.path.realpath(__file__)))
if str(message).upper()=="OLA" or str(message).upper()=="OLÁ" or str(message).upper()=="OI":
vetor = vetor + [((realPath + "\\images\\hippo-apresentacao.mp4",), "")]
elif str(message).upper() == "VINHO CASA DEL RONCO PINOT GRIGIO" :
vetor = vetor + [((realPath + "\\images\\casa-del-ronco-branco.png",), "")]
elif str(message).upper() == "SURVIVOR CHENIN BLANC" :
vetor = vetor + [((realPath + "\\images\\survivor-branco.png",), "")]
vetor = vetor + [((realPath + "\\images\\survivor.mp4",), "")]
elif str(message).upper() == "VINHO PORTO NOVA VERDE" :
vetor = vetor + [((realPath + "\\images\\porta-nova-branco.jpg",), "")]
vetor = vetor + [((realPath + "\\images\\porta-nova-verde.mp4",), "")]
elif str(message).upper() == "VINHO QUINTA DO PINTO ARINTO BRANCO" :
vetor = vetor + [((realPath + "\\images\\quinta-pinto-arinto-branco.png",), "")]
elif str(message).upper() == "VINHO 1492 CHARDONNAY" :
vetor = vetor + [((realPath + "\\images\\chardonay-branco.jpg",), "")]
elif str(message).upper() == "ME SUGIRA UM VINHO TINTO BOM COM QUEIJO" :
vetor = vetor + [((realPath + "\\images\\TNT-CABERNET.png",), "")]
vetor = vetor + [((realPath + "\\images\\vinho-queijo.mp4",), "")]
elif str(message).upper() == "VINHO BOM COM CHOCOLATE" :
vetor = vetor + [((realPath + "\\images\\TNT-CABERNET.png",), "")]
elif str(message).upper() == "VINHO BOM COM PEIXE" :
vetor = vetor + [((realPath + "\\images\\luson-branco.png",), "")]
vetor = vetor + [((realPath + "\\images\\vinho-peixe.mp4",), "")]
elif str(message).upper() == "VINHAS DO LASSO COLHEITA SELECIONADA" :
vetor = vetor + [((realPath + "\\images\\lasso-colheita-rose.png",), "")]
elif str(message).upper() == "DOM CAMPOS MOSCATEL" :
vetor = vetor + [((realPath + "\\images\\dom-campos-rose.png",), "")]
elif str(message).upper() == "BECAS ROSE MEIO SECO" :
vetor = vetor + [((realPath + "\\images\\becas-rose.png",), "")]
elif str(message).upper() == "PORTA DA RAVESSA" :
vetor = vetor + [((realPath + "\\images\\luson-branco.png",), "")]
return "", chat_history+vetor
# clear.click(lambda:None, None, gpt, queue=False,)
msg.submit(respond, [msg, gpt], [msg,gpt])
index = construct_index("docs")
demo.launch()
|