Merge pull request #379 from yang1002378395-cmyk/fix-ssl-http-client-support
fix: add http_client support for SSL certificate customization
This commit is contained in:
commit
f362a160c3
|
|
@ -16,7 +16,7 @@ class AnthropicClient(BaseLLMClient):
|
||||||
"""Return configured ChatAnthropic instance."""
|
"""Return configured ChatAnthropic instance."""
|
||||||
llm_kwargs = {"model": self.model}
|
llm_kwargs = {"model": self.model}
|
||||||
|
|
||||||
for key in ("timeout", "max_retries", "api_key", "max_tokens", "callbacks"):
|
for key in ("timeout", "max_retries", "api_key", "max_tokens", "callbacks", "http_client", "http_async_client"):
|
||||||
if key in self.kwargs:
|
if key in self.kwargs:
|
||||||
llm_kwargs[key] = self.kwargs[key]
|
llm_kwargs[key] = self.kwargs[key]
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -19,6 +19,12 @@ def create_llm_client(
|
||||||
model: Model name/identifier
|
model: Model name/identifier
|
||||||
base_url: Optional base URL for API endpoint
|
base_url: Optional base URL for API endpoint
|
||||||
**kwargs: Additional provider-specific arguments
|
**kwargs: Additional provider-specific arguments
|
||||||
|
- http_client: Custom httpx.Client for SSL proxy or certificate customization
|
||||||
|
- http_async_client: Custom httpx.AsyncClient for async operations
|
||||||
|
- timeout: Request timeout in seconds
|
||||||
|
- max_retries: Maximum retry attempts
|
||||||
|
- api_key: API key for the provider
|
||||||
|
- callbacks: LangChain callbacks
|
||||||
|
|
||||||
Returns:
|
Returns:
|
||||||
Configured BaseLLMClient instance
|
Configured BaseLLMClient instance
|
||||||
|
|
|
||||||
|
|
@ -38,7 +38,7 @@ class GoogleClient(BaseLLMClient):
|
||||||
"""Return configured ChatGoogleGenerativeAI instance."""
|
"""Return configured ChatGoogleGenerativeAI instance."""
|
||||||
llm_kwargs = {"model": self.model}
|
llm_kwargs = {"model": self.model}
|
||||||
|
|
||||||
for key in ("timeout", "max_retries", "google_api_key", "callbacks"):
|
for key in ("timeout", "max_retries", "google_api_key", "callbacks", "http_client", "http_async_client"):
|
||||||
if key in self.kwargs:
|
if key in self.kwargs:
|
||||||
llm_kwargs[key] = self.kwargs[key]
|
llm_kwargs[key] = self.kwargs[key]
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -59,7 +59,7 @@ class OpenAIClient(BaseLLMClient):
|
||||||
elif self.base_url:
|
elif self.base_url:
|
||||||
llm_kwargs["base_url"] = self.base_url
|
llm_kwargs["base_url"] = self.base_url
|
||||||
|
|
||||||
for key in ("timeout", "max_retries", "reasoning_effort", "api_key", "callbacks"):
|
for key in ("timeout", "max_retries", "reasoning_effort", "api_key", "callbacks", "http_client", "http_async_client"):
|
||||||
if key in self.kwargs:
|
if key in self.kwargs:
|
||||||
llm_kwargs[key] = self.kwargs[key]
|
llm_kwargs[key] = self.kwargs[key]
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue