mirror of
https://github.com/langchain-ai/docs.git
synced 2026-08-27 02:41:59 -04:00
37 lines
887 B
Plaintext
37 lines
887 B
Plaintext
```python
|
|
from dataclasses import dataclass
|
|
from typing import Callable
|
|
|
|
from langchain.agents.middleware import ModelRequest, ModelResponse, wrap_model_call
|
|
from langchain.chat_models import init_chat_model
|
|
from deepagents import create_deep_agent
|
|
|
|
|
|
@dataclass
|
|
class Context:
|
|
model: str
|
|
|
|
|
|
@wrap_model_call
|
|
def configurable_model(
|
|
request: ModelRequest,
|
|
handler: Callable[[ModelRequest], ModelResponse],
|
|
) -> ModelResponse:
|
|
model_name = request.runtime.context.model
|
|
model = init_chat_model(model_name)
|
|
return handler(request.override(model=model))
|
|
|
|
|
|
agent = create_deep_agent(
|
|
model="google_genai:gemini-3.6-flash",
|
|
middleware=[configurable_model],
|
|
context_schema=Context,
|
|
)
|
|
|
|
# Invoke with the user's model selection
|
|
result = agent.invoke(
|
|
{"messages": [{"role": "user", "content": "Hello!"}]},
|
|
context=Context(model="openai:gpt-5.5"),
|
|
)
|
|
```
|