llm_rag_cv / gen.py
sorg20's picture
vector db retrain
1ffa965
import pysqlite3
import sys, os
sys.modules["sqlite3"] = sys.modules.pop("pysqlite3")
from langchain_community.document_loaders import PyPDFLoader
from langchain.text_splitter import RecursiveCharacterTextSplitter
from langchain_community.embeddings import HuggingFaceInferenceAPIEmbeddings
from langchain_community.vectorstores import Chroma
import streamlit as st
HF_TOKEN = st.secrets["HF_TOKEN"]
def persist_dir(file_path):
data = PyPDFLoader(file_path)
print("Loading data...")
content = data.load()
print("Splitting data...")
splitter = RecursiveCharacterTextSplitter(chunk_size=1024,chunk_overlap=150)
chunks = splitter.split_documents(content)
embeddings = HuggingFaceInferenceAPIEmbeddings(
api_key=HF_TOKEN, model_name="BAAI/bge-base-en-v1.5"
)
print("Save to db...")
vectorstore = Chroma.from_documents(chunks, embeddings,persist_directory="./db")
if __name__ == "__main__":
#will change, if you add file upload on streamlit
#data = "./data/Sungwon_Kim_ML_DL.pdf"
data = "./data/Sungwon_Kim_ML_DL_Intro_together.pdf"
persist_dir(data)