tony346 commited on
Commit
d87d9d6
·
1 Parent(s): cc3fe31

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +17 -9
app.py CHANGED
@@ -1,10 +1,10 @@
1
  import streamlit as st
2
  from dotenv import load_dotenv
3
  from PyPDF2 import PdfReader
4
- from langchain.text_splitter import CharacterTextSplitter
5
  from langchain.llms import CTransformers # For loading transformer models.
6
  from langchain.embeddings import OpenAIEmbeddings, HuggingFaceInstructEmbeddings
7
- from langchain.vectorstores import FAISS
8
  from langchain.embeddings import HuggingFaceEmbeddings # General embeddings from HuggingFace models.
9
  from langchain.chat_models import ChatOpenAI
10
  from langchain.memory import ConversationBufferMemory
@@ -21,12 +21,17 @@ def get_pdf_text(pdf_docs):
21
 
22
 
23
  def get_text_chunks(text):
24
- text_splitter = CharacterTextSplitter(
25
- separator="\n",
26
- chunk_size=1000,
27
- chunk_overlap=200,
28
- length_function=len
29
  )
 
 
 
 
 
 
30
  chunks = text_splitter.split_text(text)
31
  return chunks
32
 
@@ -37,14 +42,17 @@ def get_vectorstore(text_chunks):
37
  model_kwargs={'device': 'cpu'})
38
  # embeddings = OpenAIEmbeddings()
39
  # embeddings = HuggingFaceInstructEmbeddings(model_name="hkunlp/instructor-xl")
40
- vectorstore = FAISS.from_texts(texts=text_chunks, embedding=embeddings)
 
 
41
  return vectorstore
42
 
43
 
44
  def get_conversation_chain(vectorstore):
45
  # llm = ChatOpenAI()
46
  # llm = HuggingFaceHub(repo_id="google/flan-t5-xxl", model_kwargs={"temperature":0.5, "max_length":512})
47
- llm = CTransformers(model="llama-2-7b-chat.ggmlv3.q2_K.bin", model_type="llama")
 
48
  memory = ConversationBufferMemory(
49
  memory_key='chat_history', return_messages=True)
50
  conversation_chain = ConversationalRetrievalChain.from_llm(
 
1
  import streamlit as st
2
  from dotenv import load_dotenv
3
  from PyPDF2 import PdfReader
4
+ from langchain.text_splitter import CharacterTextSplitter,RecursiveCharacterTextSplitter
5
  from langchain.llms import CTransformers # For loading transformer models.
6
  from langchain.embeddings import OpenAIEmbeddings, HuggingFaceInstructEmbeddings
7
+ from langchain.vectorstores import FAISS, Chroma
8
  from langchain.embeddings import HuggingFaceEmbeddings # General embeddings from HuggingFace models.
9
  from langchain.chat_models import ChatOpenAI
10
  from langchain.memory import ConversationBufferMemory
 
21
 
22
 
23
  def get_text_chunks(text):
24
+ text_splitter = RecursiveCharacterTextSplitter(
25
+ chunk_size = 300,
26
+ chunk_overlap = 20,
27
+ length_function= len
 
28
  )
29
+ # text_splitter = CharacterTextSplitter(
30
+ # separator="\n",
31
+ # chunk_size=1000,
32
+ # chunk_overlap=200,
33
+ # length_function=len
34
+ # )
35
  chunks = text_splitter.split_text(text)
36
  return chunks
37
 
 
42
  model_kwargs={'device': 'cpu'})
43
  # embeddings = OpenAIEmbeddings()
44
  # embeddings = HuggingFaceInstructEmbeddings(model_name="hkunlp/instructor-xl")
45
+ # vectorstore = FAISS.from_texts(texts=text_chunks, embedding=embeddings)
46
+ vectorstore = Chroma.from_texts(texts=text_chunks, embedding=embeddings)
47
+
48
  return vectorstore
49
 
50
 
51
  def get_conversation_chain(vectorstore):
52
  # llm = ChatOpenAI()
53
  # llm = HuggingFaceHub(repo_id="google/flan-t5-xxl", model_kwargs={"temperature":0.5, "max_length":512})
54
+ config = {'max_new_tokens': 2048}
55
+ llm = CTransformers(model="llama-2-7b-chat.ggmlv3.q2_K.bin", model_type="llama", config=config)
56
  memory = ConversationBufferMemory(
57
  memory_key='chat_history', return_messages=True)
58
  conversation_chain = ConversationalRetrievalChain.from_llm(