Skip to main content
Amazon Bedrock Converse 是一项全托管服务,通过 API 提供来自领先 AI 初创公司和亚马逊的基础模型(FMs)。您可以从广泛的 FMs 中选择最适合您用例的模型。它为 Bedrock 模型提供了统一的对话接口,但尚未完全支持旧版 Bedrock 模型服务 中的所有功能。 本文将帮助您开始使用 ChatBedrockConverse 聊天模型。有关 ChatBedrockConverse 所有功能和配置的详细文档,请参阅 API 参考

概述

集成详情

可序列化Python 支持下载量版本
ChatBedrockConverse@langchain/awsNPM - DownloadsNPM - Version

模型功能

下表标题中的链接提供了如何使用特定功能的指南。

设置

要访问 Bedrock 模型,您需要创建一个 AWS 账户,设置 Bedrock API 服务,获取访问密钥 ID 和秘密密钥,并安装 @langchain/community 集成包。

凭证

请前往 AWS 文档 注册 AWS 并设置您的凭证。您还需要为您的账户启用模型访问权限,可以 按照这些说明 进行操作。 如果您希望自动追踪模型调用,还可以通过取消注释以下内容来设置您的 LangSmith API 密钥:
# export LANGSMITH_TRACING="true"
# export LANGSMITH_API_KEY="your-api-key"

安装

LangChain 的 ChatBedrockConverse 集成位于 @langchain/aws 包中:
npm install @langchain/aws @langchain/core

实例化

现在我们可以实例化模型对象并生成聊天补全。 有几种不同的方式可以通过 AWS 进行身份验证——以下示例依赖于在环境变量中设置的访问密钥、秘密访问密钥和区域:
import { ChatBedrockConverse } from "@langchain/aws";

const llm = new ChatBedrockConverse({
  model: "anthropic.claude-3-5-sonnet-20240620-v1:0",
  region: process.env.BEDROCK_AWS_REGION,
  credentials: {
    accessKeyId: process.env.BEDROCK_AWS_ACCESS_KEY_ID!,
    secretAccessKey: process.env.BEDROCK_AWS_SECRET_ACCESS_KEY!,
  },
});

调用

const aiMsg = await llm.invoke([
  [
    "system",
    "You are a helpful assistant that translates English to French. Translate the user sentence.",
  ],
  ["human", "I love programming."],
])
aiMsg
AIMessage {
  "id": "f5dc5791-224e-4fe5-ba2e-4cc51d9e7795",
  "content": "J'adore la programmation.",
  "additional_kwargs": {},
  "response_metadata": {
    "$metadata": {
      "httpStatusCode": 200,
      "requestId": "f5dc5791-224e-4fe5-ba2e-4cc51d9e7795",
      "attempts": 1,
      "totalRetryDelay": 0
    },
    "metrics": {
      "latencyMs": 584
    },
    "stopReason": "end_turn",
    "usage": {
      "inputTokens": 29,
      "outputTokens": 11,
      "totalTokens": 40
    }
  },
  "tool_calls": [],
  "invalid_tool_calls": [],
  "usage_metadata": {
    "input_tokens": 29,
    "output_tokens": 11,
    "total_tokens": 40
  }
}
console.log(aiMsg.content)
J'adore la programmation.

工具调用

Bedrock 模型的工具调用方式与 其他模型 类似,但请注意并非所有 Bedrock 模型都支持工具调用。请参阅 AWS 模型文档 了解更多信息。

API 参考

有关 ChatBedrockConverse 所有功能和配置的详细文档,请参阅 API 参考