-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathvector_store.py
28 lines (20 loc) · 913 Bytes
/
vector_store.py
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
from langchain_community.document_loaders import WebBaseLoader
from langchain.text_splitter import RecursiveCharacterTextSplitter
from langchain_chroma import Chroma
from langchain_google_genai import GoogleGenerativeAIEmbeddings
import os
from dotenv import load_dotenv
__import__('pysqlite3')
import sys
sys.modules['sqlite3'] = sys.modules.pop('pysqlite3')
GOOGLE_API_KEY = os.getenv("GOOGLE_API_KEY")
class VectorStore:
def __init__(self) -> None:
pass
def get_vector_store_from_url(url):
loader = WebBaseLoader(url)
document = loader.load()
text_splitter = RecursiveCharacterTextSplitter()
document_chunks = text_splitter.split_documents(documents=document)
vector_store = Chroma.from_documents(document_chunks, embedding=GoogleGenerativeAIEmbeddings(google_api_key=GOOGLE_API_KEY, model='models/embedding-001'))
return vector_store