dtrejopizzo commited on
Commit
c00bb17
1 Parent(s): 080fddd

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +14 -15
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 = 0.2
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-4", max_tokens=num_outputs))
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
- # Configure query engine
31
- #query_engine = index.as_query_engine()
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: {query_str}\n"
37
  )
38
  QA_TEMPLATE = PromptTemplate(TEMPLATE_STR)
39
- query_engine = index.as_query_engine(text_qa_template=QA_TEMPLATE)
40
- # Execute query
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)