File size: 1,048 Bytes
cdfb101 |
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 |
from langchain_google_genai import GoogleGenerativeAIEmbeddings
from dotenv import load_dotenv
from langchain_postgres import PGVector
from langchain_core.documents import Document
import os
import json
load_dotenv()
class Embed:
def __init__(self):
API = os.getenv("API_KEY")
self.embeddings = GoogleGenerativeAIEmbeddings(google_api_key = API,
model="models/text-embedding-004")
def create_db(self,String,Name):
self.db = PGVector(self.embeddings,connection = String,collection_name = Name,use_jsonb = True)
def create_document(self,n,resume):
json_res = json.loads(resume)
return Document(
page_content = f"{resume}",
metadata = {"id": n, "name": json_res["name"] , "email": json_res["email"]}
)
def add_docs(self,documents):
self.db.add_documents(documents=documents)
def match(self,skills,select):
result = self.db.similarity_search(skills,k = select)
return result
|