chatsbt/chatgraph.py

19 lines
585 B
Python
Raw Normal View History

from langchain_openai import ChatOpenAI
2025-07-29 23:42:15 -04:00
from langchain_core.messages import HumanMessage, AIMessage
from os import getenv
from dotenv import load_dotenv
2025-07-31 22:50:03 -04:00
from pydantic import SecretStr
load_dotenv()
2025-07-29 23:42:15 -04:00
def get_llm(provider: str):
"""Return a LangChain chat model for the requested provider."""
return ChatOpenAI(
2025-07-31 22:50:03 -04:00
api_key=SecretStr(getenv("OPENROUTER_API_KEY","")),
base_url=getenv("OPENROUTER_BASE_URL"),
model=provider,
2025-07-29 23:42:15 -04:00
)
2025-07-29 23:42:15 -04:00
def get_messages(chats, chat_id):
return [HumanMessage(**m) if m["role"] == "human" else AIMessage(**m) for m in chats[chat_id]]