Проблема
Пытаюсь запустить решение на Google ADK, использующее VertexAI и одну из моделей Claude, за HTTP прокси-сервером. Вызов идет мимо прокси, что приводит к ошибке, хотя прокси прописан в переменной окружения HTTPS_PROXY.
Решение
Вручную расширить класс ADK-модели Claude, добавив поддержку прокси:
from google.adk.agents import Agentfrom google.adk.models.anthropic_llm import Claudefrom google.adk.models.registry import LLMRegistryfrom anthropic import AnthropicVertexfrom functools import cached_propertyimport osimport httpxclass ClaudeWithProxySupport(Claude):@cached_propertydef _anthropic_client(self) -> AnthropicVertex:proxy = os.getenv("HTTPS_PROXY")if not proxy:return super()._anthropic_clientif ("GOOGLE_CLOUD_PROJECT" not in os.environor "GOOGLE_CLOUD_LOCATION" not in os.environ):raise ValueError("GOOGLE_CLOUD_PROJECT and GOOGLE_CLOUD_LOCATION must be set ""for using Anthropic on Vertex.")return AnthropicVertex(project_id=os.environ["GOOGLE_CLOUD_PROJECT"],region=os.environ["GOOGLE_CLOUD_LOCATION"],http_client=httpx.Client(proxy=proxy),)# Register the custom modelLLMRegistry.register(ClaudeWithProxySupport)
Комментариев нет:
Отправить комментарий