跳到主要内容

Bedrock

您目前所在的页面记录了将 Amazon Bedrock 模型用作文本补全模型。Bedrock 上许多流行的模型都是聊天补全模型您可能正在寻找此页面
Amazon Bedrock 是一项完全托管的服务,通过 API 提供来自领先 AI 初创公司和亚马逊的基础模型(FM)。您可以从广泛的 FM 中选择最适合您用例的模型。
这将帮助您开始使用 LangChain 的 Bedrock 补全模型(LLM)。有关 Bedrock 功能和配置选项的详细文档,请参阅API 参考

概览

集成详情

类别本地可序列化PY 支持下载量版本
Bedrock@langchain/communityNPM - DownloadsNPM - Version

设置

要访问 Bedrock 模型,您需要创建一个 AWS 账户,获取 API 密钥,并安装 @langchain/community 集成以及一些对等依赖项。

凭据

前往aws.amazon.com 注册 AWS Bedrock 并生成 API 密钥。完成后,设置环境变量。
export BEDROCK_AWS_REGION="your-region-url"
export BEDROCK_AWS_ACCESS_KEY_ID="your-access-key-id"
export BEDROCK_AWS_SECRET_ACCESS_KEY="your-secret-access-key"
如果您想获取模型调用的自动化跟踪,您还可以通过取消注释下方来设置您的 LangSmith API 密钥
# export LANGSMITH_TRACING="true"
# export LANGSMITH_API_KEY="your-api-key"

安装

LangChain Bedrock 集成位于 @langchain/community 包中。
npm install @langchain/community @langchain/core
并安装对等依赖项
npm install @aws-crypto/sha256-js @aws-sdk/credential-provider-node @smithy/protocol-http @smithy/signature-v4 @smithy/eventstream-codec @smithy/util-utf8 @aws-sdk/types
您也可以在 Edge 函数或 Cloudflare Workers 等 Web 环境中使用 Bedrock,方法是省略 @aws-sdk/credential-provider-node 依赖项并使用 web 入口点。
npm install @aws-crypto/sha256-js @smithy/protocol-http @smithy/signature-v4 @smithy/eventstream-codec @smithy/util-utf8 @aws-sdk/types
并安装对等依赖项
npm install @aws-crypto/sha256-js @aws-sdk/credential-provider-node @smithy/protocol-http @smithy/signature-v4 @smithy/eventstream-codec @smithy/util-utf8 @aws-sdk/types
您也可以在 Edge 函数或 Cloudflare Workers 等 Web 环境中使用 Bedrock,方法是省略 @aws-sdk/credential-provider-node 依赖项并使用 web 入口点。
npm install @aws-crypto/sha256-js @smithy/protocol-http @smithy/signature-v4 @smithy/eventstream-codec @smithy/util-utf8 @aws-sdk/types
并安装对等依赖项
npm install @aws-crypto/sha256-js @aws-sdk/credential-provider-node @smithy/protocol-http @smithy/signature-v4 @smithy/eventstream-codec @smithy/util-utf8 @aws-sdk/types
您也可以在 Edge 函数或 Cloudflare Workers 等 Web 环境中使用 Bedrock,方法是省略 @aws-sdk/credential-provider-node 依赖项并使用 web 入口点。
npm install @aws-crypto/sha256-js @smithy/protocol-http @smithy/signature-v4 @smithy/eventstream-codec @smithy/util-utf8 @aws-sdk/types

实例化

现在我们可以实例化我们的模型对象并生成聊天完成
// @lc-docs-hide-cell
// Deno requires these imports, and way of loading env vars.
// we don't want to expose in the docs.
// Below this cell we have a typescript markdown codeblock with
// the node code.
import "@aws-sdk/credential-provider-node";
import "@smithy/protocol-http";
import "@aws-crypto/sha256-js";
import "@smithy/protocol-http";
import "@smithy/signature-v4";
import "@smithy/eventstream-codec";
import "@smithy/util-utf8";
import "@aws-sdk/types";
import { Bedrock } from "@langchain/community/llms/bedrock"
import { getEnvironmentVariable } from "@langchain/core/utils/env";

const llm = new Bedrock({
  model: "anthropic.claude-v2",
  region: "us-east-1",
  // endpointUrl: "custom.amazonaws.com",
  credentials: {
    accessKeyId: getEnvironmentVariable("BEDROCK_AWS_ACCESS_KEY_ID"),
    secretAccessKey: getEnvironmentVariable("BEDROCK_AWS_SECRET_ACCESS_KEY"),
  },
  temperature: 0,
  maxTokens: undefined,
  maxRetries: 2,
  // other params...
})
import { Bedrock } from "@langchain/community/llms/bedrock"

const llm = new Bedrock({
  model: "anthropic.claude-v2",
  region: process.env.BEDROCK_AWS_REGION ?? "us-east-1",
  // endpointUrl: "custom.amazonaws.com",
  credentials: {
    accessKeyId: process.env.BEDROCK_AWS_ACCESS_KEY_ID,
    secretAccessKey: process.env.BEDROCK_AWS_SECRET_ACCESS_KEY,
  },
  temperature: 0,
  maxTokens: undefined,
  maxRetries: 2,
  // other params...
})

调用

请注意,某些模型需要特定的提示技术。例如,Anthropic 的 Claude-v2 模型如果提示不以 Human: 开头,则会抛出错误。
const inputText = "Human: Bedrock is an AI company that\nAssistant: "

const completion = await llm.invoke(inputText)
completion
" Here are a few key points about Bedrock AI:\n" +
  "\n" +
  "- Bedrock was founded in 2021 and is based in San Fran"... 116 more characters

API 参考

有关所有 Bedrock 功能和配置的详细文档,请参阅API 参考
以编程方式连接这些文档到 Claude、VSCode 等,通过 MCP 获取实时答案。
© . This site is unofficial and not affiliated with LangChain, Inc.