Spaces:
Build error
Build error
Download app.py from ranchaya/testing-bot-cache: direct link, hf CLI and curl.
- Browser
- Download file 1.35 kB
-
https://huggingface.co/spaces/ranchaya/testing-bot-cache/resolve/main/app.py
- Command line
-
hf download hf://spaces/ranchaya/testing-bot-cache/app.py
-
curl -L -o app.py https://huggingface.co/spaces/ranchaya/testing-bot-cache/resolve/main/app.py
1.35 kB
| from langchain.document_loaders import PyPDFDirectoryLoader | |
| from langchain.vectorstores import Chroma | |
| from langchain.embeddings.huggingface import HuggingFaceEmbeddings | |
| from langchain import HuggingFaceHub | |
| from langchain.text_splitter import RecursiveCharacterTextSplitter | |
| from langchain.chains.question_answering import load_qa_chain | |
| import streamlit as st | |
| from langchain.chains import RetrievalQA | |
| import os | |
| query = st.text_input("Ask a question: ") | |
| def llm(): | |
| return HuggingFaceHub(repo_id="google/flan-t5-small", model_kwargs={"temperature":0,"max_length":200}, huggingfacehub_api_token=os.getenv("API_TOKEN")) # type: ignore | |
| def qa(query): | |
| pdf_folder_path = "./PDFfiles" | |
| loader = PyPDFDirectoryLoader(pdf_folder_path) | |
| docs = loader.load() | |
| text_splitter = RecursiveCharacterTextSplitter (chunk_size=1000, chunk_overlap=200) | |
| texts = text_splitter.split_documents(docs) | |
| embeddings = HuggingFaceEmbeddings() | |
| vectordb = Chroma.from_documents(documents=texts,embedding=embeddings) | |
| qa = RetrievalQA.from_chain_type(llm=llm(), chain_type="stuff",retriever=vectordb.as_retriever(search_type="mmr", search_kwargs={'fetch_k': 30}), return_source_documents=True) | |
| result = qa({"query": query}) | |
| st.write(result["result"]) | |
| st.write(result["source_documents"][0]) | |
| qa(query) | |