Remove unused & unneded code
Browse files- Deprecated functions
- Old loggers
- Formatted
app.py
CHANGED
@@ -1,5 +1,4 @@
|
|
1 |
import gradio as gr
|
2 |
-
import logging
|
3 |
from langchain.chains import RetrievalQA
|
4 |
from langchain.llms import OpenAI
|
5 |
from langchain.document_loaders import PDFMinerLoader
|
@@ -8,12 +7,11 @@ import os
|
|
8 |
|
9 |
|
10 |
def set_openai_key(raw_key):
|
11 |
-
logging.warning(raw_key)
|
12 |
os.environ["OPENAI_API_KEY"] = raw_key
|
|
|
13 |
|
14 |
|
15 |
def create_langchain(pdf_object):
|
16 |
-
logging.info(f"Creating langchain for {pdf_object.name}")
|
17 |
loader = PDFMinerLoader(pdf_object.name)
|
18 |
index_creator = VectorstoreIndexCreator()
|
19 |
docsearch = index_creator.from_loaders([loader])
|
@@ -29,36 +27,23 @@ def create_langchain(pdf_object):
|
|
29 |
|
30 |
|
31 |
def ask_question(chain, question_text):
|
32 |
-
logging.info(type(chain))
|
33 |
-
return chain({"question": question_text})["result"]
|
34 |
-
|
35 |
-
|
36 |
-
def create_ask(pdf_object, question_text):
|
37 |
-
loader = PDFMinerLoader(pdf_object.name)
|
38 |
-
index_creator = VectorstoreIndexCreator()
|
39 |
-
docsearch = index_creator.from_loaders([loader])
|
40 |
-
chain = RetrievalQA.from_chain_type(
|
41 |
-
llm=OpenAI(),
|
42 |
-
chain_type="stuff",
|
43 |
-
retriever=docsearch.vectorstore.as_retriever(),
|
44 |
-
input_key="question",
|
45 |
-
verbose=True,
|
46 |
-
return_source_documents=True,
|
47 |
-
)
|
48 |
return chain({"question": question_text})["result"]
|
49 |
|
50 |
|
51 |
with gr.Blocks() as demo:
|
52 |
-
#
|
53 |
oai_token = gr.Textbox(
|
54 |
label="OpenAI Token",
|
55 |
placeholder="Lm-iIas452gaw3erGtPar26gERGSA5RVkFJQST23WEG524EWEl",
|
56 |
)
|
57 |
-
|
58 |
pdf_object = gr.File(
|
59 |
-
label="Upload your CV in PDF format",
|
|
|
|
|
|
|
60 |
)
|
61 |
-
|
62 |
question_placeholder = """
|
63 |
Enumerate the candidate's top 5 hard skills and rate them by importance from 0 to 5.
|
64 |
Example:
|
@@ -67,6 +52,11 @@ with gr.Blocks() as demo:
|
|
67 |
question_box = gr.Textbox(label="Question", value=question_placeholder)
|
68 |
qa_button = gr.Button(value="Submit question", interactive=False)
|
69 |
|
|
|
|
|
|
|
|
|
|
|
70 |
lchain = pdf_object.change(
|
71 |
create_langchain, inputs=pdf_object, outputs=[chain_state, qa_button]
|
72 |
)
|
|
|
1 |
import gradio as gr
|
|
|
2 |
from langchain.chains import RetrievalQA
|
3 |
from langchain.llms import OpenAI
|
4 |
from langchain.document_loaders import PDFMinerLoader
|
|
|
7 |
|
8 |
|
9 |
def set_openai_key(raw_key):
|
|
|
10 |
os.environ["OPENAI_API_KEY"] = raw_key
|
11 |
+
return gr.File.update(interactive=True)
|
12 |
|
13 |
|
14 |
def create_langchain(pdf_object):
|
|
|
15 |
loader = PDFMinerLoader(pdf_object.name)
|
16 |
index_creator = VectorstoreIndexCreator()
|
17 |
docsearch = index_creator.from_loaders([loader])
|
|
|
27 |
|
28 |
|
29 |
def ask_question(chain, question_text):
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
30 |
return chain({"question": question_text})["result"]
|
31 |
|
32 |
|
33 |
with gr.Blocks() as demo:
|
34 |
+
# Layout
|
35 |
oai_token = gr.Textbox(
|
36 |
label="OpenAI Token",
|
37 |
placeholder="Lm-iIas452gaw3erGtPar26gERGSA5RVkFJQST23WEG524EWEl",
|
38 |
)
|
39 |
+
|
40 |
pdf_object = gr.File(
|
41 |
+
label="Upload your CV in PDF format",
|
42 |
+
file_count="single",
|
43 |
+
type="file",
|
44 |
+
interactive=False,
|
45 |
)
|
46 |
+
|
47 |
question_placeholder = """
|
48 |
Enumerate the candidate's top 5 hard skills and rate them by importance from 0 to 5.
|
49 |
Example:
|
|
|
52 |
question_box = gr.Textbox(label="Question", value=question_placeholder)
|
53 |
qa_button = gr.Button(value="Submit question", interactive=False)
|
54 |
|
55 |
+
# Sate objects
|
56 |
+
chain_state = gr.State()
|
57 |
+
|
58 |
+
# Actions
|
59 |
+
oai_token.change(set_openai_key, inputs=oai_token, outputs=pdf_object)
|
60 |
lchain = pdf_object.change(
|
61 |
create_langchain, inputs=pdf_object, outputs=[chain_state, qa_button]
|
62 |
)
|