mirror of
https://github.com/langchain-ai/langgraph.git
synced 2026-09-06 09:47:51 +02:00
adding model calls
This commit is contained in:
@@ -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
|
||||
Reference in New Issue
Block a user