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_MODEL 한 BEDROCK_REGION다음, 동일한 AWS 자격 증명 체인 BedrockChatClient을 사용합니다.
실행 가능한 에이전트 프레임워크 포함 샘플은 현재 이 클라이언트에 대해 게시되지 않습니다.
비고
Amazon Bedrock 통합은 현재 에이전트 프레임워크 Go에서 사용할 수 없습니다. 최신 상태는 에이전트 프레임워크 Go 리포지토리 를 참조하세요.
Tools
Bedrock은 로컬로 호출된 에이전트 프레임워크 도구를 지원하지만 공급자 호스팅 도구 팩터리를 노출하지는 않습니다.
| Tool | C# | Python | Notes |
|---|---|---|---|
| 함수 도구 | ✅ | ✅ | 모델 지원은 선택한 Bedrock 모델에 따라 다릅니다. |
| 도구 승인 | ✅ | ✅ | 에이전트 프레임워크 함수 호출 루프에 의해 적용됩니다. |
| 코드 해석기 | ❌ | ❌ | Bedrock 호스팅 코드 인터프리터 통합이 없습니다. |
| 파일 검색 | ❌ | ❌ | Bedrock 호스팅 파일 검색 통합이 없습니다. |
| 웹 검색 | ❌ | ❌ | Bedrock 호스팅 웹 검색 통합이 없습니다. |
| 호스트된 MCP 도구 | ❌ | ❌ | Bedrock 호스팅 MCP 통합이 없습니다. |
| 로컬 MCP 도구 | ✅ | ✅ | 애플리케이션 프로세스에서 실행됩니다. |