DHEIVER commited on
Commit
6e827c2
1 Parent(s): 4cd2c01

Create app.py

Browse files
Files changed (1) hide show
  1. app.py +68 -0
app.py ADDED
@@ -0,0 +1,68 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import gradio as gr
2
+ from ctransformers import AutoModelForCausalLM
3
+ import textwrap
4
+
5
+ # Carrega o modelo Llama2 usando CTransformers
6
+ def load_model():
7
+ model = AutoModelForCausalLM.from_pretrained(
8
+ "TheBloke/Llama-2-7B-Chat-GGML",
9
+ model_file="llama-2-7b-chat.ggmlv3.q4_0.bin",
10
+ model_type="llama",
11
+ max_new_tokens=512,
12
+ temperature=0.7,
13
+ context_length=2048,
14
+ )
15
+ return model
16
+
17
+ # Formata o prompt para incluir contexto bíblico
18
+ def format_prompt(question):
19
+ prompt = f"""Você é um assistente especializado em conhecimento bíblico.
20
+ Por favor, responda à seguinte pergunta com base nas escrituras bíblicas:
21
+
22
+ Pergunta: {question}
23
+
24
+ Resposta baseada na Bíblia:"""
25
+ return prompt
26
+
27
+ # Função principal para gerar resposta
28
+ def generate_biblical_response(question, model):
29
+ prompt = format_prompt(question)
30
+
31
+ # Gera a resposta
32
+ response = model(prompt, max_new_tokens=512)
33
+
34
+ # Formata a resposta
35
+ formatted_response = textwrap.fill(response, width=80)
36
+
37
+ return formatted_response
38
+
39
+ # Interface Gradio
40
+ def create_interface():
41
+ model = load_model()
42
+
43
+ def process_question(question):
44
+ return generate_biblical_response(question, model)
45
+
46
+ # Cria a interface
47
+ iface = gr.Interface(
48
+ fn=process_question,
49
+ inputs=gr.Textbox(
50
+ lines=2,
51
+ placeholder="Digite sua pergunta sobre a Bíblia aqui..."
52
+ ),
53
+ outputs=gr.Textbox(lines=10),
54
+ title="Consultor Bíblico Virtual",
55
+ description="Faça perguntas sobre a Bíblia e receba respostas baseadas nas escrituras.",
56
+ examples=[
57
+ ["O que a Bíblia diz sobre amor ao próximo?"],
58
+ ["Como é descrita a criação do mundo no livro de Gênesis?"],
59
+ ["Quais são os principais ensinamentos de Jesus sobre perdão?"]
60
+ ],
61
+ theme="default"
62
+ )
63
+ return iface
64
+
65
+ # Inicia o aplicativo
66
+ if __name__ == "__main__":
67
+ interface = create_interface()
68
+ interface.launch(share=True)