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