Skip to content

Commit d3d5ac1

Browse files
Set the default provider for OpenHandsAdapter LLMs (#355)
use openai as the default provider
1 parent a79caec commit d3d5ac1

1 file changed

Lines changed: 5 additions & 4 deletions

File tree

lagent/adapters/openhands.py

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,6 @@
3838
from typing import Any, Dict, List, Optional
3939

4040
from lagent.utils import get_logger
41-
4241
from .base import AsyncExternalAgent
4342

4443
logger = get_logger(__name__, 'info')
@@ -68,8 +67,7 @@ class OpenHandsAdapter(AsyncExternalAgent):
6867
plays nicely inside an async event loop (and alongside the proxy server).
6968
7069
Args:
71-
model: LiteLLM model string (``provider/model``). Default:
72-
``$LLM_MODEL`` or ``"anthropic/claude-sonnet-4-5-20250929"``.
70+
model: LiteLLM model string (``provider/model``). Default: ``$LLM_MODEL``.
7371
api_key: LLM API key. Default: ``$LLM_API_KEY``. Ignored when a
7472
``proxy`` is attached (the session key is injected instead).
7573
base_url: Custom LLM base URL. Default: ``$LLM_BASE_URL``. Ignored
@@ -125,7 +123,10 @@ def __init__(
125123
kwargs.setdefault('description', 'OpenHands software agent')
126124
super().__init__(**kwargs)
127125

128-
self.model = model or os.getenv('LLM_MODEL', 'anthropic/claude-sonnet-4-5-20250929')
126+
self.model = model or os.getenv('LLM_MODEL')
127+
if isinstance(self.model, str) and not self.model.startswith(('openai/', 'anthropic/')):
128+
logger.info(f"Model {self.model!r} missing provider prefix, assuming OpenAI")
129+
self.model = f"openai/{self.model}"
129130
self.api_key = api_key or os.getenv('LLM_API_KEY')
130131
self.base_url = base_url or os.getenv('LLM_BASE_URL')
131132
self.tools = _DEFAULT_TOOLS if tools is None else tools

0 commit comments

Comments
 (0)