import os | |
from dotenv import load_dotenv | |
from langchain_openai import OpenAI | |
from langchain_groq import ChatGroq | |
from langchain_openai import OpenAIEmbeddings | |
from langchain_huggingface import HuggingFaceEmbeddings | |
load_dotenv() | |
MODELS_MAP = { | |
"OpenAI gpt-4o": { | |
"class": OpenAI, | |
"params": { | |
"temperature": 0, | |
"api_key": os.getenv("OPENAI_API_KEY") | |
}, | |
"embedding_class": OpenAIEmbeddings, | |
"embedding_params": { | |
"api_key": os.getenv("OPENAI_API_KEY") | |
} | |
}, | |
"Groq LLaMA3 70b": { | |
"class": ChatGroq, | |
"params": { | |
"model_name": "llama3-70b-8192", | |
"groq_api_key": os.getenv("GROQ_API_KEY") | |
}, | |
"embedding_class": HuggingFaceEmbeddings, | |
"embedding_params": { | |
"model_name": "sentence-transformers/all-MiniLM-L6-v2" | |
} | |
}, | |
"Groq Mixtral 8x7b": { | |
"class": ChatGroq, | |
"params": { | |
"model_name": "mixtral-8x7b-32768", | |
"groq_api_key": os.getenv("GROQ_API_KEY") | |
}, | |
"embedding_class": HuggingFaceEmbeddings, | |
"embedding_params": { | |
"model_name": "sentence-transformers/all-MiniLM-L6-v2" | |
} | |
} | |
} |