Spaces:
Sleeping
Sleeping
Commit ·
291a674
1
Parent(s): 4bcb337
switched to openrouter model
Browse files- app/config/config.yaml +3 -0
- app/services/RAG_service.py +2 -2
- app/utils/model_loader.py +13 -1
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 (
|
| 46 |
-
self.model_loader = ModelLoader(model_provider="
|
| 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"] = "
|
| 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:")
|