Spaces:
Paused
Paused
dtrejopizzo
commited on
Commit
路
c00bb17
1
Parent(s):
080fddd
Update app.py
Browse files
app.py
CHANGED
@@ -8,37 +8,35 @@ import os
|
|
8 |
os.environ["OPENAI_API_KEY"]
|
9 |
|
10 |
def construct_index(directory_path):
|
|
|
11 |
max_input_size = 4096
|
12 |
num_outputs = 512
|
13 |
-
max_chunk_overlap =
|
14 |
chunk_size_limit = 600
|
15 |
-
|
16 |
prompt_helper = PromptHelper(max_input_size, num_outputs, max_chunk_overlap, chunk_size_limit=chunk_size_limit)
|
17 |
-
|
18 |
-
llm_predictor = LLMPredictor(llm=ChatOpenAI(temperature=0.9, model_name="gpt-
|
19 |
-
|
20 |
documents = SimpleDirectoryReader(directory_path).load_data()
|
21 |
-
|
22 |
-
# Build index
|
23 |
index = GPTVectorStoreIndex(documents, llm_predictor=llm_predictor, prompt_helper=prompt_helper)
|
24 |
-
|
25 |
index.storage_context.persist(persist_dir="index.json")
|
26 |
-
|
27 |
return index
|
28 |
|
29 |
def chatbot(input_text):
|
30 |
-
#
|
31 |
-
|
32 |
# define custom Prompt
|
33 |
TEMPLATE_STR = (
|
34 |
"Quiero que actues como un asistente personal de un cliente del Banco Galicia. Tu nombre es Gala. Me brindas informaci贸n sobre mi resument de tarjeta de credito VISA. Si la respuesta no esta en el documento, respondeme de forma creativa que no lo sabes, pero que podes ayudarme con otra pregunta. Nunca te enojes y no contestes preguntas politicas o religiosas. \n"
|
35 |
"---------------------\n"
|
36 |
-
"Dado esto, por favor responde a la pregunta: {
|
37 |
)
|
38 |
QA_TEMPLATE = PromptTemplate(TEMPLATE_STR)
|
39 |
-
|
40 |
-
|
41 |
-
response = query_engine.query(input_text)
|
42 |
return response.response
|
43 |
|
44 |
iface = gr.Interface(fn=chatbot,
|
@@ -46,5 +44,6 @@ iface = gr.Interface(fn=chatbot,
|
|
46 |
outputs="text",
|
47 |
title="Demo Galicia")
|
48 |
|
|
|
49 |
index = construct_index("docs")
|
50 |
iface.launch(share=True, debug=True)
|
|
|
8 |
os.environ["OPENAI_API_KEY"]
|
9 |
|
10 |
def construct_index(directory_path):
|
11 |
+
# setup parameters
|
12 |
max_input_size = 4096
|
13 |
num_outputs = 512
|
14 |
+
max_chunk_overlap = 20
|
15 |
chunk_size_limit = 600
|
16 |
+
# create a prompt helper
|
17 |
prompt_helper = PromptHelper(max_input_size, num_outputs, max_chunk_overlap, chunk_size_limit=chunk_size_limit)
|
18 |
+
# initialize the predictor with a fine-tuned model
|
19 |
+
llm_predictor = LLMPredictor(llm=ChatOpenAI(temperature=0.9, model_name="gpt-3.5-turbo", max_tokens=num_outputs))
|
20 |
+
# load documents from the specified directory
|
21 |
documents = SimpleDirectoryReader(directory_path).load_data()
|
22 |
+
# construct the index
|
|
|
23 |
index = GPTVectorStoreIndex(documents, llm_predictor=llm_predictor, prompt_helper=prompt_helper)
|
24 |
+
# save the index to disk
|
25 |
index.storage_context.persist(persist_dir="index.json")
|
|
|
26 |
return index
|
27 |
|
28 |
def chatbot(input_text):
|
29 |
+
# load the index from disk
|
30 |
+
index = GPTVectorStoreIndex.load_from_disk('index.json')
|
31 |
# define custom Prompt
|
32 |
TEMPLATE_STR = (
|
33 |
"Quiero que actues como un asistente personal de un cliente del Banco Galicia. Tu nombre es Gala. Me brindas informaci贸n sobre mi resument de tarjeta de credito VISA. Si la respuesta no esta en el documento, respondeme de forma creativa que no lo sabes, pero que podes ayudarme con otra pregunta. Nunca te enojes y no contestes preguntas politicas o religiosas. \n"
|
34 |
"---------------------\n"
|
35 |
+
"Dado esto, por favor responde a la pregunta: {input_text}\n"
|
36 |
)
|
37 |
QA_TEMPLATE = PromptTemplate(TEMPLATE_STR)
|
38 |
+
# query the index and get the response
|
39 |
+
response = query_engine.query(QA_TEMPLATE)
|
|
|
40 |
return response.response
|
41 |
|
42 |
iface = gr.Interface(fn=chatbot,
|
|
|
44 |
outputs="text",
|
45 |
title="Demo Galicia")
|
46 |
|
47 |
+
# construct the index
|
48 |
index = construct_index("docs")
|
49 |
iface.launch(share=True, debug=True)
|