跳至主要内容

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 @langchain/core

并安装对等依赖项

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 上留下详细的反馈 在 GitHub 上.