跳至主要内容

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 LANGCHAIN_TRACING_V2="true"
# export LANGCHAIN_API_KEY="your-api-key"

安装

LangChain Bedrock 集成位于 @langchain/community 包中

yarn add @langchain/community

并安装对等依赖项

yarn add @aws-crypto/sha256-js @aws-sdk/credential-provider-node @smithy/protocol-http @smithy/signature-v4 @smithy/eventstream-codec @smithy/util-utf8 @aws-sdk/types

您还可以通过省略 @aws-sdk/credential-provider-node 依赖项并使用 web 入口点,在 Edge 函数或 Cloudflare Workers 等 Web 环境中使用 Bedrock

yarn add @aws-crypto/sha256-js @smithy/protocol-http @smithy/signature-v4 @smithy/eventstream-codec @smithy/util-utf8 @aws-sdk/types

实例化

现在我们可以实例化模型对象并生成聊天补全

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

链式操作

我们可以链式操作 我们的补全模型,并使用以下提示模板

import { PromptTemplate } from "@langchain/core/prompts";

const prompt = PromptTemplate.fromTemplate(
"Human: How to say {input} in {output_language}:\nAssistant:"
);

const chain = prompt.pipe(llm);
await chain.invoke({
output_language: "German",
input: "I love programming.",
});
' Here is how to say "I love programming" in German:\n' +
"\n" +
"Ich liebe das Programmieren."

API 参考

有关所有 Bedrock 功能和配置的详细文档,请前往 API 参考:https://api.js.langchain.com/classes/langchain_community_llms_bedrock.Bedrock.html


本页面对您有帮助吗?


您也可以留下详细的反馈 在 GitHub 上.