Turbiling commited on
Commit
1b8ea3a
·
verified ·
1 Parent(s): e613562

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +5 -40
app.py CHANGED
@@ -1,43 +1,8 @@
1
- import os
2
- os.environ["CHAINLIT_STORAGE_DIR"] = "/app/.chainlit"
 
3
 
 
4
  from langchain_community.document_loaders import PyPDFLoader
5
- from langchain.text_splitter import RecursiveCharacterTextSplitter
6
- from langchain.embeddings import HuggingFaceEmbeddings
7
- from langchain.vectorstores import FAISS
8
- from langchain.chains.question_answering import load_qa_chain
9
- from langchain.llms import OpenAI # replace with Groq if needed
10
-
11
- import chainlit as cl
12
-
13
- @cl.on_chat_start
14
- async def start():
15
- await cl.Message("👋 Upload a PDF to ask questions!").send()
16
-
17
- @cl.on_message
18
- async def handle_message(message: cl.Message):
19
- files = await cl.AskFileMessage("📎 Upload your PDF", accept=["application/pdf"]).send()
20
- if not files:
21
- await cl.Message("❌ No file received.").send()
22
- return
23
-
24
- file = files[0]
25
- file_path = file.path
26
-
27
- loader = PyPDFLoader(file_path)
28
- documents = loader.load()
29
-
30
- splitter = RecursiveCharacterTextSplitter(chunk_size=1000, chunk_overlap=200)
31
- chunks = splitter.split_documents(documents)
32
-
33
- embeddings = HuggingFaceEmbeddings()
34
- vectordb = FAISS.from_documents(chunks, embeddings)
35
-
36
- qa_chain = load_qa_chain(OpenAI(temperature=0), chain_type="stuff") # or Groq
37
-
38
- query = message.content
39
- docs = vectordb.similarity_search(query)
40
- answer = qa_chain.run(input_documents=docs, question=query)
41
-
42
- await cl.Message(answer).send()
43
 
 
1
+ # ✅ OLD (deprecated)
2
+ # from langchain.document_loaders import PyPDFLoader
3
+ # from langchain.llms import OpenAI
4
 
5
+ # ✅ NEW (correct)
6
  from langchain_community.document_loaders import PyPDFLoader
7
+ from langchain_community.llms import OpenAI
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
8