langchain_community.llms.bedrock.BedrockBase

class langchain_community.llms.bedrock.BedrockBase[source]

Bases: BaseModel, ABC

Bedrock模型的基础类。

通过解析和验证关键字参数传入的数据来创建一个新的模型。

如果输入数据无法解析成有效的模型,将引发ValidationError异常。

参数 config: Any = None

一个可选的botocore.config.Config实例,用于传递给客户端。

参数 credentials_profile_name: Optional[str] = None

在~/.aws/credentials或~/.aws/config文件中的配置文件名,该文件中指定了访问密钥或角色信息。如果未指定,将使用默认的凭证配置文件,或者在EC2实例上使用IMDS中的凭证。请参阅:[https://boto3.amazonaws.com/v1/documentation/api/latest/guide/credentials.html](https://boto3.amazonaws.com/v1/documentation/api/latest/guide/credentials.html)

参数 endpoint_url: Optional[str] = None

如果您不想默认使用us-east-1端点,则需要该项。

参数 guardrails: Optional[Mapping[str, Any]] = {'id': None, 'trace': False, 'version': None}}

一个用于配置Bedrock守卫线的可选字典。

此字段“guardrails”包含两个键:“id”和“version”,它们应该是字符串,但初始值设置为None。它用于确定是否启用了特定的守卫线以及是否正确设置了。

类型

Optional[Mapping[str, str]]:包含“id”和“version”键的映射。

示例:llm = Bedrock(model_id="<model_id>", client=<bedrock_client>,

model_kwargs={}, guardrails={

“id”: “<guardrail_id>”, “version”: “<guardrail_version>”})

要启用守卫线的跟踪,将“trace”键设置为True并向“generate”和“_call”方法的“run_manager”参数传递一个回调处理程序。

示例:llm = Bedrock(model_id="<model_id>", client=<bedrock_client>,

model_kwargs={}, guardrails={

“id”: “<guardrail_id>”, “version”: “<guardrail_version>”, “trace”: True},

callbacks=[BedrockAsyncCallbackHandler()])

有关回调处理程序的信息,请参阅:[https://python.langchain.ac.cn/docs/modules/callbacks/](https://python.langchain.ac.cn/docs/modules/callbacks/)

class BedrockAsyncCallbackHandler(AsyncCallbackHandler)
async def on_llm_error(

self, error: BaseException, **kwargs: Any,

) -> Any

reason = kwargs.get(“reason”) if reason == “GUARDRAIL_INTERVENED”

…处理守卫线干预的逻辑…

参数 model_id: str [必需]

要调用的模型的 ID,例如,amazon.titan-text-express-v1,这等价于 list-foundation-models api 中的 modelId 属性。对于自定义和预配的模型,需要 ARN 值。

参数 model_kwargs: 可选[Dict] = None

传递给模型的键值参数。

参数 provider: 可选[str] = None

模型提供商,例如,amazon, cohere, ai21 等。如果不提供,将从模型 ID 的开头上提取提供者,例如在 ‘amazon.titan-text-express-v1’ 中为 ‘amazon’。对于没有提供提供者的模型 ID,例如与此关联有 ARN 的自定义和预配模型,应提供此值。

参数 provider_stop_sequence_key_name_map: 映射[str, str] = {'ai21': 'stop_sequences', 'amazon': 'stopSequences', 'anthropic': 'stop_sequences', 'cohere': 'stop_sequences', 'mistral': 'stop'}
参数 region_name: 可选[str] = None

AWS 区域,例如 us-west-2。如果未在此提供,将回退到 AWS_DEFAULT_REGION 环境变量或 ~/.aws/config 中指定的区域。

参数 streaming: bool = False

是否流式传输结果。