File size: 1,684 Bytes
bd53fbd 7f1e53f f97cf59 7f1e53f f97cf59 7f1e53f bd53fbd 7f1e53f f97cf59 7f1e53f f97cf59 7f1e53f 61b75fc 7f1e53f 61b75fc 2416f1c f97cf59 7f1e53f 2416f1c f97cf59 7f1e53f 2416f1c 7f1e53f 2416f1c dd41a03 f97cf59 7f1e53f f97cf59 2416f1c f97cf59 9514cd1 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 |
from langchain_community.document_loaders import TextLoader , PyPDFLoader
from langchain_community.embeddings import HuggingFaceBgeEmbeddings
from langchain_community.vectorstores import FAISS
from langchain.text_splitter import RecursiveCharacterTextSplitter
from langchain.llms import HuggingFacePipeline
from transformers import pipeline
from transformers import AutoTokenizer, AutoModelForSeq2SeqLM
from langchain.chains import RetrievalQA
import torch
loader = PyPDFLoader('bipolar.pdf')
# loader = TextLoader("info.txt")
docs = loader.load()
text_splitter = RecursiveCharacterTextSplitter()
# text_splitter = RecursiveCharacterTextSplitter(chunk_size=100, chunk_overlap=20)
documents = text_splitter.split_documents(docs)
huggingface_embeddings = HuggingFaceBgeEmbeddings(
model_name="BAAI/bge-small-en-v1.5",
model_kwargs={'device':'cpu'},
encode_kwargs={'normalize_embeddings': True}
)
vector = FAISS.from_documents(documents, huggingface_embeddings)
retriever = vector.as_retriever()
model_name = "facebook/bart-base"
tokenizer = AutoTokenizer.from_pretrained(model_name)
model = AutoModelForSeq2SeqLM.from_pretrained(model_name)
pipe = pipeline(
"text2text-generation",
model=model,
tokenizer=tokenizer,
max_length=300,
temperature=0.9,
top_p=0.9,
repetition_penalty=1.15,
do_sample=True
)
local_llm = HuggingFacePipeline(pipeline=pipe)
qa_chain = RetrievalQA.from_llm(llm=local_llm, retriever=retriever)
def gradinterface(query,history):
result = qa_chain({'query': query})
return result
demo = gr.ChatInterface(fn=gradinterface, title='OUR_OWN_BOT')
if __name__ == "__main__":
demo.launch(share=True)
|