ahmedelbeshry's picture
Upload 23 files
7e02cc7 verified
from langchain_google_genai import ChatGoogleGenerativeAI
import google.generativeai as genai
from langchain.chat_models import ChatOpenAI
from langchain_groq import ChatGroq
import vertexai
from langchain_google_vertexai import ChatVertexAI
from dotenv import load_dotenv
import os
load_dotenv()
genai.configure(api_key=os.getenv("GOOGLE_API_KEY"))
class LLM:
def __init__(self, llm, model=None):
if llm == 'gemini':
if model is None:
model = "gemini-pro"
self.llm = ChatGoogleGenerativeAI(model=model, temperature=0.3)
elif llm == 'vertex':
vertexai.init(project="website-254017", location="us-central1")
if model is None:
model = "gemini-1.5-pro-preview-0514"
self.llm = ChatVertexAI(model_name=model, temperature=0, max_tokens=8000)
elif llm == 'openai':
if model is None:
model = 'gpt-3.5-turbo-0125'
# ChatOpenAI(temperature=0, model="gpt-3.5-turbo-0125")
self.llm = ChatOpenAI(api_key=os.getenv("OPENAI_API_KEY"), model=model)
elif llm == 'mixtral':
model = "mixtral-8x7b-32768"
self.llm = ChatGroq(temperature=0, groq_api_key=os.getenv("GROK_API_KEY"), model_name=model)
elif llm == 'llama':
if model is None:
model = 'llama3-8b-8192'
self.llm = ChatGroq(temperature=0, groq_api_key=os.getenv("GROK_API_KEY"), model_name=model)
def get_llm(self):
return self.llm