You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何通过Ruby调用AWS Bedrock模型?官方文档理解遇阻

使用AWS Ruby SDK调用AWS Bedrock模型的实现步骤

1. 准备工作

  • 安装AWS Bedrock Runtime SDK:
    在Gemfile中添加依赖后执行bundle install,或直接安装gem:
    gem install aws-sdk-bedrockruntime
    
  • 配置AWS凭证:
    通过环境变量AWS_ACCESS_KEY_ID、AWS_SECRET_ACCESS_KEY和AWS_REGION设置,或通过~/.aws/credentials文件配置,确保凭证拥有bedrock:InvokeModel权限。

2. 调用Bedrock模型示例

示例1:调用Anthropic Claude 3模型

require "aws-sdk-bedrockruntime"
require "json"

# 初始化客户端(替换为你使用的区域)
client = Aws::BedrockRuntime::Client.new(region: "us-east-1")

# 指定模型ID和提示词
model_id = "anthropic.claude-3-sonnet-20240229-v1:0"
prompt = "请解释AWS Bedrock的核心优势"

# 构造符合Claude 3要求的请求体
request_body = {
  max_tokens: 1000,
  messages: [
    {
      role: "user",
      content: [{ type: "text", text: prompt }]
    }
  ]
}.to_json

# 发送调用请求
response = client.invoke_model(
  model_id: model_id,
  body: request_body,
  content_type: "application/json",
  accept: "application/json"
)

# 解析并输出响应结果
response_body = JSON.parse(response.body.read)
puts response_body["content"][0]["text"]

示例2:调用Meta Llama 2模型

require "aws-sdk-bedrockruntime"
require "json"

client = Aws::BedrockRuntime::Client.new(region: "us-east-1")

model_id = "meta.llama2-70b-chat-v1"
prompt = "<s>[INST] 请介绍Ruby语言的核心特点 [/INST]"

# 构造Llama 2要求的请求体
request_body = {
  prompt: prompt,
  max_gen_len: 512,
  temperature: 0.7
}.to_json

response = client.invoke_model(
  model_id: model_id,
  body: request_body,
  content_type: "application/json",
  accept: "application/json"
)

response_body = JSON.parse(response.body.read)
puts response_body["generation"]

关键注意事项

  • 不同模型的请求/响应格式差异较大,需参考Bedrock控制台对应模型的官方文档调整请求体结构。
  • 确保使用的AWS区域支持目标模型,部分模型仅在特定区域可用。
  • IAM权限需包含bedrock:InvokeModel,可通过自定义IAM策略授予该权限。

内容的提问来源于stack exchange,提问作者weilandia

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.04 01:23:20