Kshitijk20 commited on
Commit
291a674
·
1 Parent(s): 4bcb337

switched to openrouter model

Browse files
app/config/config.yaml CHANGED
@@ -8,6 +8,9 @@ llm:
8
  gemini_lite:
9
  provider: "gemini_lite"
10
  model_name: "gemini-2.5-flash-lite"
 
 
 
11
 
12
  embedding_model:
13
  openai:
 
8
  gemini_lite:
9
  provider: "gemini_lite"
10
  model_name: "gemini-2.5-flash-lite"
11
+ openrouter:
12
+ provider: "openrouter"
13
+ model_name: "google/gemma-3-27b-it:free"
14
 
15
  embedding_model:
16
  openai:
app/services/RAG_service.py CHANGED
@@ -42,8 +42,8 @@ class RAGService:
42
 
43
  def _init_models(self):
44
  """Initialize LLM and embedding Models"""
45
- print("[RAGService] Loading LLM model (gemini)...")
46
- self.model_loader = ModelLoader(model_provider="gemini")
47
  self.llm = self.model_loader.load_llm()
48
  print("[RAGService] LLM model loaded.")
49
  print("[RAGService] Loading embedding model (huggingface)...")
 
42
 
43
  def _init_models(self):
44
  """Initialize LLM and embedding Models"""
45
+ print("[RAGService] Loading LLM model (openrouter)...")
46
+ self.model_loader = ModelLoader(model_provider="openrouter")
47
  self.llm = self.model_loader.load_llm()
48
  print("[RAGService] LLM model loaded.")
49
  print("[RAGService] Loading embedding model (huggingface)...")
app/utils/model_loader.py CHANGED
@@ -10,6 +10,8 @@ from dotenv import load_dotenv
10
  from langchain_huggingface import HuggingFaceEmbeddings
11
  # from langchain_openai import OpenAIEmbeddings
12
  from langchain_community.embeddings import OpenAIEmbeddings
 
 
13
  class ConfigLoader:
14
  def __init__(self):
15
  print(f"Loading config....")
@@ -20,7 +22,7 @@ class ConfigLoader:
20
 
21
 
22
  class ModelLoader(BaseModel):
23
- model_provider: Literal["groq", "gemini", "openai","gemini_lite", "huggingface"] = "gemini"
24
  config: Optional[ConfigLoader] = Field(default = None, exclude = True) # either the config is ConfigLoader object or None
25
 
26
  def model_post_init(self, __context: Any)->None:
@@ -65,6 +67,16 @@ class ModelLoader(BaseModel):
65
  api_key = os.getenv("OPENAI_API_KEY")
66
  model_name = self.config["embedding_model"]["openai"]["model_name"]
67
  llm = OpenAIEmbeddings(model=model_name, api_key = api_key)
 
 
 
 
 
 
 
 
 
 
68
  elif self.model_provider =="huggingface":
69
  load_dotenv()
70
  print("Loading model from huggingface:")
 
10
  from langchain_huggingface import HuggingFaceEmbeddings
11
  # from langchain_openai import OpenAIEmbeddings
12
  from langchain_community.embeddings import OpenAIEmbeddings
13
+ from langchain.chat_models import init_chat_model
14
+
15
  class ConfigLoader:
16
  def __init__(self):
17
  print(f"Loading config....")
 
22
 
23
 
24
  class ModelLoader(BaseModel):
25
+ model_provider: Literal["groq", "gemini", "openai","gemini_lite", "huggingface","openrouter"] = "openrouter"
26
  config: Optional[ConfigLoader] = Field(default = None, exclude = True) # either the config is ConfigLoader object or None
27
 
28
  def model_post_init(self, __context: Any)->None:
 
67
  api_key = os.getenv("OPENAI_API_KEY")
68
  model_name = self.config["embedding_model"]["openai"]["model_name"]
69
  llm = OpenAIEmbeddings(model=model_name, api_key = api_key)
70
+ elif self.model_provider == "operouter":
71
+ load_dotenv()
72
+ api_key = os.getenv("OPENROUTER_API_KEY")
73
+ model_name = self.config["llm"]["openrouter"]["model_name"]
74
+ llm = init_chat_model(
75
+ model=model_name,
76
+ model_provider="openai",
77
+ base_url="https://openrouter.ai/api/v1",
78
+ api_key=api_key
79
+ )
80
  elif self.model_provider =="huggingface":
81
  load_dotenv()
82
  print("Loading model from huggingface:")