Spaces:
Sleeping
Sleeping
File size: 1,433 Bytes
f757ba6 |
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 33 34 35 36 37 38 39 40 41 42 43 |
import os
from langchain_community.embeddings import HuggingFaceEmbeddings
from langchain_community.vectorstores import Chroma
from langchain_google_genai import ChatGoogleGenerativeAI
from langchain.prompts import PromptTemplate
from langchain.chains import LLMChain
from google.colab import userdata
class GeminiLLM():
def __init__(self):
self.ACCESS_TOKEN = os.getenv('GOOGLE_GEMINI_TOKEN')
self.model_name = "gemini-pro"
def getEmbeddingsModel(self):
self.embeddings = HuggingFaceEmbeddings(model_name="all-MiniLM-L6-v2")
return self.embeddings
def getRetriver(self, documents ):
vectorstore = Chroma.from_documents(
documents = documents,
embedding = self.embeddings,
persist_directory = "chroma_db_dir", # Local mode with in-memory storage only
collection_name="sermon_lab_ai"
)
retriever = vectorstore.as_retriever(
search_kwargs={"k": 3}
)
return (retriever, vectorstore)
def getLLM(self, documents ):
if os.getenv('GOOGLE_GEMINI_TOKEN') is None:
raise ValueError("GOOGLE_GEMINI_TOKEN environment variable not set")
else:
self.llm = ChatGoogleGenerativeAI(
model = self.model_name,
temperature = 0.7,
top_k = 40,
top_p = 1
)
return self.llm |