Skip to main content
Open In Colab在 GitHub 上打开

Bedrock

谨慎

您当前正在访问一个页面,其中记录了如何将 Amazon Bedrock 模型用作文本完成模型。Bedrock 上提供的许多流行模型都是聊天完成模型

您可能正在寻找此页面

Amazon Bedrock 是一项完全托管的服务,提供 来自领先 AI 公司的高性能基础模型 (FM),例如AI21 Labs,Anthropic,Cohere,Meta,Stability AIAmazon通过单个 API,以及您需要的一系列广泛功能 构建具有安全性、隐私性和负责任的 AI 的生成式 AI 应用程序。用Amazon Bedrock, 您可以轻松地针对您的用例试验和评估顶级 FM,并使用 您的数据使用微调和Retrieval Augmented Generation (RAG) 并构建 使用您的企业系统和数据源执行任务的代理。因为Amazon Bedrock是 无服务器,您不必管理任何基础设施,并且可以安全地集成和部署 使用您已经熟悉的 AWS 服务将生成式 AI 功能集成到您的应用程序中。

%pip install --upgrade --quiet langchain_aws
from langchain_aws import BedrockLLM

llm = BedrockLLM(
credentials_profile_name="bedrock-admin", model_id="amazon.titan-text-express-v1"
)
API 参考:BedrockLLM

自定义模型

custom_llm = BedrockLLM(
credentials_profile_name="bedrock-admin",
provider="cohere",
model_id="<Custom model ARN>", # ARN like 'arn:aws:bedrock:...' obtained via provisioning the custom model
model_kwargs={"temperature": 1},
streaming=True,
)

custom_llm.invoke(input="What is the recipe of mayonnaise?")

Amazon Bedrock 的护栏

Amazon Bedrock 的防护机制根据特定于使用案例的策略评估用户输入和模型响应,并提供额外的保护层,而不管底层模型如何。护栏可以应用于各种模型,包括 Anthropic Claude、Meta Llama 2、Cohere Command、AI21 Labs Jurassic 和 Amazon Titan Text,以及微调的模型。注意:适用于 Amazon Bedrock 的 Guardrails 目前处于预览阶段,尚未全面推出。如果您想使用此功能,请通过您常用的 AWS Support 联系人联系。 在本节中,我们将设置一个 Bedrock 语言模型,该模型具有包含跟踪功能的特定护栏。

from typing import Any

from langchain_core.callbacks import AsyncCallbackHandler


class BedrockAsyncCallbackHandler(AsyncCallbackHandler):
# Async callback handler that can be used to handle callbacks from langchain.

async def on_llm_error(self, error: BaseException, **kwargs: Any) -> Any:
reason = kwargs.get("reason")
if reason == "GUARDRAIL_INTERVENED":
print(f"Guardrails: {kwargs}")


# Guardrails for Amazon Bedrock with trace
llm = BedrockLLM(
credentials_profile_name="bedrock-admin",
model_id="<Model_ID>",
model_kwargs={},
guardrails={"id": "<Guardrail_ID>", "version": "<Version>", "trace": True},
callbacks=[BedrockAsyncCallbackHandler()],
)