Google ADK "из коробки" не поддерживает работу с AWS Bedrock. Можно его подключить через LiteLLM, но это может быть сопряжено с трудностями, например, из-за конфликта версий зависимостей. Есть вариант проще - подключить зависимость anthropic[bedrock], после чего отнаследоваться от класса модели Claude, входящего в ADK и использующего VertexAI, заменив клиента на Bedrock-клиента. Dirty, но работает:
import os
import httpx
from functools import cached_property
from typing_extensions import override
from google.adk.models.anthropic_llm import Claude
from google.adk.models.registry import LLMRegistry
from anthropic import AnthropicBedrock
class ClaudeOnBedrock(Claude):
@staticmethod
@override
def supported_models() -> list[str]:
return [r".*anthropic.claude-3-.*", r".*anthropic.claude-.*-4.*"]
@override
@cached_property
def _anthropic_client(self) -> AnthropicBedrock:
proxy = os.getenv("HTTPS_PROXY")
if proxy:
return AnthropicBedrock(http_client=httpx.Client(proxy=proxy),
aws_region="***")
return AnthropicBedrock(aws_region="***")
# Register the custom model
LLMRegistry.register(ClaudeOnBedrock)
Комментариев нет:
Отправить комментарий