Respect Anthropic proxy base URL

This commit is contained in:
Zhengda Lu 2026-03-22 17:52:18 -04:00
parent 0b13145dc0
commit 1835313207
No known key found for this signature in database
1 changed files with 10 additions and 0 deletions

View File

@ -1,3 +1,4 @@
import os
from typing import Any, Optional
from langchain_anthropic import ChatAnthropic
@ -9,6 +10,8 @@ from .validators import validate_model
class AnthropicClient(BaseLLMClient):
"""Client for Anthropic Claude models."""
_DEFAULT_API_URL = "https://api.anthropic.com"
def __init__(self, model: str, base_url: Optional[str] = None, **kwargs):
super().__init__(model, base_url, **kwargs)
@ -16,6 +19,13 @@ class AnthropicClient(BaseLLMClient):
"""Return configured ChatAnthropic instance."""
llm_kwargs = {"model": self.model}
env_base_url = os.getenv("ANTHROPIC_BASE_URL")
if self.base_url and not (
env_base_url
and self.base_url.rstrip("/") == self._DEFAULT_API_URL
):
llm_kwargs["anthropic_api_url"] = self.base_url
for key in ("timeout", "max_retries", "api_key", "max_tokens", "callbacks", "http_client", "http_async_client"):
if key in self.kwargs:
llm_kwargs[key] = self.kwargs[key]