import boto3
import json
import requests
# 1. Make the Bedrock call
client = boto3.client("bedrock-runtime", region_name="us-east-1")
response = client.invoke_model(
modelId="anthropic.claude-3-sonnet-20240229-v1:0",
body=json.dumps({
"anthropic_version": "bedrock-2023-05-31",
"max_tokens": 1024,
"messages": [{"role": "user", "content": "Hello!"}]
})
)
result = json.loads(response["body"].read())
assistant_message = result["content"][0]["text"]
# 2. Send to Moda
requests.post(
"https://moda-ingest.modas.workers.dev/v1/ingest",
headers={
"Authorization": "Bearer YOUR_MODA_API_KEY",
"Content-Type": "application/json"
},
json={
"events": [
{
"conversation_id": "session-123",
"role": "user",
"message": "Hello!"
},
{
"conversation_id": "session-123",
"role": "assistant",
"message": assistant_message,
"model": "anthropic.claude-3-sonnet-20240229-v1:0",
"provider": "bedrock",
"input_tokens": result.get("usage", {}).get("input_tokens"),
"output_tokens": result.get("usage", {}).get("output_tokens")
}
]
}
)