아마존 암반

Amazon Bedrock은 AWS를 통해 기본 모델에 대한 관리되는 유추를 제공합니다. 에이전트 프레임워크는 표준 에이전트, 세션, 미들웨어 및 도구 API를 유지하면서 Bedrock IChatClient 을 래핑하거나 Python BedrockChatClient 사용할 수 있습니다.

Important

아마존 베드록은 타사 시스템입니다. 애플리케이션 데이터를 보내기 전에 AWS 서비스 약관, 데이터 처리, 지역 가용성, 모델 액세스 및 사용 비용을 검토합니다.

패키지 설치

dotnet add package AWSSDK.Extensions.Bedrock.MEAI
dotnet add package Microsoft.Agents.AI --prerelease

Configuration

AWS_REGION="us-east-1"
BEDROCK_MODEL_ID="anthropic.claude-3-5-sonnet-20241022-v2:0"

인증은 환경 변수, 공유 프로필, 워크로드 ID 및 IAM 역할을 비롯한 표준 AWS 자격 증명 체인을 사용합니다.

AWS Bedrock 런타임 클라이언트를 만들고 변환한 IChatClient다음 에이전트 프레임워크 에이전트를 만듭니다.

var awsRegion = Environment.GetEnvironmentVariable("AWS_REGION") ?? "us-east-1";
var modelId = Environment.GetEnvironmentVariable("BEDROCK_MODEL_ID") ?? "anthropic.claude-3-5-sonnet-20241022-v2:0";
// Create the Bedrock runtime client.
var bedrockRuntime = new AmazonBedrockRuntimeClient(RegionEndpoint.GetBySystemName(awsRegion));
IChatClient chatClient = bedrockRuntime.AsIChatClient(modelId);
AIAgent agent = chatClient.AsAIAgent(
    instructions: "You are a helpful assistant.",
    name: "BedrockAgent");

AWS 자격 증명은 표준 AWS 자격 증명 체인을 따릅니다. 애플리케이션에 필요한 Bedrock 모델 작업만 부여합니다.

패키지 설치

pip install agent-framework-bedrock --pre

Configuration

BEDROCK_REGION="us-east-1"
BEDROCK_CHAT_MODEL="anthropic.claude-3-5-sonnet-20241022-v2:0"
AWS_ACCESS_KEY_ID="<access-key>"
AWS_SECRET_ACCESS_KEY="<secret-key>"
# Optional temporary credentials:
AWS_SESSION_TOKEN="<session-token>"
# Optional shared profile:
AWS_PROFILE="<profile>"

BedrockChatClient 는 설정 또는 명시적 생성자 값에서 모델, 지역 및 AWS 자격 증명을 읽습니다.

async def main() -> None:
    """Run a Bedrock-backed agent with one tool call."""
    # 1. Create an agent with Bedrock chat client and one tool.
    agent = Agent(
        client=BedrockChatClient(),
        instructions="You are a concise travel assistant.",
        name="BedrockWeatherAgent",
        tools=[get_weather],
        default_options=BedrockChatOptions(tool_choice="auto"),
    )

    # 2. Run a query that uses the weather tool.
    query = "Use the weather tool to check the forecast for New York."
    print(f"User: {query}")
    response = await agent.run(query)
    print(f"Assistant: {response.text}")

Bedrock 관련 요청 옵션 및 BedrockGuardrailConfig 배포에서 Bedrock 가드레일을 사용하는 경우에 사용합니다BedrockChatOptions.

임베딩 생성

BedrockEmbeddingClient 는 Amazon Titan 포함 모델을 포함하는 포함을 생성합니다. 구성 BEDROCK_EMBEDDING_MODELBEDROCK_REGION다음, 동일한 AWS 자격 증명 체인 BedrockChatClient을 사용합니다.

실행 가능한 에이전트 프레임워크 포함 샘플은 현재 이 클라이언트에 대해 게시되지 않습니다.

비고

Amazon Bedrock 통합은 현재 에이전트 프레임워크 Go에서 사용할 수 없습니다. 최신 상태는 에이전트 프레임워크 Go 리포지토리 를 참조하세요.

Tools

Bedrock은 로컬로 호출된 에이전트 프레임워크 도구를 지원하지만 공급자 호스팅 도구 팩터리를 노출하지는 않습니다.

Tool C# Python Notes
함수 도구 모델 지원은 선택한 Bedrock 모델에 따라 다릅니다.
도구 승인 에이전트 프레임워크 함수 호출 루프에 의해 적용됩니다.
코드 해석기 Bedrock 호스팅 코드 인터프리터 통합이 없습니다.
파일 검색 Bedrock 호스팅 파일 검색 통합이 없습니다.
웹 검색 Bedrock 호스팅 웹 검색 통합이 없습니다.
호스트된 MCP 도구 Bedrock 호스팅 MCP 통합이 없습니다.
로컬 MCP 도구 애플리케이션 프로세스에서 실행됩니다.

다음 단계