AWS Bedrock 接⼊⼿册

一、⼿册说明
该⼿册是为⽅便⽤户快速接⼊ AWS Bedrock 调⽤模型⽽编写。
⽂档中的接⼊示例暂时仅提供 Python 语⾔版本,后续会陆续更新其他语⾔的版本示例。
⽂档会提供快速验证⽅式和⽣产推荐⽅式,⽤户可⾃⾏选择。
二、调⽤示例
2.0 前置准备

  1. 安装依赖
  2. 权限要求
    IAM ⽤户或⻆⾊需具备⾜够权限访问 Bedrock
    我⽅在提供账号时已完成权限分配
    2.1 快速验证
    说明:该版本中 AK/SK 直接写在脚本中,不推荐⽣产环境使⽤,仅⽤于⽤户本地快速验证。
    pip install boto3
    #!/usr/bin/env python3

-- coding: utf-8 --

“”"
AWS Bedrock 调⽤示例脚本
模型:Anthropic Claude
调⽤⽅式:使⽤ Inference Profile ARN
⚠ 注意:

  1. 本版本直接写⼊ AK/SK,仅⽤于测试
  2. ⽣产环境建议使⽤环境变量
    “”"
    import boto3
    import json
    from botocore.config import Config

=============================

配置区(⽤户需要修改)

=============================

AWS_ACCESS_KEY_ID = “填写你的AK”
AWS_SECRET_ACCESS_KEY = “填写你的SK”
AWS_REGION = “us-east-1”

可以填写:

1. 模型ID,如 anthropic.claude-3-sonnet-20240229-v1:0

2. 或 inference profile ARN

MODEL_ID = “arn:aws:bedrock:us-east-1:xxxxxxxxxxxx:application-inferenceprofile/
xxxxxxxxxxxx”

=============================

创建 Bedrock Runtime 客户端

=============================

bedrock = boto3.client(
service_name=“bedrock-runtime”,
region_name=AWS_REGION,
aws_access_key_id=AWS_ACCESS_KEY_ID,
aws_secret_access_key=AWS_SECRET_ACCESS_KEY,
config=Config(
retries={
“max_attempts”: 3,
“mode”: “standard”
}
)
)

=============================

构造请求体(Anthropic 格式)

=============================

request_body = {
“anthropic_version”: “bedrock-2023-05-31”,
“max_tokens”: 500,
“temperature”: 0.7,
“messages”: [
{
“role”: “user”,
“content”: [
2.2 ⽣产推荐
⽬的:
更安全
不暴漏 AK/SK
可⽤于服务器部署

  1. 设置环境变量
    Mac / Linux:
    Windows:
    {
    “type”: “text”,
    “text”: “你好”
    }
    ]
    }
    ]
    }
    try:
    print(“正在调⽤模型…”)
    response = bedrock.invoke_model(
    modelId=MODEL_ID,
    body=json.dumps(request_body),
    contentType=“application/json”,
    accept=“application/json”
    )
    response_body = json.loads(response[“body”].read())
    print(“\n模型返回结果:\n”)
    print(response_body[“content”][0][“text”])
    except Exception as e:
    print(f"调⽤失败: {e}")
    export AWS_ACCESS_KEY_ID=你的AK
    export AWS_SECRET_ACCESS_KEY=你的SK
    export AWS_REGION=你的region
    setx AWS_ACCESS_KEY_ID “你的AK”
    setx AWS_SECRET_ACCESS_KEY “你的SK”
    setx AWS_REGION “你的region”
  2. 完整脚本
    #!/usr/bin/env python3

-- coding: utf-8 --

“”"
AWS Bedrock 调⽤示例(推荐版本)
使⽤环境变量读取 AWS 凭证
“”"
import boto3
import json
import os

从环境变量读取

AWS_REGION = os.getenv(“AWS_REGION”, “us-east-1”)

可以填写:

1. 模型ID,如 anthropic.claude-3-sonnet-v1:0

2. 或 inference profile ARN

MODEL_ID = “arn:aws:bedrock:us-east-1:xxxxxxxxxxxx:application-inferenceprofile/
xxxxxxxxxxxx”

创建客户端(⾃动读取环境变量)

bedrock = boto3.client(
service_name=“bedrock-runtime”,
region_name=AWS_REGION
)
request_body = {
“anthropic_version”: “XXXXX”,
“max_tokens”: 500,
“temperature”: 0.7,
“messages”: [
{
“role”: “user”,
“content”: [
{
“type”: “text”,
“text”: “你好”
}
]
}
]
}
try:
print(“开始调⽤模型…”)
response = bedrock.invoke_model(
modelId=MODEL_ID,
body=json.dumps(request_body),
2.3 返回示例
执⾏脚本:
contentType=“application/json”,
accept=“application/json”
)
response_body = json.loads(response[“body”].read())
print(“\n模型输出:\n”)
print(response_body[“content”][0][“text”])
except Exception as e:
print(f"调⽤异常: {e}")

python test-Bedrock.py

正在调⽤模型…
模型返回结果:
你好!
我是 Claude,⼀个由 Anthropic 公司开发的 AI 助⼿。

我能做什么?

  • 对话交流 — 回答问题、聊天、提供建议
  • 写作帮助 — 写⽂章、邮件、故事、⽂案等
  • 分析思考 — 逻辑推理、数据分析、问题解决
  • 编程辅助 — 写代码、调试、解释技术概念
  • 学习辅导 — 解释复杂概念、帮助学习新知识
  • 多语⾔ — ⽀持中⽂、英⽂等多种语⾔

我的特点

  • 尽⼒提供准确、客观的信息
  • 知识有截⽌⽇期,不能浏览实时⽹络
  • 会坦诚说明不确定不知道的事情
  • 注重安全和道德原则

有什么我可以帮你的吗?

Logo

AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。

更多推荐