Skip to main content
Open In ColabOpen on GitHub

Bedrock

注意

您当前所在的页面记录了如何将Amazon Bedrock模型用作文本补全模型。Bedrock上许多流行的模型都是聊天补全模型

您可能正在寻找这个页面

Amazon Bedrock 是一项完全托管的服务,通过单一 API 提供来自领先人工智能公司(如 AI21 LabsAnthropicCohereMetaStability AIAmazon)的高性能基础模型(FMs)选择,并提供构建具备安全性、隐私性和负责任人工智能的生成式 AI 应用所需的广泛功能。使用 Amazon Bedrock,您可以轻松针对您的用例试验和评估顶级基础模型,利用微调和 Retrieval Augmented GenerationRAG)等技术使用您的数据对其进行私有化定制,并构建能够利用您的企业系统和数据源执行任务的智能体。由于 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 的护栏功能目前处于预览阶段,尚未全面推出。如果您希望使用此功能,请通过您常用的 AWS 支持渠道联系我们。 在本节中,我们将设置一个具备特定护栏功能(包含追踪能力)的 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()],
)