from langchain_openai import ChatOpenAI from langchain_core.messages import HumanMessage, AIMessage from os import getenv from dotenv import load_dotenv from pydantic import SecretStr load_dotenv() def get_llm(provider: str): """Return a LangChain chat model for the requested provider.""" return ChatOpenAI( api_key=SecretStr(getenv("OPENROUTER_API_KEY","")), base_url=getenv("OPENROUTER_BASE_URL"), model=provider, ) def get_messages(chats, chat_id): return [HumanMessage(**m) if m["role"] == "human" else AIMessage(**m) for m in chats[chat_id]]