CoolFace
Apppublic

Aryan2301/YouTube_RAG_Intelligence

sourceHugging Faceupdated 18h agoView on Hugging Face
0likes
llm.py60 linesDownload Raw Back to core
1import os2 3from dotenv import load_dotenv4from langchain_groq import ChatGroq5from langchain_ollama import ChatOllama6 7from utils.constants import (8    LLM_MODEL,9    SUMMARY_MODEL,10    LLM_TEMPERATURE,11)12 13load_dotenv()14 15 16def get_groq_api_key():17    return os.environ.get("GROQ_API_KEY")18 19 20def load_llm():21    """Load the primary LLM (Groq) for normal chat and RAG flow."""22    groq_api_key = get_groq_api_key()23    return ChatGroq(24        model=LLM_MODEL,25        groq_api_key=groq_api_key,26        temperature=LLM_TEMPERATURE,27    )28 29 30def load_summary_llm():31    """Load the summarization LLM (gpt-oss:120b-cloud via Ollama)."""32    ollama_key = (33        os.environ.get("OLLAMA")34        or os.environ.get("OLLAMA_API_KEY")35    )36    ollama_host = (37        os.environ.get("OLLAMA_HOST")38        or os.environ.get("OLLAMA_BASE_URL")39        or "https://ollama.com"40    )41 42    if ollama_key:43        os.environ["OLLAMA_API_KEY"] = ollama_key44    if ollama_host:45        os.environ["OLLAMA_HOST"] = ollama_host46 47    client_kwargs = {}48    if ollama_key:49        client_kwargs["headers"] = {"Authorization": f"Bearer {ollama_key}"}50 51    kwargs = {52        "model": SUMMARY_MODEL,53        "base_url": ollama_host,54        "temperature": LLM_TEMPERATURE,55    }56    if client_kwargs:57        kwargs["client_kwargs"] = client_kwargs58        kwargs["async_client_kwargs"] = client_kwargs59 60    return ChatOllama(**kwargs)