chore(langchain_v1): simplify on model call logic (#33358)
Moving from the generator pattern to the slightly less verbose (but explicit) handler pattern.
This will be more familiar to users
**Before (Generator Pattern):**
```python
def on_model_call(self, request, state, runtime):
try:
result = yield request
except Exception:
result = yield request # Retry
```
**After (Handler Pattern):**
```python
def on_model_call(self, request, state, runtime, handler):
try:
return handler(request)
except Exception:
return handler(request) # Retry
```