import os # from langchain_groq import ChatGroq # from langchain_huggingface import ChatHuggingFace, HuggingFaceEndpoint from langchain_openai import ChatOpenAI from dotenv import load_dotenv load_dotenv() def get_llm(provider: str = "groq"): if provider == "groq": # return ChatGroq( # model="qwen/qwen3-32b", # temperature=0 # ) # return ChatOpenAI( # model="openai/gpt-4o-mini", # api_key=os.getenv("OPENROUTER_API_KEY"), # base_url="https://openrouter.ai/api/v1", # temperature=0 # ) return ChatOpenAI( model="openai/gpt-4o-mini", base_url="https://openrouter.ai/api/v1", api_key=os.getenv("OPENROUTER_API_KEY"), default_headers={ "HTTP-Referer": "http://localhost", "X-Title": "agent" }, temperature=0, max_tokens=1024 ) # elif provider == "huggingface": # return ChatHuggingFace( # llm=HuggingFaceEndpoint( # repo_id="TinyLlama/TinyLlama-1.1B-Chat-v1.0", # task="text-generation", # max_new_tokens=512, # temperature=0, # do_sample=False # ) # ) # else: # raise ValueError("Invalid provider") def bind_tools(llm, tools): return llm.bind_tools(tools)