Spaces:
Sleeping
Sleeping
Update app.py
Browse files
app.py
CHANGED
@@ -4,14 +4,17 @@ from pdfminer.high_level import extract_text
|
|
4 |
from sentence_transformers import SentenceTransformer
|
5 |
import faiss
|
6 |
from ctransformers import AutoModelForCausalLM
|
7 |
-
from transformers import AutoTokenizer
|
8 |
|
9 |
-
# Embeddings
|
10 |
embedder = SentenceTransformer("all-MiniLM-L6-v2")
|
11 |
|
12 |
-
#
|
13 |
-
llm = AutoModelForCausalLM.from_pretrained(
|
14 |
-
|
|
|
|
|
|
|
|
|
15 |
|
16 |
doc_chunks, index = [], None
|
17 |
|
@@ -64,11 +67,12 @@ def chat_with_pdf(message):
|
|
64 |
prompt = build_prompt(message, chunks)
|
65 |
return llm_answer(prompt)
|
66 |
|
|
|
67 |
with gr.Blocks() as demo:
|
68 |
-
gr.Markdown("## Chat with your PDF (No
|
69 |
file_input = gr.File(label="Upload PDF")
|
70 |
upload_btn = gr.Button("Process PDF")
|
71 |
-
chatbot = gr.ChatInterface(fn=chat_with_pdf, textbox=gr.Textbox(placeholder="Ask something..."
|
72 |
|
73 |
upload_btn.click(fn=process_pdf, inputs=[file_input], outputs=[chatbot.textbox])
|
74 |
|
|
|
4 |
from sentence_transformers import SentenceTransformer
|
5 |
import faiss
|
6 |
from ctransformers import AutoModelForCausalLM
|
|
|
7 |
|
8 |
+
# Embeddings Model
|
9 |
embedder = SentenceTransformer("all-MiniLM-L6-v2")
|
10 |
|
11 |
+
# FREE, non-gated GGUF model
|
12 |
+
llm = AutoModelForCausalLM.from_pretrained(
|
13 |
+
"TheBloke/OpenHermes-2.5-Mistral-7B-GGUF",
|
14 |
+
model_file="openhermes-2.5-mistral-7b.Q4_K_M.gguf",
|
15 |
+
model_type="mistral",
|
16 |
+
gpu_layers=0
|
17 |
+
)
|
18 |
|
19 |
doc_chunks, index = [], None
|
20 |
|
|
|
67 |
prompt = build_prompt(message, chunks)
|
68 |
return llm_answer(prompt)
|
69 |
|
70 |
+
# Gradio UI
|
71 |
with gr.Blocks() as demo:
|
72 |
+
gr.Markdown("## 🧠 Chat with your PDF (Open Source, No Login!)")
|
73 |
file_input = gr.File(label="Upload PDF")
|
74 |
upload_btn = gr.Button("Process PDF")
|
75 |
+
chatbot = gr.ChatInterface(fn=chat_with_pdf, textbox=gr.Textbox(placeholder="Ask something from your PDF..."))
|
76 |
|
77 |
upload_btn.click(fn=process_pdf, inputs=[file_input], outputs=[chatbot.textbox])
|
78 |
|