adding model calls

This commit is contained in:
Sydney Runkle
2025-09-04 09:59:45 -04:00
parent 6ff9e4a764
commit 120d34303d
3 changed files with 28 additions and 0 deletions
@@ -0,0 +1,28 @@
from langgraph.agent.types import AgentState, AgentUpdate, AgentJump, AgentMiddleware
from langgraph.agent.types import ModelRequest
from typing import Literal
from dataclasses import dataclass
from langchain_core.language_models.chat_models import BaseChatModel
class DynamicModelMiddleware(AgentMiddleware):
"""Selects different models based on task complexity"""
def __init__(
self,
basic_model: BaseChatModel,
complex_model: BaseChatModel,
message_threshold: int = 5,
):
self.basic_model = basic_model
self.complex_model = complex_model
self.message_threshold = message_threshold
def modify_model_request(
self, request: ModelRequest, state: AgentState
) -> ModelRequest:
if len(state.messages) > self.message_threshold:
request.model = self.complex_model
else:
request.model = self.basic_model
return request