以编程方式使用文档

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

pip install -qU langchain-aws
from langchain_aws import BedrockLLM

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

自定义模型

custom_llm = BedrockLLM(
    credentials_profile_name="bedrock-admin",
    provider="cohere",
    model_id="",  # 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,以及微调后的模型。 在本节中,我们将设置一个具有特定防护栏(包括追踪功能)的 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_kwargs={},
    guardrails={"id": "", "version": "", "trace": True},
    callbacks=[BedrockAsyncCallbackHandler()],
)